問題タブ [leveldb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
28587 参照

nosql - Leveldb は Redis、Riak、または Tokyo Tyrant と比べてどうですか?

Leveldbは、Google の新しい興味深い永続キー値ストアのようです。Leveldb は Redis、Riak、または Tokyo Tyrant とどう違うのですか? 特定のユースケースでは、一方が他方よりも優れていますか?

0 投票する
4 に答える
18681 参照

java - LevelDBはJavaをサポートしていますか?

LevelDBがJavaをサポートしているかどうか知りたいですか?LevelDBはどこで入手できますか。http://code.google.com/p/leveldb/の下にファイルはありません

0 投票する
2 に答える
4049 参照

c++ - LevelDBとstd::map

このアプリケーションではstd::map、(キー、値)データを格納し、シリアル化を使用してそのデータをディスクに格納するために使用します。このアプローチでは、ディスクI / Oがパフォーマンスのボトルネックであり、キーを使用した値の検索はそれほど高速ではないことがわかりました。

私はLevelDBに出くわし、それを使用することを考えています。しかし、いくつか質問があります。

  1. LevelDBのドキュメントには、(文字列、文字列)キーと値のペア用に作成されたと記載されています。カスタムキーと値のペアに使用できないということですか?
  2. とLevelDBの違いstd::mapは、LevelDBが永続的でありstd::map、メモリ内で機能することです。つまり、ディスクI/OのボトルネックがlevelDBにとってより問題になるということですか。

より具体的には、LevelDBがより良い選択であるかどうかを誰かが説明できますstd::mapか?

PS:hash_mapsを使ってみましたが、遅いようですstd::map

0 投票する
1 に答える
2076 参照

c++ - LevelDBを値でソートする方法

leveldbを使用してレコード(key-value)を格納しています。ここで、キーは64ビットハッシュで、値はdoubleです。例えれば、64ビットハッシュは顧客の一意のIDであり、アカウントの残高(つまり、アカウントにある金額)の2倍であると考えてください。データベースを口座残高で並べ替えて、口座残高が最も多い顧客を最初にリストしたいと思います。ただし、データベースはメモリに収まらないため、アカウントの残高で並べ替えるには、他の方法でデータベースを並べ替える必要があります。

STXXLの使用を検討していますが、データベースのコピーを1つのフラットファイルに作成する必要があります。その後、STXXLを使用して外部ソートを実行できます(これにより、多数の小さなファイルが作成され、ソートされてからマージされます)別の単一のフラットファイルに戻します)。データを並べ替えるより良い方法はありますか、それともSTXXL並べ替えを使用する必要がありますか?

0 投票する
3 に答える
1052 参照

c++ - 倍精度浮動小数点比較

私はここで少し混乱しています. double が不透明 (バイナリ) フィールドとして格納されている場合でも、double の比較は正しく機能しますか? 私が直面している問題は、double には符号 (正または負) の先行ビットが含まれており、それらがバイナリ データとして格納されている場合、正しく比較されるかどうかわからないという事実です。

ここに画像の説明を入力

LevelDB のキー タプル (例: )の一部として double を使用しており、正と負の数値のデータの局所性を維持したいので、比較が正しく機能することを確認したいと考えています。LevelDB は不透明なフィールドのみをキーとして使用しますが、ユーザーは独自のコンパレータを指定できます。ただし、絶対に必要な場合を除き、コンパレータを指定しないようにしたいだけです。

0 投票する
3 に答える
1940 参照

c++ - leveldb の整数値

C++ と Python の両方で、leveldb を使用して整数と整数配列を効率的に格納したいと考えています。

C++ の整数の場合、int を char 配列に変換できます。int 配列を c++ に格納し、int および int 配列を Python に格納するための提案はありますか?

0 投票する
4 に答える
5889 参照

database - 整数のキー/値を LevelDB に格納できますか?

整数キーと整数値をサポートするキー値ストアを検索しました。LevelDB は良いオプションのようですが、整数値/キーがサポートされているかどうかについての情報は見つかりません

0 投票する
2 に答える
2123 参照

key-value - LevelDBスナップショットはデータベースのクローズ後も存続できますか?

LevelDBライブラリの「snapshot」機能が、開いているデータベースオブジェクトを閉じた後でも保存できる(したがって、その後の開いたときに再利用できる)スナップショット参照を作成できるかどうか疑問に思っています。

そうではないと思いますが、これはフォローアップにつながります。スナップショットの時点で、理想的には他のアクティビティが継続している間でも、データベースの一貫したバックアップを作成するための適切な/推奨される方法はありますか?(つまり、APIを介してスナップショットキー範囲全体を反復することはできませんか?)

(基本的に、BerkeleyDB-JEの追加専用のJDBログファイルを特定のチェックポイントの場所まで保存するのに似たものを探しています。)

0 投票する
1 に答える
2239 参照

c++ - leveldbのラッパークラスで静的メソッドをリンクする

leveldb のラッパー クラスを作成しようとしています。基本的に、私の問題を生成するヘッダー ファイルの部分は ( CLevelDBStore.h:)

CLevelDBStore.cppファイル内の対応するコードは次のとおりです。

ここで、テスト ファイル ( ) をコンパイルしようとしましたtest.cppが、これは基本的には

ラッパー クラスもまだ使用していないことに注意してください。コンパイルエラーを生成するだけです。

コンパイル

収量

leveldb::DB::Open が定義されている leveldb コードを調べたところ、静的メソッドであることが判明しました。

これにより、リンク時に何らかの問題が発生する可能性はありますか?