2010-11-27 18 views
0

1つのバイナリファイルにデータを格納するライブラリ/ framework/embeddedEngineがありますか?ファイルシステムのようなものが1つのファイルにあります。また、削除/更新後にデータを断片化するためのツールもサポートする必要があります。言語C++またはC#を推奨します。プラットフォームWindows。埋め込み可能なFileSystem?

ありがとうございました!

+0

*デフラグしている*データですか?そして、圧縮ファイル(ZIPのような)があなたにとってうまくいかない理由は何ですか?マイクロソフトでも、最近のバージョンのOfficeで「ファイル内のミニファイルシステム」の概念を放棄しています。 –

+0

@Cody:「デフラグ」はその意味では意味がありません。後でファイル全体をディスクに書き込まなくても、ファイルの中央にデータを挿入できるようにする必要があると思います。 –

+0

@Billy:そうです。データを挿入し、データを削除し、最適化を避けたい) – Edward83

答えて

3

ESENT、you can check out my framework for C#。

SQLiteとは異なり、1GBのデータを1つのフィールドに保持することは問題ありません。

+0

Err ... *なぜ* 1GBのデータを1つのフィールドに保存したいですか? (ライブラリをリッピングしないで、1GBバイナリBLOBにはほとんどのシリアライゼーションライブラリで処理されない以外の問題があるようです)問題を探すための解決策のようです。 (しかし私は+1をしました。なぜなら、それは別の解決策だからです) –

+1

@ "Billy ONeal"、 "あなたはできる"という意味ではありません。私たちはエドワードの問題について何も知らない。彼の宇宙望遠鏡で作られたテラバイトサイズのデータ​​セットを扱う必要があるかもしれない。または、彼は自分のWindowsパーティションに保存されているすべてのデータを複製するためにストレージを必要としますか? ESENTは、SQLiteの多用性に優れています。さらに、誰もがSQLエンジンを必要とするわけではありません.SQL =追加のオーバーヘッドと複雑さです。 – Soonts

+0

@Soonts:十分に公正。 OTOH、私はそのようなデータセットを扱っていた場合、「組み込み可能」は必須ではないと思います。私はSQL ==付加的なオーバーヘッドと複雑さを見ていませんが。 –

4

SQLiteは完全にファイルシステムではありませんが、埋め込み可能であり、あなたが望むことができるツールを備えています(もちろん、それはSQLです)。加えて、すべてのコードはパブリックドメインなので、ほとんど何でも使用できます。

0

どのプラットフォームですか? Linuxでは、仮想ファイルシステムを使用できます。

+3

質問文の「プラットフォームのWindows」。 C#タグは別の手がかりです。 –

1

SolFSを確認してください。これは仮想ファイルシステムで、C言語(Java用のJNIバインディング付き)で書かれ、AndroidやiOSなどの最新のプラットフォームで使用できます。

関連する問題