編集: ハードドライブが実際にデータを書き込む方法が原因で、このリストのスキームはどれも確実に機能しないことに注意してください。それらを使用しないでください。データベースを使用するだけです。SQLite はシンプルで優れています。
UTF-8 文字列のタプルをディスクに保存する最もローテクだが信頼できる方法は何ですか? 信頼性を確保するために、ストレージは追加専用にする必要があります。
私が実験しているドキュメント ストレージ システムの一部として、UTF-8 タプル データをディスクに保存する必要があります。明らかに、本格的な実装には、Amazon S3、Project Voldemort、または CouchDB などを使用したいと考えています。
ただし、現時点では実験中であり、まだプログラミング言語にしっかりと落ち着いていません。私は CSV を使用してきましたが、奇抜な Unicode や予期しない空白 (垂直タブなど) を保存しようとすると、CSV が脆くなる傾向があります。
ストレージに XML や JSON を使用することもできますが、追加のみのファイルには適していません。これまでの私の最善の推測は、各文字列の前に含まれるバイト数を示す 4 バイトの符号付き整数が先行し、-1 の整数値はこのタプルが完全であることを示す、かなり特異な形式です。これは CSV の改行に相当します。 . 頭痛の主な原因は、ディスク上の整数のエンディアンを決定しなければならないことです。
編集:実際には、これは機能しません。文字列の書き込み中にプログラムが終了すると、データは取り返しのつかないほどずれます。アボートされたタプルの後にアラインメントを回復できるようにするには、何らかの帯域外シグナリングが必要です。
編集 2: テキスト ファイルへの追加時に原子性を保証することは可能ですが、パーサーは非常に重要です。上記のパーサーを今書いています。
編集 3: http://github.com/MetalBeetle/Fruitbat/tree/master/src/com/metalbeetle/fruitbat/atrio/で最終結果を表示できます。