シーケンシャルアクセスを備えたスタンドアロンのインメモリデータサーバーを探しています[閉じ
-
10-10-2019 - |
質問
インメモリデータ構造 / DBが必要です サーバ 次の特性があります:
- スタンドアロンサーバー: :クライアントと同じマシンで実行されるため、あらゆる種類のIPCが問題ありません
- シーケンシャルアクセス:
get next/previous key
- レコードごとに2つのキー(文字列): :実際、双方向マップのようなもの
- インメモリー それだけ: :永続性がまったくないためにオプションが必要です
- RAMディスク/TMPFSソリューションは望ましくありません
- SQL/ODBCはオプションですが、必要ありません
- OEMライセンス価格が妥当な場合は、商用製品OKです
これまでのところ、次のオプションを検討していますが、まだ満足のいく解決策はありません。
- mysql: :すべての要件に答えますが、OEMライセンスの費用がかかる量についてはまだ答えます
- Memcached、Cassandra: :オンラインドキュメントによると、シーケンシャルアクセスはありません
- Redis: :素敵なツールのように見えますが、再び、私は取得しません
get nex/prev
仕様 - ポストグレス: :Linux/ODBCでうまく機能することができませんでした
すべてのNOSQLインメモリDBは、キー、ハッシュテーブルスタイルによる直接アクセスのみを提供しているようです。 Apacheダービーをまだチェックしていません。
Linuxで実行され、クライアントはC ++です。
あなたの提案を喜んでいます。ありがとう!
編集: 私たちはそれを追求するようです mysql オプションでは、リーズナブルな価格オファーがあります。また、メイン(永続的な)DBとしても役立ちます。すべての回答をありがとう、1つだけを選択することはいつものように困難です。
解決
京都内閣をお勧めします。メモリ関数と連続的なアクセスがあります。
編集:STLマップの何が問題になっていますか?
他のヒント
SQLiteを見て、データベースファイル名が「:メモリ:」に設定されています。これにより、アプリケーションが閉じると存在しなくなるメモリデータベースが作成されます。
パブリックドメインであるため、ライセンスに問題はありません
fastdb うまくいくはずです。メモリ内の構成と共有アクセスをサポートします。
Redisはキーをソートしませんが、アイテムを順番に取得できるリスト/セットがあります。シーケンシャルにアクセスしたい理由を知らずに機能するかどうかを確実に知るのは難しいですが、NOSQLを使用すると、使用するデータ構造について少し違った方法で考える必要があります。
所属していません StackOverflow