7

私は SQLite と UnQLite について何ができるかを調査しましたが、まだ答えられていないことがいくつかあります。UnQLite は過去数年以内にリリースされたように見えますが、これはベンチマークの欠如に起因すると考えられます。「パフォーマンス」(読み取り/書き込み速度、クエリ、大幅なスローダウン前の平均データベース サイズなど) の比較は、ここではいくぶんリンゴとオレンジになる可能性があります。

つまり、SQLite はリレーショナル データベースであるのに対し、UnQLite はキーと値のペアおよびドキュメント (Jx9 経由) データベースです。どちらも移植性があり、クロスプラットフォームで、32/64 ビットに対応しており、単一書き込み接続と複数読み取り接続が可能です。UnQLite ベンチマークではほとんど見つかりませんが、SQLite には、さまざまな (スクリプト) 言語間で異なる実装がかなりの数あります。SQLite は、インメモリ データベースインデックス付きデータさまざまなデータ サイズの読み取り/書き込みモードでさまざまなパフォーマンスを発揮します。全体的に、SQLite は高速で信頼性が高いように見えます。

私が UnQLite で見つけることができるのは、信頼性が低く、紛らわしいものばかりです。役立つものが見つからないようですUnQLite のピーク時の読み取り/書き込み速度はどれくらいですか? UnQLite を使用する際に推奨される (推奨されない) 言語は? 既知の欠点とバグは何ですか?


私の陰謀を説明するのに少しでも役立つなら、私は、ネットワーク インターフェイス間のホット スワップでパケットを読み取って処理するネットワーク ユーティリティを開発しています。可能性は低いですが、接続が最大 1 Gbps の速度に達する可能性があるため、大量の生データがデータベースに書き込まれます。まだ開発の初期段階にあり、パフォーマンスのバランスをとる方法を見つけなければなりません。失われたパケット、各書き込みサイズの大きさ、データを処理して移動する速度、必要な組織の量、必要なテーブルの数、マルチプロセッシングを実装できるかどうか、それぞれの信頼性など、多くの要因があります。データベースはHDDの速度などです。データにはテーブルが必要ですが、それらをリレーショナルとして保存する必要があるかどうかはまだ不明です。

4

1 に答える 1

15

私が書いたPython バインディングを使用して、UnQLite をいじってみました。Python バインディングcythonは非常に高速です。

私の実験からわかったことは、UnQLite のキー/値 API は非常に高速で、他の DBM に匹敵するということです。ただし、Jx9 とドキュメント ストアを使い始めると、処理が少し遅くなります。

基本的に必要なものによって異なります...

SQL とアドホック クエリが必要な場合は、SQLite を使用することをお勧めします。それは十分に速く、非常に柔軟です。

キーと値だけが必要な場合は、leveldb や rocksdb などを使用します。

軽量の JSON ドキュメント ストア、または少し「余分な」キー/値が必要な場合は、UnQLite が適している可能性があります。

于 2015-05-21T05:00:11.687 に答える