質問

いを作成する必要があり収納ファイル形式のための簡単なデータ形式で表現された活動に活用しようとしていHDF5がっていった課題は、たいと思い直し、使用の組み込みデータベースを見れば十分速く、余裕があります。私の願います。

があるのは、信頼できる組み込みJavaのデータベースがこのオプションデータを格納する一つのファイルとは何ですか?の知識はSQLite(Javaバインディング。またH2、HSQLDBが箱から出してしまうを複数のファイルをすることが望ましいってデータベースを一つのファイルです。

編集: 合理的に高速性能が重要になります。オブジェクトおりません;性能問いく必要がある整数や用途にでも便.(+の一部の文字列があり、パフォーマンスが重視される)

編集2: ストレージデータの効率化が重要となる大型のデータセットを、XMLしていきたいと思います。

役に立ちましたか?

解決 10

私は今、私はちょうどH2またはメモリ内のインデックスのためのいくつかの他のデータベースと連携して、永続的なデータストレージのためにHDF5の使用を継続するつもりだためだと思います。私はSQLiteのは、私が持っているJavaのドライバでBLOBを使用して取得することはできません、と私はFirebirdの起動および実行組み込み得ることができない、と私はまだPAGE_STOREとH2を信用していない。

他のヒント

亜硝酸データベース http://www.dizitart.org/nitrite-database.html

  

のNoSQLオブジェクト(亜a.k.a NO2)データベースがオープンソースのNoSQLであります   APIのようにMongoDBとJavaで書かれた埋め込まれたドキュメントストア。それ   メモリ内および単一のファイルベースの永続ストアの両方をサポートします。

あなたが読み取り専用アクセスを必要とする場合、その後H2は、Aからデータベースファイルを読み込むすることができますzipファイルでます。

同様に、あなたが永続性を必要としない場合には、H2のインメモリのみのバージョンを持つことが可能です。

あなたは両方の読み取り/書き込みアクセスと永続性を必要とする場合は、これらのほとんどすべて均一に個別にインデックスとデータファイルを維持するように、

、そしてあなたは、標準のSQL型データベースと運の不足している可能性があります。

あなたはPAGE_STOREオプションを使用して、最新のH2のビルドを使用する場合は、

H2は、一つだけのファイルを使用しています。それは新機能ですので、それは固体ではないかもしれません。

私は、ファイルにそのデータを保存したオブジェクトデータベースを使用したら。これは、Javaと.NETインターフェイスを備えています。あなたはそれをチェックアウトする場合があります。これは db4oのに呼ばれています。

クロニクルの地図 は組み込みのpure Javaデータベースです。

  • それは、データファイル、.e.

    ChronicleMap<Integer, String> map = ChronicleMap
        .of(Integer.class, String.class)
        .averageValue("my-value")
        .entries(10_000)
        .createPersistedTo(databaseFile);
    
  • クロニクルマップが成熟した(厳しい保存のバグの報告をここ数ヶ月なので活躍します。

  • Idependentベンチマークとクロニクルマップが 最速の最も効率的なメモリ スマートフォンを使ったJava.

主な欠点をご利用の場合はクロニクル地図を支えするだけの簡単なキー-値モデルが複雑な解決策が構築へと向かった。

免責事項:私は開発者のクロニクル図。

これは、SQLエンジンではありませんが、使用している場合は Prevayler を持つ<のhref = "のhttp:/ /xstream.codehaus.org/」のrel = 『nofollowをnoreferrer』> XStreamのに、あなたは簡単にすべてのデータを持つ単一のXMLファイルを作成することができます。 (Prevaylerは、スナップショットファイルを呼び出します。)

それはSQLベースではない、ので、少し肘グリースが必要ですが、

、その自己完結型の性質がはるかに簡単に開発(特に良いテスト)を行います。プラス、それは信じられないほど高速で信頼性の高いです。

我々はいくつかのプロジェクトでそれを使用し、それは非常に高速である -

あなたは jdbmするをチェックアウトすることができます。それはあなたが酸型のアプリのためにそれを使用している場合、2つのファイル(データベースファイルとログファイル)を使用していますが、固体酸を必要としない場合は、データベースに直接アクセス(なしログファイル)に直接落下することができます。

JDBMを簡単に整数と塊(あなたが欲しいものを)サポートし、非常に高速であるだろう。それは、本当に並行処理のために設計されたので、あなたは、あなたが複数のスレッドを持っている場合は、自分自身をロックし、管理する必要がありますが、あなたは、単純な、固体の組み込みデータベースを探しているなら、それは良いオプションだされていません。

あなたはsqliteのを述べているので、

、私はあなたがネイティブのDBを(限り良いJavaバインディングが使用可能です)気にしないことを前提としています。 Firebirdのには、Javaでうまく動作し、デフォルトでは、単一のファイルストレージを行います。

あなたは、単一のファイルの要件を持っていなかった場合は、

H2とHSQLDBの両方が、優れた選択肢となります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top