DynoTable vs DataGrip

DataGrip はリレーショナルデータベースと NoSQL データベースのための JetBrains の IDE で、DynamoDB はそのホームページに名前が挙がる 26 種類のデータベースのうちの 1 つです。バージョン 2023.3 以降は、jdbc:dynamodb:// のデータソースをテーブルに向け、データエディタでアイテムを閲覧・編集し、コードエディタで PartiQL を書けます。

DynoTable は、その仕事のうち DynamoDB の部分を担う DataGrip の代替です。DynamoDB 専用クライアントとして、PartiQL が拒む JOIN、GROUP BY、集計を実行し、それらをあなたのキーと GSI に対してクライアント側でプランニングします。以下の内容は 2026 年 10 月時点のものです。

機能DynoTableDataGrip
DynamoDB 専用に設計はいマルチデータベース IDE
はいグリッドで閲覧・編集可(ネスト型と行削除に未解決のバグ)
PartiQL クエリエディタはいはい
はいいいえ
クエリプランのプレビュー(Scan/Query + 可能な場合は RCU)はいいいえ
はいいいえ
ビジュアルな Query/Scan ビルダーはいPartiQL のみ
はいいいえ
はいMCP サーバー。同意プロンプトあり、ステージングされた差分なし
はいいいえ
テーブル管理(作成・削除、GSI、TTL、キャパシティ)はいいいえ
DynamoDB Local 対応はいはい
料金読み取り専用の Free プラン、年払いで $9/月〜非商用は無料。年払いで $9/月〜(個人、初年度)

DataGrip を使い続けるか、DynoTable に乗り換えるか

あなたのワークフロー選ぶもの
Postgres、MySQL、DynamoDB を 1 つの JetBrains IDE で SQL 操作したいDataGrip
すでに DataGrip のライセンスがあり、DynamoDB にはたまにしか触らないDataGrip
稼働中の DynamoDB テーブルに対する JOIN、GROUP BY、集計DynoTable
DynamoDB の編集をステージングし、コミット前に属性ごとの差分をレビューしたいDynoTable
自分の AWS Bedrock キーで動き、書き込みをステージングする AI エージェントDynoTable

DataGrip が DynamoDB 接続で提供するもの

2023.3 の JetBrains のリリースノートによれば 3 つです。データビューア、コードエディタでの PartiQL、そして「Tables with keys and indexes are now introspected」。接続はドキュメント化された 3 つの形式を取ります。ローカルインスタンス向けの jdbc:dynamodb://localhost:8000、名前付き AWS プロファイル向けの jdbc:dynamodb://、そしてリージョンを固定する jdbc:dynamodb://?region=eu-west-1 です(DataGrip ドキュメント)。同じヘルプページではこれを「Data editor and viewer」と呼んでいます。JetBrains の課題トラッカーには、ネストしたリストやマップの値の編集と、行の削除に関する未解決のバグがあります(DBE-20629、DBE-21471)。

このイントロスペクションの一文は、DynamoDB が公開するスキーマのすべてをカバーしています。DescribeTable が返すのはキー属性だけです。アイテムが plan、seats、active、tags、meta も持っているテーブルでの結果がこちらです。

"AttributeDefinitions": [
  {"AttributeName": "pk", "AttributeType": "S"},
  {"AttributeName": "sk", "AttributeType": "S"}
]

5 つの属性が欠けているのは、DynamoDB がそれらを記録したことがないからです。それ以外にクライアントがあなたのテーブルについて知っていることは、アイテムを読んで推測した結果です。

SQL の習慣が止まるところ

DataGrip のような IDE にお金を払う理由は、それが自分の SQL を理解してくれることです。DynamoDB に対しては PartiQL の文法をそのまま渡すことしかできず、その文法は小さいのです。以下の各文は ExecuteStatement を通じて DynamoDB Local 3.3 に送られました。レスポンスはそのままの逐語です。

文レスポンス
SELECT * FROM orders o JOIN customers c ON o.customerId = c.customerIdValidationException: Only select from a single table or index is supported.
SELECT status, SUM(amount) FROM orders GROUP BY statusValidationException: Unsupported clause: GROUP BY
SELECT COUNT(*) FROM ordersValidationException: Unexpected path component at 1:8:5
SELECT DISTINCT status FROM ordersValidationException: Unsupported token in expression: DISTINCT
SELECT * FROM orders ORDER BY amount DESCValidationException: Must have WHERE clause in the statement when using ORDER BY clause.
SELECT * FROM orders WHERE orderId = '1' ORDER BY amount DESCValidationException: Variable reference amount in ORDER BY clause must be part of the primary key

DynamoDB は、結果セットをキー以外の属性で並べ替えることができません。AWS が公開している SELECT の文法が許すのは、1 つの FROM のテーブルかインデックス、任意の WHERE、そしてハッシュキーかソートキーに限定された ORDER BY だけです(PartiQL SELECT リファレンス)。DataGrip はあなたの文を、その文法を迂回してコンパイルするのではなく、そのまま文法に渡します。

そのギャップを自分で埋めるということは、結合もグループ化も並べ替えもアプリケーションコードに書くということです。DynoTable の SQL Workbench はそれらを代わりにコンパイルし、テーブルのキースキーマに対してプランニングされたネイティブの Query と Scan の呼び出しにまで落とします。

結合するには、結合先のテーブルが結合属性でキー付けされている必要があります。ソートキーを持たないテーブルのパーティションキーか、ちょうど 1 つの GSI のパーティションキーです。それ以外の結合は、結合先のテーブルを黙ってスキャンするのではなく、Workbench が拒否します。

コストのモデルは DynamoDB のままです。2 行目のようにパーティションキーの等価条件を持たない GROUP BY は、やはり全アイテム分が課金される完全な Scan になります。また集計の列は、すべてのページを読み終えるまで (partial) と表示されます。何を出力するかは DynamoDB のための SQL が扱います。

JOIN と GROUP BY を Query と Scan 呼び出しにコンパイルする DynoTable SQL Workbench。
JOIN と GROUP BY を Query と Scan 呼び出しにコンパイルする DynoTable SQL Workbench。

AI エージェントとベクトル検索

DataGrip 2026.1 は、MCP サーバー経由でデータベースにアクセスする AI エージェント(Claude Agent、Codex)を追加しました。データを読んだり変更したりする前には同意を求めるプロンプトが出ます(What's New in DataGrip 2026.1)。DynoTable のエージェントはあなた自身の AWS アカウントの Amazon Bedrock 上で動き、DynamoDB への書き込みはステージングしかできないので、レビューはあなたが行います(AI チャットのドキュメント)。

DynamoDB に何も書き込まれる前の、DynoTable のステージングされたコミットの diff。
DynamoDB に何も書き込まれる前の、DynoTable のステージングされたコミットの diff。

AWS は「Vector indexes are not accessible through PartiQL」(ベクトルインデックスには PartiQL からアクセスできない)と明言しており(ベクトル検索の要件)、DataGrip の DynamoDB ドキュメントにはそれ以外のベクトル機能の記載もありません。DynoTable はインデックスを作成し(有料、オンデマンドのテーブルのみ、DynamoDB Local では不可)、貼り付けたベクトル、Find similar、またはあなたのアカウントで Bedrock のトークンを消費する打ち込んだ文章で検索します。詳しくはベクトル検索をご覧ください。

DataGrip から乗り換える方法

  1. macOS(Apple Silicon)、Windows、Linux 向けに DynoTable をダウンロードしてインストールします。
  2. jdbc:dynamodb:// のデータソースごとに、同じ AWS プロファイルで DynoTable のプロファイルを作成し、そのデータソースが使っていたリージョン(?region= の値があればそれ)を選びます。各プロファイルはリージョンを 1 つに固定し、⌘P でプロファイルを切り替えます。
  3. jdbc:dynamodb://localhost:8000 のデータソースは、ポート 8000 の DynamoDB Local プロファイルになります。テーブルはそのままの場所にあるので、移行するものはありません。
  4. DataGrip のクエリコンソールにある PartiQL を、DynoTable の PartiQL エディタに貼り付けます。同じ DynamoDB の PartiQL なので書いたとおりに動き、UPDATE、INSERT、DELETE には Commit changes か Stage changes のボタンが付きます。
  5. SQL Workbench を開き、上の表の文を実行します。JOIN は、customers が customerId だけでキー付けされているか、それをキーとする GSI が 1 つあればコンパイルされます。そうでなければ、実行前に Workbench が理由を示します。

DataGrip は非商用利用なら無料です。個人が商用で使う場合のライセンスは初年度 $109(2 年目 $87、3 年目以降 $65)、または月払いで $10.90、組織向けシートは年 $259 です。

DynoTable のトライアルは 30 日間無料で、クレジットカードは不要です。有料シートは 年払いで月 $9(年 $108)、月払いなら $12 です。Team の料金は料金を参照してください。トライアル後は Free プランに残ります。Free プランには無料の DynoTable アカウントが必要で、閲覧、PartiQL SELECT、アプリ内エクスポート、読み取り専用の MCP を期限なしで使えます。

よくある質問

DataGrip は DynamoDB に対応していますか?

はい、DataGrip 2023.3 以降なら対応しています。jdbc:dynamodb:// のデータソースを接続し、データエディタでアイテムを閲覧・編集し、DynamoDB がサポートする PartiQL のサブセットを実行できます。JOIN、GROUP BY、DISTINCT、集計関数はそのサブセットの外なので、DynamoDB はそれらに対して ValidationException を返します。

DataGrip から DynamoDB に対して JOIN を実行できますか?

いいえ。2 テーブルの SELECT は ValidationException: Only select from a single table or index is supported. として返ってきます。このエラーを返しているのは DynamoDB 自身なので、どの PartiQL クライアントでも回避できません。DynoTable の SQL Workbench は、あなたのキーと GSI に対して結合をクライアント側でコンパイルします。

DynamoDB のクエリをキー以外の属性で並べ替えられますか?

PartiQL ではできません。普通の属性に対する ORDER BY は ValidationException: Variable reference amount in ORDER BY clause must be part of the primary key を返し、WHERE を完全に省くとその前に失敗します。キー以外での並べ替えは、行が届いた後に、クライアントか自分のコードで行うしかありません。

関連ページ

最終確認 2026-10-09、JetBrains の DataGrip のドキュメント、料金ページ、What's New ページ、および AWS の PartiQL リファレンスに照らして確認しました。ValidationException のレスポンスは 2026-07-28 に DynamoDB Local 3.3.0 に対して再現し、2026-10-09 に DynamoDB Local 3.3.1 に対して ExecuteStatement 経由で再実行したもので、文字列はそのままの逐語です。DataGrip は JetBrains s.r.o. の商標であり、ここでは識別目的でのみ言及しています。

Console なしで DynamoDB を扱う

DynamoDB では実行できない本物の SQL(JOINs、GROUP BY、集計)を実行する高速な DynamoDB デスクトップクライアント。ビジュアル編集と、あなた自身の Bedrock キーで動く AI エージェントを備えています。

30日間無料トライアル、クレジットカード不要 — その後は期限のない Free プラン。