個人財務 NoSQLによる高速キー・アクセス

NoSQLによる高速キー・アクセス

目次:

ビデオ: NoSQL Strategy on AWS(日本語:AWS Summit Tokyo 2014 | TE-03) 2025

ビデオ: NoSQL Strategy on AWS(日本語:AWS Summit Tokyo 2014 | TE-03) 2025
Anonim

NoSQLのキー値ストアはすべてスピードに関するものです。さまざまな手法を使用して、データのキャッシュ、複数のデータのコピー、または最適なストレージ構造の使用など、その速度を最大限に高めることができます。

メモリ内のデータのキャッシュ

RAMに格納されているデータに簡単にアクセスできるため、RAMにデータをキャッシュするキーバリューストアを選択すると、データアクセスに要する時間が大幅に短縮されますより高いサーバーコスト

<! - 1 - >

しかし、しばしば、このトレードオフは価値のあるものです。格納されたデータの何パーセントが頻繁に要求されているかを簡単に計算できます。 5%が一般的に数分ごとに要求されることが分かっている場合は、データサイズの5%を取り出し、その数をデータベースサーバー全体のスペアRAMスペースとして追加します。

オペレーティングシステム、他のアプリケーション、およびデータベースサーバにもメモリ要件があることに注意してください。

- >

スレーブへのデータの複製

キー値ストアでは、特定のキーがクラスタ内のいずれかのサーバーに格納されます。このプロセスは キーパーティショニング と呼ばれます。つまり、このキーが絶えず要求されている場合、このノードは大量の要求を受け取ります。したがって、このノードは平均要求速度よりも遅く、潜在的にユーザーのサービス品質に影響します。

<! - 3 - >

この状況を回避するために、一部のKey-Valueストアでは、読み取り専用レプリカ(スレーブとも呼ばれます)の追加がサポートされています。 Redis、Riak、Aerospikeは良い例です。レプリケーションでは、キーを複数のサーバーに複数回格納できるため、応答速度は向上しますが、ハードウェアは増えますが、

キーストアの中には、キーのレプリカがマスターと常に同じ値を持つことを保証するものがあります。この保証は完全に一貫していると呼ばれます。キーを保持しているマスターサーバーで更新が行われると、すべてのレプリカが最新の状態になることが保証されます。

すべてのKey-Valueストアがこのステータス(Riakなど)を保証するわけではないので、ミリ秒まで更新することが重要な場合は、レプリカが完全に一貫性のあるデータベース(Aerospikeなど)を選択します。

キー・バリュー・ストアでのデータ・モデリング多くのキー・バリュー・ストアは、バリュー・タイプの基本構造のみをサポートしているため、アプリケーション・プログラマーはデータを解釈する必要があります。単純なデータ型のサポートには、通常、文字列、整数、JSON、およびバイナリ値が含まれます。

多くのユースケースではこれがうまくいきますが、データへのより細かいアクセスが有用な場合もあります。

文字列

  • リスト

  • セット

  • ソートセット

  • ハッシュマップ

  • ビット配列

  • ハイパーログログ

  • ソートセットは、次のデータ型をサポートしています。日付でソートされた値のインデックスを照会するのと同じように、値の一致範囲を照会することができます。これは、型指定されたデータのサブセットを検索する場合に非常に便利です。

データ操作

Redisには、RMU(read-modify-update)ステップを実行することなく、キー値を直接インクリメントおよびデクリメントする操作が含まれています。単一のトランザクション内でこれを行うことで、他のアプリケーションが更新中に値を変更しないようにすることができます。これらのデータ型固有の操作には、リストやセットへの項目の追加や削除も含まれます。

Redis ZRANGEBYLEXコマンドを使用すると、アプリケーションのユーザーインターフェイスにオートコンプリート機能を提供することもできます。このコマンドは、文字列に部分的に一致するキーのセットを取得します。したがって、Redisで構築されたアプリケーションの検索バーに「NoSQL for」と入力すると、「NoSQL For Dummies」という提案が表示されます。 "

Redisの評価

Redisは非常に軽量ですが、驚異的な高速キーストアです。当初はメモリ内のキー値ストアとして設計されていましたが、現在はディスクベースのデータストレージを備えています。

Redisを使用すると、AOF(添付ファイルのみ)モードを有効にし、各クエリでデータを強制的にディスクに強制するようにRedisに指示することができます(強制

fsync flushing )。もちろん、AOFは書き込みを遅くしますが、データの耐久性を高めます。ただし、1秒までのコマンドを失う可能性はあることに注意してください。 また、Redis氏は最近、クラスタリングのサポートを追加しました。実際、この執筆時点では、Redisのクラスタリングのサポートはベータテスト段階にあります。幸い、Redisは、クライアントが直接書き込むことのない特定のキーとスレーブのマスターを持つ、シェアードナッシング・クラスタ・モデルを使用します。マスターだけがそうします。シェアード・ナッシング・クラスタリングを提供すると、すべてのレプリカへの書き込みを可能にするデータベースの場合よりも、Redisが信頼性の高いクラスタリングを容易に実装できるようになります。

非常に高速なメモリ内キャッシュ層を別のデータベースの前に配置する場合は、MongoDBまたはRiakをRedisで一般的に使用し、Redisをオプションとして評価します。おそらくRedisは、クラスタ化とデータ耐久性のサポートが進化するにつれ、他のバックエンドデータベースを追い越すことができます。

NoSQLによる高速キー・アクセス

エディタの選択

Facebook上の人、アプリケーション、招待をブロックする方法 - ダミー

Facebook上の人、アプリケーション、招待をブロックする方法 - ダミー

設定は、Facebookで快適に過ごせるようにするための予防措置です。ブロックリストは通常​​、より反応的です。誰かがあなたのことを気にするFacebook上の何かをした場合、彼をブロックしたり、あなたが影響を及ぼす特定の行動をブロックすることを選ぶかもしれません。制限付きリスト、ユーザーブロック、ブロック...

Facebookのタイムラインカバーを変更する方法写真ダミー

Facebookのタイムラインカバーを変更する方法写真ダミー

Facebook、あなたのタイムラインはあなたの友人のものと比べて少し空白に見えるかもしれません。カバー写真が必要です。まもなくタイムラインがいっぱいになります。しかし、まず、人々があなたを見つけてあなたについて知ることができるように、基礎を記入したいと思っています。人々が最初にすることは...

正しいFacebookページタイプを選択する方法 - ダミー

正しいFacebookページタイプを選択する方法 - ダミー

サービス、またはビジネスを利用するには、Facebookのページオプションの賛否両論に気づく必要があります。あなたの6つの主要なオプションを見てみましょう:ローカルビジネスまたはプレースカンパニー組織または機関ブランドまたはプロダクトアーティストバンドまたは公共図エンターテインメント原因またはコミュニティ次の...

エディタの選択

他のKloutインフルエンサーを推薦する方法 - ダミー

他のKloutインフルエンサーを推薦する方法 - ダミー

インフルエンサーリストを使用してKloutが+ Kを与えると説明するアクションです。あなたのKloutスコアの一部は、他人から受け取った裏書の数に由来します。

あなたのソーシャルメディアメトリクスの目標を微調整する方法 - ダミー

あなたのソーシャルメディアメトリクスの目標を微調整する方法 - ダミー

ソーシャルメディア指標の目標を微調整するための販売漏れデータあなたの目標を微調整することの一部は、希望から​​マイルストーンに移行するまで、それらを磨くことです。人々がゴールを間違えていることのいくつかの例を以下に示します。これは希望、夢、偉大なものです。

Klout特典の電子メール通知を取得する方法 - ダミー

Klout特典の電子メール通知を取得する方法 - ダミー

Ifあなたは定期的にKloutを訪れる習慣ではないので、あなたはPerksの電子メールアラートを作成することができます。あなたがソーシャルメディアの世界でやっていることすべてを把握するのは難しいかもしれません。これはあなたのソーシャルメディア管理を簡素化するのに役立ちます。あなたがパルクの資格を得て、そして...

エディタの選択

Outlook 2002でパブリックフォルダで公開する - Microsoft ExchangeネットワークでOutlook 2002を使用する場合はダミー

Outlook 2002でパブリックフォルダで公開する - Microsoft ExchangeネットワークでOutlook 2002を使用する場合はダミー

パブリックフォルダを使用できます。パブリックフォルダは、グループ全体が見てアイテムを追加できる場所です。タスクや連絡先用のパブリックフォルダを持つことができます。

Outlookの迷惑メールフィルタを設定する方法 - ダミー

Outlookの迷惑メールフィルタを設定する方法 - ダミー

Outlookのオプション。非常に積極的に設定すると、迷惑メールが少なくなりますが、正当なメッセージを迷惑メールとマークすることがあります。それほど攻撃的ではないように設定すると、受信トレイにもっと迷惑をかけることになります。 Outlookに付属しています...

Outlook 2013で連絡先グループを作成する方法 - ダミー

Outlook 2013で連絡先グループを作成する方法 - ダミー

Outlook 2013で連絡先グループを作成する方法あなたのリストの名前を作り、あなたのシステムに保存した名前のコレクションから選ぶという単純な問題です。連絡先グループは電話番号とメールアドレス、電子メールアドレスだけを追跡しません。 ...