PartiQL と SQL

PartiQL は DynamoDB に SQL ライクな構文を与えます。しかしそれは単一テーブルに対する SELECT/INSERT/UPDATE であり、クエリエンジンではありません。JOIN も GROUP BY も、アイテムをまたぐ SUM もありません。習慣で SQL を書くと、PartiQL は見慣れたステートメントをこっそりフルテーブルの Scan にマップし、その分を課金します。

このセクションでは PartiQL について正直な期待値を設定し、そのうえで DynoTable の SQL Workbench が PartiQL にできないこと — JOIN、GROUP BY、集計 — を、境界の定まった結果セットに対してクライアント側で、DynamoDB のアクセスパターンのルールの中にとどまりながらどう実現するかを示します。

7 件中 0 件読了クイズ
DynamoDB の PartiQL vs SQL: 何が違うか(そして何が壊れるか)
DynamoDB の PartiQL は SQL に似ているが別物 — JOIN・GROUP BY・サブクエリ・集計はない。何が違い、何が壊れるか、そして PartiQL では実行できないクエリを DynoTable の SQL Workbench がどう実行するかを解説する。
初級読了 7 分
例で学ぶ DynamoDB の PartiQL
例で学ぶ DynamoDB の PartiQL — SQL ライクな構文での SELECT、INSERT、UPDATE、DELETE、そしてパーティションキーとテーブル全体スキャンにまつわる落とし穴。
初級読了 2 分
DynamoDB のための SQL: 何が動き、何が動かず、そして Workbench
DynamoDB を SQL でクエリできる? PartiQL は SQL 風ですが限定的です — JOIN、GROUP BY、集計はありません。何が動き、何が動かず、DynoTable が本物の SQL をどう実行するか。
初級読了 7 分
DynamoDB の JOIN: テーブルを結合する方法(と、たいてい結合できない理由)
DynamoDB に JOIN はなく、PartiQL でも追加されません。その理由、開発者が使う 4 つの回避策、そして DynoTable の SQL Workbench が本物の JOIN を実行する方法。
中級読了 9 分
DynamoDB GROUP BY: GROUP BY 句なしで集計する方法
DynamoDB と PartiQL には GROUP BY も COUNT/SUM/AVG もありません。集計パターン(アトミックカウンター、Streams + Lambda のロールアップ、アプリ側グループ化)と、DynoTable が GROUP BY を直接実行する方法を学びましょう。
中級読了 9 分
DynamoDB で COUNT・SUM・集計を行う方法
DynamoDB でアイテムをカウントし、SUM や集計を行う方法 — Select=COUNT が何をするか、何ができないか、そして DynoTable の SQL Workbench がどうやって COUNT/SUM/AVG を SQL のように実行するか。
初級読了 8 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

何が本物かを見極めるために、PartiQL と SQL から始めてください。

DynoTable を試すと、Workbench でテーブルに対して SQL を実行できます。