DynoTable vs DataGrip

DataGrip はバージョン 2023.3 以降 DynamoDB に接続できます。jdbc:dynamodb:// のデータソースをテーブルに向け、データエディタでアイテムを閲覧し、コードエディタで PartiQL を書く、という流れです。DynamoDB 専用クライアントである DynoTable は、PartiQL が拒む JOIN、GROUP BY、集計を実行し、それらをあなたのキーと GSI に対してクライアント側でプランニングします。このページは 2026 年 7 月時点で、両者を DynamoDB クライアントとして比較します。

機能DynoTableDataGrip
DynamoDB 専用に設計はいリレーショナル中心
DynamoDB アイテムの閲覧と編集はいはい
PartiQL クエリエディタはいはい
はいいいえ
クエリプランのプレビュー(Scan/Query + 可能な場合は RCU)はいいいえ
はいいいえ
ビジュアルな Query/Scan ビルダーはいPartiQL のみ
はいいいえ
はいいいえ
テーブル管理(作成・削除、GSI、TTL、キャパシティ)はいいいえ
オフラインで動作(DynamoDB Local)はいはい
料金読み取り専用の Free プラン、年払いで $9/月〜$9/月〜

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

あなたのワークフロー選ぶもの
Postgres、MySQL、DynamoDB を 1 つの JetBrains IDE で SQL 操作したいDataGrip
公式の PartiQL 文法でコードエディタから DynamoDB を閲覧したいDataGrip
稼働中の DynamoDB テーブルに対する JOINGROUP BY、集計DynoTable
コミット前に差分をレビューできる、ステージングされたアイテム編集DynoTable
自分の AWS Bedrock キーで動き、書き込みをステージングする AI エージェントDynoTable

DynoTable は DynamoDB 向けの DataGrip 代替になりますか?

仕事のうち DynamoDB の部分については、なります。DataGrip はリレーショナルデータベースと NoSQL データベースのための JetBrains の IDE で、DynamoDB は接続先およそ 20 種類のうちの 1 つです。1 つのデータベースについてだけ正しければよいクライアントには、それに対してもっと多くのことをする余地があります。このページが本当に扱っているのは、そのトレードオフです。

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 ドキュメント)。

このイントロスペクションの一文はよく読んでください。これは実装が中途半端だという話ではありません。DescribeTable は DynamoDB が公開する唯一のスキーマであり、返すのはキー属性だけです。アイテムが planseatsactivetagsmeta も持っているテーブルでの結果がこちらです。

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

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

SQL の習慣が止まるところ

DataGrip のような IDE にお金を払う理由は、それが自分の SQL を理解してくれることです。DynamoDB に対しては、天井は IDE のものではなく文法のものであり、その文法は小さいのです。以下の各文は ExecuteStatement を通じて DynamoDB のエンドポイントに送られました。レスポンスはそのままの逐語です。

レスポンス
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

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

そのギャップを自分で埋めるということは、結合もグループ化も並べ替えもアプリケーションコードに書くということです。DynoTable の SQL Workbench はそれらを代わりにコンパイルし、あなたのキーと GSI に対してプランニングされたネイティブの QueryScan の呼び出しにまで落とします。右辺のテーブルにパーティションキーで到達できない結合は、黙ってスキャンするのではなく拒否します。何を出力するかは DynamoDB のための SQL が扱います。

もう 1 つ、DataGrip に対応物がないのが AI エージェントです。ベンダーのエンドポイントではなく、あなた自身の AWS Bedrock の認証情報で動きます。そのアカウント境界とアクションごとの承認については AI チャットのドキュメントが明記しています。

DataGrip から乗り換える方法

  1. macOS、Windows、Linux 向けに DynoTable をダウンロードしてインストールします。
  2. jdbc:dynamodb:// のデータソースで使っていたものと同じ AWS プロファイルで接続を追加します。DynoTable は標準の AWS 認証情報チェーンを読むので、プロファイルとリージョンはそのまま引き継がれます。
  3. 同じリージョンとテーブルに向けます。データは DynamoDB に留まるので、移行するものはありません。
  4. SQL Workbench を開き、上の 6 つの文のどれでも実行してみてください。結合の右辺テーブルにパーティションキーか GSI のパーティションキーで到達できる限り、6 つすべてがコンパイルされます。到達できない場合は Workbench がそう伝えます。

トライアルは30日間無料で、クレジットカードは不要です。その後も DynoTable は Free プランのままです — 閲覧、PartiQL SELECT、エクスポート、MCP でのスキーマ/アイテムの読み取り、期限なし。現在のプランは 料金を参照してください。

よくある質問

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

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

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

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

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

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

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

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

料金のスナップショット

DataGrip は JetBrains の IDE サブスクリプション(All Products Pack / DataGrip 単体 — 現在のシート料金は JetBrains の価格ページを確認してください)の一部として販売されています。DynoTable は DynamoDB ワークベンチ単体のシート単位の価格です。Personal と Team の最新の数字は /pricing を参照してください。チームが Postgres/MySQL のためにすでに DataGrip を払っていて、DynamoDB にはたまにしか触らないのであれば、DataGrip を残したうえで DynamoDB ネイティブのクライアントを併用するほうが、DynamoDB のワークフローを全部 JDBC に通すより安く済むことがあります。DynamoDB が日々の主役なら、ステージングされたコミットと DynamoDB を理解した Workbench を備えた専用クライアントのほうが、修正までの時間でたいてい勝ちます。

関連ページ

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

Console なしで DynamoDB を扱う

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

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