キーバリューストア(Key-Value Store)とは、「一意標識(キー:key)」と「データ(値:value)」を設定し、これらをペアで保存するデータベースの一種です。
従来のキーバリューストアは、キーに文字列値を関連付けるものでしたが、Redisでは、文字列値に限定されず、さまざまな複雑なデータ構造を格納できます。
Redisはさまざまなデータ構造をサポートし格納できます。
・文字列
・バイナリデータ
・リスト
・集合(セット)
・ハッシュ
・レンジクエリ
・ビットマップ
・ストリームを持つ地理空間インデックス など
→Redis →An introduction to Redis data types and abstractions
これらのデータ構造に対して各種操作を行えます。
・文字列追加
・ハッシュ値インクリメント
・リストへの要素追加
・ソートセットからの検索 など
Redisでは、すべてのデータについて、低速なストレージデバイスではなく、メモリ上に保持するため、非常な高速にデータ書き込み/読み込みが可能です。
Redisのデータ構造実装はメモリ効率を重視しています。
そのため、Redis内部データ構造は、高水準プログラミング言語を使用してモデル化された同じデータ構造に比べて、メモリの使用量を少なくできる傾向があります。
Redisは、信頼できる環境内の信頼できるクライアントによってアクセスされることを前提に設計されています。
そのため、「Redisインスタンスのインターネット直接公開」や「信頼できないクライアントがRedis TCPポートまたはUNIXソケットに直接アクセスできる環境に直接公開」などは非推奨となっています。信頼できないアクセスがある場合は、正当なアクセス権限を持つクライアントなのかについて検証するアクセス制御リストを実装している層を仲介させることが推奨されています。
Redisは最高のセキュリティを実現するために最適化されていませんが、パフォーマンスとシンプルさを最大限に高めることを目標としています。
Redisバージョン3.2.0以降、Redisがデフォルト設定で実行されている状態で、クライアントがRedisにパスワードなしでアクセスすると、Redisは「保護モード」と呼ばれる特別なモードに入ります。
このモードでは、Redisはループバックインターフェースからのクエリにのみ応答します。
Redisはシンプルな認証レイヤを有効化できます。
認証レイヤが有効になっていると、Redisは認証されていないクライアントによるクエリを拒否します。クライアントは、AUTHコマンドに続けてパスワードを送信することによって、自分自身を認証できます。
Redisはネットワーク暗号化をサポートしていません。
信頼できるクライアントが信頼されていないネットワークを介してRedisインスタンスにアクセスできるようにするためには、SSLプロキシなどの追加の保護層を実装する必要があります。
Redisプロジェクトでは、ソケットアドレス間暗号化認証パイプ作成ユーティリティ「Spiped」の使用を推奨しています。
→Tarsnap →The spiped secure pipe daemon
Redisは、多くの主要プログラミング言語をサポートしています。
Googleは、データ管理と分析の分野で、7つの主要なオープンソース中心の企業との戦略的パートナーシップを発表した。 パートナーシップ企業 Googleの戦略的パートナーシップとなったのは以下の7企業。 1.Confluent 2.DataStax 3.Elastic
OSS×Cloud ACCESS RANKING