16章データと格納場所:永続記憶
データもないのに理論を立てるのは致命的な誤りだ。
──アーサー・コナン・ドイル
実行中のプログラムは、RAM(ランダムアクセスメモリ)に格納されているデータにアクセスする。RAMは非常に高速だが、高価な上に常に電源を供給していなければならない。電源が失われると、RAMの中のデータはすべて失われてしまう。ディスクドライブはRAMよりも遅いが、容量が大きく、コストが抑えられ、誰かが間違えて電源コードを引っこ抜いてもデータは残る。そのため、コンピュータシステムでは、ディスクに保存するか、RAMに保存するか、最善のバランスを取るために多くの労力が費やされてきた。プログラマとしては、永続記憶が必要だ。ディスクなどの不揮発性媒体を使ってデータを読み書きできるようにしなければならない。
この章では、それぞれ異なる目的のために最適化されているさまざまなタイプのストレージを取り上げる。フラットファイル、構造化ファイル、データベースである。入出力以外のファイル操作は、14章で説明した。
レコードは、独立したフィールドに分かれた関連データをあつめたチャンクを指す用語である。
16.1 フラットテキストファイル
もっとも単純な永続記憶は、古くからあるフラットファイルである。データが非常に単純な構造で、全体をディスクとメモリの間でやり取りするだけなら、これで十分うまく機能する。プレーンなテキストデータは、この方法が適している場合がある。
16.2 パディングされたテキストファイル
この形式では、レコードの各フィールドは長さが決められていて、その長さに足りない部分はパディング(通常はスペース文字で)される。このようにして各行(レコード)は同じ長さになる。 ...
Get 入門 Python 3 第2版 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.