このトピックでは、Tablestore のシステムアーキテクチャと一般的なアプリケーションアーキテクチャについて説明します。
システムアーキテクチャ
次の図は、Tablestore のシステムアーキテクチャを示しています。

シナリオ
Tablestore は、メタデータ、メッセージデータ、時空間データ、ビッグデータを処理するシステムの構築に適しています。
データアクセス
SDK、DataWorks、または IoT ルールエンジンを使用して、Tablestore にアクセスできます。Tablestore は、アプリケーションデータ、メッセージデータ、IoT データなど、さまざまな構造化データを格納するために使用できます。
Tablestore
複数のデータストレージモデル
Tablestore は、ワイドカラムモデル、時系列モデル、タイムラインモデルの 3 つのデータストレージモデルを提供します。
モデル
説明
ワイドカラムモデル
このモデルは、Google Cloud Bigtable および HBase モデルに似ており、メタデータやビッグデータストレージなど、さまざまなシナリオで使用できます。ワイドカラムモデルは、最大バージョン、TTL、自動インクリメント主キー列、条件付き更新、ローカルトランザクション、アトミックカウンター、フィルターなどの機能をサポートしています。詳細については、ワイドカラムモデル を参照してください。
時系列モデル
時系列モデルは、時系列データの特性に基づいて設計されています。このモデルは、IoT デバイスの監視などのシナリオに適しており、デバイスによって収集されたデータやマシンの監視データを格納するために使用できます。時系列モデルは、時系列メタデータの自動インデックス作成と、さまざまな複合条件に基づく時系列クエリをサポートしています。詳細については、時系列モデル を参照してください。
タイムラインモデル
このモデルは、メッセージデータを格納するために設計されており、IM アプリケーションやフィードストリームから生成されたメッセージデータを格納するのに適しています。このモデルは、メッセージの順序保存、多数のメッセージの保存、リアルタイム同期など、メッセージングプロセスの要件を満たすことができます。また、全文検索とブールクエリもサポートしています。詳細については、タイムラインモデル を参照してください。
強力なデータインデックス機能
Tablestore は、主キーベースのクエリ、セカンダリインデックスベースのクエリ、検索インデックスベースのクエリなど、強力なデータクエリ機能を提供します。
インデックスタイプ
説明
データテーブルの主キー
データテーブルは大きなマップに似ています。データテーブルは、主キーのみに基づくクエリをサポートしています。
セカンダリインデックス
1 つ以上のインデックステーブルを作成し、インデックステーブルの主キー列を使用してクエリを実行できます。
検索インデックス
検索インデックス機能は、転置インデックス、Bkd ツリー、カラムストアを使用して、非主キー列ベースのクエリ、ブールクエリ、地理クエリ、全文検索、あいまいクエリ、ネスト構造クエリ、統計集計など、さまざまなクエリに対応します。
ホットデータとコールドデータの階層化
コールドデータとホットデータは自動的に階層化されます。Tablestore は、高パフォーマンスインスタンスと容量インスタンスの 2 種類のインスタンスを提供し、さまざまなビジネスシナリオのデータストレージ要件を満たします。
インスタンスタイプ
説明
高パフォーマンスインスタンス
このインスタンスタイプは、ゲーム、金融リスク管理、ソーシャルネットワーキングアプリケーション、レコメンデーションシステムなど、高読み書きパフォーマンスと高並行性を必要とするシナリオに適しています。
容量インスタンス
このインスタンスタイプは、ログ監視データ、車載インターネット (IoV) データ、デバイスデータ、時系列データ、物流データ、世論監視データなど、読み取りパフォーマンスに高い要件がないがコスト重視のビジネスに適しています。
データ配信
データは完全にバックアップされるか、リアルタイムでオブジェクトストレージサービス (OSS) に配信されます。データ配信は、オープンソースエコシステム標準と Hive で使用される命名規則と互換性があります。配信されたデータは Parquet 形式で保存されます。Data Lake Analytics (DLA) および E-MapReduce (EMR) サービスを使用して、OSS に配信されたテーブルを分析できます。
コンピューティングエコシステムとの互換性
Tablestore は、Flink、Spark、Presto など、主流のオープンソースストリームおよびバッチコンピューティングエンジンと互換性があります。
Tablestore は、DataWorks、DataHub、MaxCompute など、Alibaba Cloud ビッグデータプラットフォームとシームレスに統合されます。
一般的なアプリケーションアーキテクチャ
Tablestore は、インターネットアプリケーションアーキテクチャ、データレイクアーキテクチャ、IoT アーキテクチャの 3 つの一般的なアプリケーションアーキテクチャに基づいてサービスを提供します。
インターネットアプリケーションアーキテクチャ
インターネットアプリケーションアーキテクチャは、階層型データベースアーキテクチャと構造化データ用の分散アーキテクチャにさらに分けることができます。インターネットアプリケーションアーキテクチャは、e コマースプラットフォームの注文、ライブストリーミングシステムのライブコメント、クラウドストレージソリューションに保存されているファイルのメタデータ、ソーシャルネットワーキングアプリケーションのインスタントメッセージングコンポーネントによって生成されたメッセージを保存するために使用できます。
階層型データベースアーキテクチャ
このアーキテクチャでは、Tablestore は MySQL と組み合わせて使用されます。MySQL のトランザクション処理機能は、読み取りおよび書き込みトランザクションを処理するために活用されますが、Tablestore のデータクエリおよびストレージ機能は、データの保存、クエリ、分析に使用されます。

構造化データ用の分散アーキテクチャ
このアーキテクチャでは、Tablestore はアプリケーションシステムに直接接続して、単純なトランザクション処理を実行し、高並行データの読み取りと書き込みを保証します。

データレイクアーキテクチャ
このアーキテクチャは、データミッドエンド、レコメンデーションシステム、リスク管理システムなどのシナリオで主に使用されます。
このアーキテクチャでは、Tablestore は、ストリームおよびバッチコンピューティングエンジンにソーステーブル、結果テーブル、またはディメンションテーブルを提供して、大量のデータを計算および分析します。

IoT アーキテクチャ
このアーキテクチャは、IoV、スマート家電、産業用 IoT、物流などのシナリオで使用されます。
このアーキテクチャでは、Tablestore は、IoT プラットフォームのすべての時系列データ、メタデータ、およびメッセージデータを保存および処理します。
