Tair (Redis OSS-compatible) は、String、List、Hash、Set、Sorted Set、Streamなど、オープンソースのRedisの基本的なデータ構造をサポートしています。 これらのデータ構造は、ほとんどの開発ワークロードには十分ですが、複雑なワークロードには十分ではありません。 複雑なワークロードを管理するには、大量のコードを記述するか、Luaスクリプトなどの複雑なアプローチを使用する必要があります。 Tair (Enterprise Edition) は、Alibaba Cloudが社内で開発した複数のデータ構造を統合しています。exString (Redis文字列機能を強化するコマンドを含む) 、exHash、exZset、GIS、Bloom、Doc、TS、Cpc、Roaring、Search、Vectorなどです。 これらのデータ構造により、Tair (Enterprise Edition) はより多くのシナリオをサポートし、アプリケーション開発を容易にし、ビジネスコードを簡素化することができます。 これにより、サービスのパフォーマンスが向上し、ビジネスイノベーションに集中できます。
Redis 7.0または6.0と互換性のあるDRAMベースのインスタンスは、上記のすべてのデータ構造をサポートしています。
Redis 5.0と互換性のあるDRAMベースのインスタンスは、TairVector以外の前述のすべてのデータ構造をサポートします。
永続的なメモリ最適化インスタンスは、exString (Redis文字列機能を強化するコマンドを含む) 、exHash、およびCpcと互換性があります。
Tairの拡張データ構造とRedis Stackのモジュール
次の表では、Tairに統合されたデータ構造について説明し、これらのデータ構造をRedis Stack Serverモジュールと比較します。
データ型 | Tair拡張データ構造 | 説明 | |
String | 非該当 |
ベストプラクティス: TairStringを使用して高性能楽観的ロックを実装するとTairStringを使用して有界カウンターを実装する。 | |
ハッシュ | 非該当 | TairHashは、フィールドの有効期限とバージョン番号を指定できるデータ構造です。 TairHashはより柔軟に使用でき、ほとんどのシナリオでアプリケーション開発を簡素化します。 このデータ構造はオープンソースです。 詳細については、「TairHash」をご参照ください。 ベストプラクティス: TairHashを使用して単一のユーザーからマルチデバイスログインを管理する | |
Zset | 非該当 | TairZsetを使用すると、ダブルタイプのスコアを256のディメンションに対してソートできます。 TairZsetを使用して、汎用リーダーボードと多次元リーダーボードを実装できます。 このデータ構造はオープンソースです。 詳細については、「TairZset」をご参照ください。 ベストプラクティス: TairZsetを使用して多次元リーダーボードを実装およびTairZsetを使用して分散リーダーボードを実装。 | |
GeoSpatial | 非該当 | TairGISは、Rツリーインデックスを使用し、地理情報システム (GIS) に関連するAPIをサポートするデータ構造です。 TairGISは、ポイント、ラインストリング、およびポリゴンのクエリに使用できます。 TairGISを使用して、AがBを含むかどうか、AがBに含まれるかどうか、またはAがBと交差するかどうかを確認できます。このデータ構造はオープンソースです。 詳細については、「TairGIS」をご参照ください。 ベストプラクティス: TairGISを使用してデジタルフェンスを実装するとTairGISを使用してローカル購入サービスを実装する。 | |
ドキュメント (JSON) | RedisJSON | RedisJSONと同様に、TairDocはJSON標準をサポートし、ドキュメントタイプのデータを格納するデータ構造です。 TairDocデータはバイナリツリーとして保存され、JSONオブジェクトの子要素にすばやくアクセスできます。 | |
検索 | RediSearch | TairSearchはElasticsearchと同様の構文を使用しますが、より多くの優れたトークナイザーを提供してクエリのパフォーマンスを向上させます。 | |
TimeSeries | RedisTimeSeries | RedisTimeSeriesと比較して、TairTSはタグの機能を拡張します。 TairTSデータ構造では、タイムラインに関する集計クエリをサポートするために、追加のハッシュレイヤーが追加されます。 TairTSを使用して、履歴時系列データにデータを更新または追加することもできます。 ベストプラクティス: TairTSを使用したきめ細かいモニタリングの実装 | |
スケッチ | RedisBloom | TairBloomはRedisBloomと互換性があり、動的スケーリングをサポートし、64ビットのハッシュアルゴリズムを提供して、大量のデータの衝突の可能性を大幅に減らします。 ベストプラクティス: TairBloomは、推奨およびクローラシステムに使用できます。 詳細については、「Bloom」および「Bloomフィルターを使用したゲームイベントプッシュ通知の管理」をご参照ください。 | |
非該当 | TairCpcは、圧縮確率カウント (CPC) スケッチに基づいて開発されたデータ構造です。 サンプリングされたデータに対して、少量のメモリで高性能なコンピューティングを実行できます。 TairCpcは、データストリーミングをより容易にするために、タンブリングおよびスライディングウィンドウをサポートします。 また、 | ||
ビットマップ | 非該当 | TairRoaringは、高い安定性を提供する効率的なコンピューティングモジュールです。 複数のビットマップに対する操作をサポートするため、パフォーマンスとスペース効率が向上します。 ベストプラクティス: TairRoaringを使用したユーザーの選択 | |
ベクトル | Redis検索 (ベクトル類似性) | TairVectorはTairの社内データ構造で、ベクターの高性能なリアルタイム保存と検索を提供します。 ベストプラクティス: |