

# Aurora PostgreSQL Limitless Database の　アーキテクチャ
<a name="limitless-architecture"></a>

Limitless Database は、複数のデータベースノードで構成される 2 層アーキテクチャでスケールを実現します。ノードはルーターまたはシャードです。
+ シャードは Aurora PostgreSQL DB インスタンスで、それぞれがデータベースのデータのサブセットを保存するため、同時処理により書き込みスループットが向上します。
+ ルーターはデータベースの分散特性を管理し、データベースクライアントに単一のデータベースイメージを提供します。ルーターは、データの保存場所に関するメタデータを維持し、受信 SQL コマンドを解析して、それらのコマンドをシャードに送信します。次に、シャードからデータを集約して単一の結果をクライアントに返し、分散トランザクションを管理して分散データベース全体の一貫性を維持します。

Aurora PostgreSQL Limitless Database は、標準 [Aurora DB クラスター](Aurora.Overview.md) とは異なり、ライター DB インスタンスとリーダー DB インスタンスの代わりに DB シャードグループを持ちます。Limitless Database のアーキテクチャを構成するすべてのノードは、DB シャードグループに含まれています。DB シャードグループ内の個々のシャードとルーターは、AWS アカウントに表示されません。DB クラスターエンドポイントを使用して、Limitless Database にアクセスします。

次の図は、Aurora PostgreSQL Limitless Database のアーキテクチャの概要を示しています。

![プライマリクラスター、シャードグループ、データ分散を示す Aurora PostgreSQL Limitless Database の高レベルアーキテクチャ。](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/limitless_high_level_arch_GA.png)


Aurora PostgreSQL Limitless Database のアーキテクチャとその使用方法の詳細については、YouTube の AWS Events チャンネルで次の動画を参照してください。

[![AWS Videos](http://img.youtube.com/vi/pUqVCK7Ggh0/0.jpg)](http://www.youtube.com/watch?v=pUqVCK7Ggh0)


標準 Aurora DB クラスターのアーキテクチャの詳細については、「[Amazon Aurora DB クラスター](Aurora.Overview.md)」を参照してください。

## Aurora PostgreSQL Limitless Database の重要な用語
<a name="limitless-terms"></a>

**DB シャードグループ**  
Limitless Database ノード (シャードとルーター) のコンテナ。

**ルーター**  
クライアントからの SQL 接続を受け入れ、SQL コマンドをシャードに送信し、システム全体の一貫性を維持して、結果をクライアントに返すノード。

**シャード**  
シャードテーブルのサブセット、リファレンステーブルの完全なコピー、および標準テーブルを保存するノード。ルーターからのクエリを受け入れますが、クライアントから直接接続することはできません。

**シャードテーブル**  
シャード間でデータが分割されるテーブル。

**シャードキー**  
シャード間のパーティションを決定するために使用される、シャードテーブル内の列または列のセット。

**コロケーションテーブル**  
同じシャードキーを共有し、明示的にコロケーションとして宣言されている 2 つのシャードテーブル。同じシャードキー値のすべてのデータが、同じシャードに送信されます。

**リファレンステーブル**  
すべてのシャードにデータが完全にコピーされたテーブル。

**標準テーブル**  
Limitless Database のデフォルトのテーブルタイプ。標準テーブルをシャードテーブルとリファレンステーブルに変換できます。  
すべての標準テーブルは、システムによって選択された同じシャードに保存されるため、標準テーブル間の結合を 1 つのシャード内で実行できます。ただし、標準テーブルはシャードの最大容量 (128 TiB) によって制限されます。このシャードにはシャードテーブルとリファレンステーブルのデータも保存されるため、標準テーブルの有効な制限は 128 TiB 未満です。

## Aurora PostgreSQL Limitless Database のテーブルタイプ
<a name="limitless-types"></a>

Aurora PostgreSQL Limitless Database は、*シャード*、*リファレンス*、*標準*の 3 種類のテーブルをサポートしています。

シャードテーブルのデータは、DB シャードグループ内のすべてのシャードに分散されます。Limitless Database は、テーブルをパーティション化するときに指定する列または列のセットである*シャードキー*を使用して、これを自動的に実行します。シャードキーの値が同じすべてのデータが、同じシャードに送信されます。シャーディングはハッシュベースであり、範囲ベースまたはリストベースではありません。

以下は、シャードテーブルの適切なユースケースです。
+ アプリケーションが、データの個別のサブセットで動作する。
+ テーブルが非常に大きい。
+ テーブルが、他のテーブルよりも速く成長する可能性がある。

シャードテーブルは*コロケーション*できます。つまり、同じシャードキーを共有し、同じシャードキー値を持つ両方のテーブルのすべてのデータが同じシャードに送信されます。シャードキーを使用してテーブルをコロケーションして結合する場合、結合は 1 つのシャードで実行できます。これは、必要なすべてのデータがそのシャードに存在するためです。

リファレンステーブルは、DB シャードグループ内のすべてのシャード上にすべてのデータの完全なコピーを持ちます。リファレンステーブルは、一般的に書き込み量の少ない小さなテーブルに使用されますが、それでも頻繁に結合する必要があり、シャーディングには適していません。リファレンステーブルの例としては、日付テーブル、都道府県、市、郵便番号などの地理的データのテーブルなどがあります。

標準テーブルは、Aurora PostgreSQL Limitless Database のデフォルトのテーブルタイプです。これらは分散テーブルではありません。Aurora PostgreSQL Limitless Database は、標準テーブルと標準テーブル、シャードテーブル、リファレンステーブル間の結合をサポートしています。

## Aurora PostgreSQL Limitless Database の請求
<a name="limitless-billing"></a>

Aurora PostgreSQL Limitless Database の請求方法については、「[Aurora DB インスタンスの請求](User_DBInstanceBilling.md)」を参照してください。

Aurora の料金情報については、[Aurora の料金表ページ](https://aws.amazon.com/rds/aurora/pricing)を参照してください。