問題タブ [hamsterdb]
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.
c++ - HAM_OVERWRITEを使用してHamsterDBに値を挿入する
フラグを付けてHamsterDBデータベースに値を挿入したHAM_OVERWRITE
場合、キーがまだ存在しない場合の影響は何ですか?
私は自分のプログラムで最大のシリアル番号を追跡し、それをHamsterDBデータベースに保持しています。
アプリケーションを再起動するhigh_serial_
と、DBに保存されている現在の値で初期化されます。
しかし、この呼び出しはスローしてHAM_KEY_NOT_FOUND
います。ドキュメントには、キーがまだ存在しない場合は単に挿入されると記載されています。しかし、これは私が経験していることではありません。
database - ディスクへの書き込みが本当に速いデータベースはどれですか?
私は、通常30文字を超える長さの数百万の文字列(ヌクレオチド塩基、AGCTによって形成される)を生成する生物学ソフトウェアに取り組んでいます。それはCと書かれました。
このデータをディスクに保存するのに十分な速度でデータベースが必要です。これにより、ソフトウェア全体の速度が低下するボトルネックが発生せず、RAMを過度に消費することもありません。さらに、アプリケーション内で完全にリンクする必要があります。ユーザーにSQLサーバーなどを強制的にインストールさせたくありません。
私はすでにhamsterDB、SQLite、Kyoto Cabinet、MapDBを試しましたが成功しませんでした。問題は、データベースから少なくとも5万回/秒でデータを挿入または更新する必要があることです。いくつかの最適化により、SQLiteがより高速になりました。18k操作/秒に達します(同期オフ、journal_modeオフ、トランザクション、ignore_check_constraintsオン、500.000のcache_size、およびプリコンパイルされたステートメントを使用します)。
各シーケンスはAまたはBに分類され、それぞれの種類がいくつあるかを知る必要があります。現在、シーケンスをキーとして使用し、Aタイプ用のカウンターとBタイプ用のカウンターを追加しています。SQLiteデータベースでは、次のような列とコマンドを使用しています。
これは単純なINSERTINTOよりも低速ですが、seqがDBにすでに存在する場合は、列の1つをインクリメントする必要があります。
京都内閣で私は本当に高速になりましたが、それは文字列レコードしかサポートしておらず、整数を追加および更新して、AとBの数を数える必要があります。
レコードの書き込み速度と柔軟性に関する私のニーズを満たす可能性のある別の優れたDBを知っている人はいますか?
hamsterdb - Make のエラー HamsterDB
lessfs 用に HamsterDB をインストールしたいのですが、./configure を実行して問題ありませんでしたが、コマンド Make を書くと、以下のエラーが表示されます。lessfs と hamsterdb を使っている人はいますか?