すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for SelectDB:アーキテクチャ

最終更新日:Jan 16, 2025

ApsaraDB for SelectDB は、Apache Doris をベースに開発された最新のリアルタイムデータウェアハウスサービスです。ApsaraDB for SelectDB は、コンピューティングとストレージの分離をサポートする新しいクラウドネイティブアーキテクチャを使用しています。このトピックでは、ApsaraDB for SelectDB のアーキテクチャと基本原則について説明します。

アーキテクチャ図

コンポーネント

アプリケーションシステムまたはクライアント

アプリケーションシステムまたはクライアントは、ApsaraDB for SelectDB にアクセスするために使用するサービスまたはツールです。ApsaraDB for SelectDB は MySQL 接続プロトコルと標準 SQL 構文と互換性があります。MySQL CLI、Java Database Connectivity ( JDBC ) ドライバー、Open Database Connectivity ( ODBC ) ドライバー、視覚化ツールなどのツールを使用して、ApsaraDB for SelectDB インスタンスにアクセスできます。

説明

ネットワークレイテンシと不安定性の影響を軽減するために、アプリケーションまたはクライアントを ApsaraDB for SelectDB インスタンスと同じリージョンにデプロイすることをお勧めします。

インスタンス

ApsaraDB for SelectDB インスタンスは、ApsaraDB for SelectDB のリソースを管理するために購入および使用できる基本単位です。ApsaraDB for SelectDB インスタンスを購入すると、インスタンスのリソースと関連するクラスタはアカウントに属します。ApsaraDB for SelectDB は、コンピューティングとストレージの分離をサポートするクラウドネイティブアーキテクチャを使用しています。アーキテクチャには、インスタンス、クラスタ、ストレージなどのコンポーネントが含まれています。インスタンスはリクエストを受信するために使用され、フロントエンド ( FE ) のグループが含まれています。クラスタはリクエストを処理する分散システムであり、バックエンド ( BE ) のグループが含まれています。Object Storage Service ( OSS ) は、データストレージ用のストレージシステムとして使用されます。インスタンスに含まれる FE は ApsaraDB for SelectDB によってホストされ、ビジネス要件に基づいてスケーリングできます。FE を管理する必要はありません。このコンピューティングとストレージの分離アーキテクチャでは、複数の ApsaraDB for SelectDB インスタンスのリソースは物理的に分離されています。このように、インスタンスは完全に独立している、または機密性が異なるビジネスシナリオの要件を満たすことができます。

次のセクションでは、ApsaraDB for SelectDB インスタンスが読み取りおよび書き込みリクエストを処理する方法について説明します。

  • 書き込みリクエスト: ApsaraDB for SelectDB で書き込みリクエストを開始するには、ApsaraDB for SelectDB が提供する書き込みインターフェースまたは既存のインポートツールを使用できます。リクエストが受信されると、インスタンスはリクエストを指定されたクラスタに転送します。指定されたクラスタは書き込みリクエストを処理して、OSS バケットとキャッシュにデータを書き込みます。データが OSS バケットに永続化されると、書き込みリクエストが正常に処理されたことを示すメッセージが返されます。

  • クエリリクエスト: SQL ステートメントを実行して、ApsaraDB for SelectDB でクエリリクエストを開始できます。リクエストが受信されると、インスタンスはリクエスト内の SQL ステートメントを解析し、インテリジェントオプティマイザを使用して効率的なクエリ実行プランを生成し、リクエストを指定されたクラスタに転送します。指定されたクラスタは、クエリリクエストに対して超並列処理 ( MPP ) を実行し、ビジネス要件に基づいて OSS バケットまたはキャッシュからデータを読み取り、クエリが完了した後に MySQL プロトコルを介して結果を返します。クラスタがクエリを実行すると、クラスタはパイプライン実行アーキテクチャとインデックス作成、キャッシュ、ベクトル化などのテクノロジーを使用してクエリを高速化します。これにより、ApsaraDB for SelectDB の強化されたデータ分析パフォーマンスを体験できます。次の図は、ApsaraDB for SelectDB がクエリリクエストを処理する方法を示しています。

    image

クラスタ

ApsaraDB for SelectDB のクラスタは、1 つ以上の BE を含む分散システムです。各 BE には、コンピューティングリソースとキャッシュリソースが備わっています。コンピューティングとストレージの分離アーキテクチャでは、OSS にアクセスするために長期間が必要です。この場合、データアクセスを高速化するためにキャッシュが導入されます。ApsaraDB for SelectDB は、インメモリキャッシュやディスクベースキャッシュなどのマルチレベルキャッシュメカニズムをサポートしています。クラスタは柔軟にスケーリングできます。スケーリング中は、キャッシュがプリフェッチされ、移行されて、スムーズな分析が保証されます。

ApsaraDB for SelectDB は、マルチクラスタアーキテクチャをサポートしています。インスタンスには複数のクラスタを含めることができ、これらは従来の分散アーキテクチャのコンピューティングキューまたはグループに似ています。同じインスタンス内の複数のクラスタには、次の機能があります。

  • データ共有: 複数のクラスタが基盤となる OSS データを共有およびアクセスします。これにより、冗長データストレージが不要になります。

  • コンピューティングの分離: 複数のクラスタのコンピューティングリソースとキャッシュリソースは完全に独立しています。これらのクラスタを使用して、異なるワークロードを分離できます。ビジネス要件に基づいて、異なるクラスタに異なる仕様のコンピューティングリソースとストレージリソースを購入できます。データは、そのアクセス特性に基づいてキャッシュされます。

  • 同時データ読み取りと書き込み: マルチクラスタアーキテクチャでは、読み取り操作と書き込み操作を並行して実行できます。データが書き込まれた後、書き込まれたデータはすべてのクラスタですぐにクエリできます。

上記の機能に基づいて、マルチクラスタアーキテクチャは、データ読み取りをデータ書き込みから分離したり、オンラインデータをオフラインデータから分離したり、本番環境をテスト環境から分離したりする場合によく使用されます。

ストレージ

ApsaraDB for SelectDB は、永続データストレージ用のストレージシステムとして、信頼性が高く費用対効果の高い OSS サービスを使用しています。OSS 固有の高い信頼性により、ApsaraDB for SelectDB は、分散データウェアハウスシステムでデータレプリカを維持する必要はありません。OSS の手頃な価格を活用することで、SelectDB のユニットあたりのストレージコストは、従来のデータウェアハウスソリューションと比較して 90 % 以上削減されます。

ApsaraDB for SelectDB を使用する場合、ストレージリソースを予約する必要はありません。ストレージリソースは従量課金制で課金されます。また、ストレージプランを使用してストレージコストをさらに削減することもできます。

分析パフォーマンスを向上させるために、ApsaraDB for SelectDB のストレージシステムとコンピューティングシステムは互いに深く統合されています。

  • データ編成: データのアクセス効率を向上させるために、ApsaraDB for SelectDB は、基盤となるデータをきめ細かく編成します。

    • データパーティション分割: データは時間またはハッシュ値で分割されます。このように、データは分散され、分散クラスタの処理能力を最大限に活用します。これは、データクエリの際のデータプルーニングにも役立ちます。

    • ハイブリッド行-列ストレージ: デフォルトの列ストアは、大量データの効率的な分析をサポートしています。行ストアは、ビジネス要件に基づいて使用して、高パフォーマンスのポイントクエリをサポートできます。

    • 広範なインデックス: さまざまなインデックスとフィルター条件を使用して、データを正確に特定できます。このように、クエリパフォーマンスが桁違いに向上します。

  • データモデル: ApsaraDB for SelectDB は、一般的なデータ分析シナリオ向けに最適化されたデータモデルを提供します。

    • 一意モデル: これらのモデルは、一意の主キーまたは効率的な更新が必要なシナリオに適しています。たとえば、eコマース注文やユーザー属性データの分析などのデータ分析シナリオで一意モデルを使用できます。

    • 集計モデル: これらのモデルは、すべての元のデータレコードが保持されるシナリオに適しています。たとえば、ログ分析や請求分析などの詳細なデータ分析で集計モデルを使用できます。

    • 重複モデル: これらのモデルは、事前集計を使用してクエリパフォーマンスを向上させる集計統計シナリオに適しています。たとえば、Web サイトトラフィック分析やカスタムレポートなどのデータ分析シナリオで重複モデルを使用できます。

外部エコシステム

ApsaraDB for SelectDB は、外部エコシステム内のサードパーティデータソースおよび視覚化ツールと統合できます。これにより、データ分析パフォーマンスが向上します。

  • さまざまなデータインポートツール: これらのツールを使用して、Alibaba Cloud データソースや自己管理データソースなどのさまざまなデータソースから ApsaraDB for SelectDB にデータをインポートできます。ApsaraDB for SelectDB は、安定した効率的で使いやすいデータ統合ソリューションを提供します。詳細については、データインポートツール をご参照ください。

  • 豊富な視覚化データ統合ツール: ApsaraDB for SelectDB は、MySQL 互換の視覚化ツールとシームレスに統合できるため、データ開発と視覚化分析の効率が大幅に向上します。詳細については、データの視覚化 をご参照ください。

  • フェデレーテッドクエリ: ApsaraDB for SelectDB は、フェデレーテッドクエリ機能に基づいて、外部データレイクおよびデータベースと統合できます。ApsaraDB for SelectDB はデータの読み取りと書き込みもサポートし、データレイクハウス機能に基づいたデータ分析エクスペリエンスを提供し、データ分析テクノロジスタックのリソースコストとメンテナンスコストを削減します。詳細については、レイクウェアハウス をご参照ください。