私はMySQLに慣れており、KeyValueStoreの使用方法を理解しようとしています。私が見たことがないのは、データベース設計の例や、情報を挿入して取得する方法のような優れた初心者です。
これは、MySQLのデータをKey Valueストアに保存する方法を正しく表していますか?
TYPE: MySQL
TABLE: users
COLUMNS: user_id(primary), username, location
TYPE: Key Value Store
TABLE: users
KEY: user_id
VALUES: username, location
だから、私が上で正しければ。一般的なユーザー情報の取得は、理解するのに十分簡単です。しかし、Key Valueストアで次のクエリを実行するにはどうすればよいですか?
SELECT username FROM users WHERE location = 'mexico'
これを簡単に実行できると私が思った方法は、別のテーブルを作成することです。(5,000人を超えるユーザーがいると仮定します。数百人しかない場合は、これを行う他の方法があると確信しています)
--Original Table--
TYPE: Key Value Store
TABLE: users
KEY: user_id
VALUES: username, location
--Additional "query" Table--
TYPE: Key Value Store
TABLE: user-location
KEY: location
VALUES: user_id
ただし、新しい誰かが参加したり、場所を更新したりするときに、2つのテーブルを調整する必要があります。大したことではないと思います。アプリケーションコードを非常に正確にする必要があります。
これはこれらの問題を解決するための最良の方法ですか?それとも私は何かが足りないのですか?