

# SQL から NoSQL に移行する方法について学ぶ
<a name="SQLtoNoSQL"></a>

アプリケーションデベロッパーなら、リレーショナルデータベース管理システム (RDBMS) および構造化クエリ言語 (SQL) を使用した経験があるかもしれません。Amazon DynamoDB を使い始めると、多くの類似点があると同時に、異なる点も多くあることに気づきます。*NoSQL* は、可用性が高く、スケーラブルで、高パフォーマンス用に最適化された、非リレーショナルデータベースシステムについて説明するのに使用される用語です。NoSQL データベース (DynamoDB など) は、リレーショナルモデルの代わりに、キーバリューのペアやドキュメントストレージなど、データ管理のための代替モデルを使用します。詳細については、「[NoSQL とは](https://aws.amazon.com/nosql)」を参照してください。

Amazon DynamoDB は [PartiQL](https://partiql.org/) をサポートしています。PartiQL は、オープンソースの SQL 互換のクエリ言語で、データの格納場所や形式に関係なく、データへの効率的なクエリの実行が簡単に行えます。PartiQL を使用すると、リレーショナルデータベースの構造化データ、オープンデータ形式の半構造化データおよびネストされたデータ、さらには行ごとに異なる属性を許可する NoSQL またはドキュメントデータベース内のスキーマレスデータを簡単に処理できます。詳細については、「[PartiQL Query Language](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html)」(PartiQL クエリ言語) を参照してください。

次のセクションでは、SQL ステートメントを同等の DynamoDB オペレーションと比較および対比しながら、一般的なデータベースタスクについて説明します。

**注記**  
このセクションの SQL の例は、MySQL の RDBMS と互換性があります。  
このセクションの DynamoDB 例では、JSON 形式のオペレーションのパラメータと共に DynamoDB オペレーションの名前を表示します。

**Topics**
+ [リレーショナル (SQL) または NoSQL の選択](SQLtoNoSQL.WhyDynamoDB.md)
+ [リレーショナル (SQL) データベースと DynamoDB へのアクセスの相違点](SQLtoNoSQL.Accessing.md)
+ [テーブル作成時のリレーショナル (SQL) データベースと DynamoDB の相違点](SQLtoNoSQL.CreateTable.md)
+ [リレーショナル (SQL) データベースと DynamoDB からテーブル情報を取得するときの相違点](SQLtoNoSQL.GetTableInfo.md)
+ [テーブルにデータを書き込むときのリレーショナル (SQL) データベースと DynamoDB の相違点](SQLtoNoSQL.WriteData.md)
+ [テーブルからデータを読み込むときの、リレーショナル (SQL) データベースと DynamoDB の相違点](SQLtoNoSQL.ReadData.md)
+ [インデックスを管理するときのリレーショナル (SQL) データベースと DynamoDB の相違点](SQLtoNoSQL.Indexes.md)
+ [テーブル内のデータを変更するときのリレーショナル (SQL) データベースと DynamoDB の相違点](SQLtoNoSQL.UpdateData.md)
+ [テーブルからデータを削除するときのリレーショナル (SQL) データベースと DynamoDB の相違点](SQLtoNoSQL.DeleteData.md)
+ [テーブルを削除するときのリレーショナル (SQL) データベースと DynamoDB の相違点](SQLtoNoSQL.RemoveTable.md)