where k=xx や where k in (xx, xx) のようなポイントクエリでのみ使用することを強く推奨します。
テーブルの作成
host:port— Redis server のアドレスです。port は省略でき、その場合はデフォルトの Redis ポート 6379 が使用されます。db_index— Redis の DB 索引です。範囲は 0〜15 で、デフォルトは 0 です。password— ユーザーパスワードです。デフォルトは空文字列です。pool_size— Redis の最大接続プールサイズです。デフォルトは 16 です。primary_key_name- カラム一覧内の任意のカラム名です。
シリアライゼーション
PRIMARY KEY は 1 つのカラムのみをサポートします。主キーは Redis のキーとしてバイナリ形式でシリアライズされます。
主キー以外のカラムは、対応する順序で Redis の値としてバイナリ形式でシリアライズされます。host と port は個別に指定する必要があります。この方法は本番環境では推奨されます。現時点では、名前付きコレクション を使用して Redis に渡すすべてのパラメータが必須です。
フィルタリング
key equals または in フィルタリングを含むクエリは、Redis に対する複数キーのルックアップに最適化されます。キーによるフィルタリングがないクエリではフルテーブルスキャンが発生し、これは高コストな処理です。使用例
Redisエンジンを使用する ClickHouse のテーブルを作成します:
Query
Query
Query
Query
Response
Query
Response
Query
Response
Query
Query
Truncate は SYNC モードにも対応しています。
Query
Query
制限事項
where k > xx のようなスキャンクエリもサポートしていますが、いくつか制限があります。
- スキャンクエリでは、リハッシュ中のごくまれなケースでキーが重複して返されることがあります。詳細は Redis Scan を参照してください。
- スキャン中にキーが作成または削除される可能性があるため、結果として得られるデータセットは、ある時点における整合した状態を表すものにはなりません。