私はまだNoSQLデータベースを初めて使用しており、何年も前からRDBMS(Oracle、MySQL)を使用しています。現在、私たちのデータベースの1つをIn-Memory NoSQL DBに移行することを検討しており、我々は最良の設計アプローチに固執しています。NoSQL(Redis)の設計アドバイス
私たちはRedisを検討していますが、別のKey-Valueストア(RocksBDやLMDBなど)と連動するのか、単独で使用するのが最適かは、私があなたから受け取ったアドバイスに基づいています。 (あなたは、私たちの問題を解決するための全く別のアプローチに関するアドバイスは無料です)。
In-Memory NoSQLに移行するテーブルには、人口統計(姓、名字、住所、生年月日、出身国など約40人の人口統計フィールドなど)と、写真、署名、10個の指紋のすべて。
クエリは、このような我々は非常に簡単に写真を含む(Redisのキーと値のストアですべてを保存することができる場所FIRSTNAME = 'ジョーンズとlastname =「アンドレ」とdateOfBirthの> 1984年9月13日
取得など人口統計上で実行されます署名、フィンガープリント、すべての人口統計など)がありますが、DBが最終的に約2億件のレコードに増加するため、RAMが狂っていることが心配です。そこで、頻繁に検索される人口統計の一部(例:名字、姓、年齢など)を保存し、残りのデータをLMDBやRocksDBなどのキー値ストアに保存することを検討しました赤色よりも少ないメモリ)。この実装では、誰かがfirstname = jonesとlastname = markの場所で検索を行いたい場合、redisを検索し、取得したレコードのIDを取得し、キー値ストア(lmdbまたはrocksDB)からレコードを取得します。 書き込みに関する心配がほとんどなく、主に読み取りパフォーマンスに悩まされています。 非常に高速な読み取りが望まれます。
これは良い設計アプローチですか、より良いパフォーマンスにつながるより良い設計アプローチです。目標はRAM要件を最小限に抑え、非常に優れた読み取りパフォーマンスを得ることです。
ところで、この性質のバイオメトリクスを記憶しておくのもよいアプローチですか?このようなシャロンジュは
を解決しているどのように
[もっと速い回答を得るために、どのような状況で「緊急」や他の類似のフレーズを追加することができますか?](// meta.stackoverflow.com/q/326569) - 要約は、ボランティアに対処する理想的な方法ではなく、おそらく回答を得ることに逆効果があります。これをあなたの質問に追加しないでください。 – halfer
名前= 'jhon' && last = 'doe'のような条件がキー値ストアに実装されるようになっているかどうかわかりません。 – ren
はい。 redisサポートそのような検索 – SWILL