DynamoDB mit AI abfragen (Natural Language)
„Zeig mir die fehlgeschlagenen Orders der letzten Woche“ ist in deinem Kopf ein
One-Liner und auf dem Wire eine KeyConditionExpression mit Placeholder-Maps.
Diese Lücke zu schließen ist, was „DynamoDB mit AI abfragen“ wirklich heißt —
denn die DynamoDB-API selbst hat keinen Natural-Language-Endpoint. Jeder
Request ist weiterhin Expressions oder ; AI sitzt in der
Tooling-Schicht und übersetzt deine Absicht hinein.
Diese Übersetzung kann echt großartig oder still gefährlich sein — abhängig von einem Ding: ob das Modell dein echtes Schema sehen kann. Dieser Guide deckt die drei funktionierenden Setups ab und wo jedes bricht.
Wie frage ich DynamoDB in Alltagssprache ab?
Drei echte Optionen: ein allgemeines LLM bitten, PartiQL zu draften, und selbst ausführen (schnell, aber das Modell rät Attributnamen), einen AI-Agent über einen MCP-Server mit DynamoDB verbinden, damit er wirklich inspizieren und querien kann, oder einen DynamoDB-Client mit eingebautem schema-aware Agent nutzen — der AI-Chat von DynoTable verwandelt Alltagssprache in PartiQL oder SQL gegen dein tatsächliches indexiertes Schema, berechnet exakte Whole-Table-Aggregate und staged jeden Write zur Review.
Option 1: LLM-gedraftetes PartiQL, von dir ausgeführt
Beschreibe die Query jedem fähigen Modell, bekomme PartiQL zurück, fahre sie im PartiQL-Editor der Console oder via CLI:
aws dynamodb execute-statement \
--statement "SELECT * FROM \"Orders\" WHERE PK = 'ORDER#1001'"Es funktioniert — und scheitert auf drei vorhersehbare Arten:
- Das Modell sieht deine Tabelle nicht. Es erfindet selbstbewusst
Attributnamen und Key-Shapes (
orderId, wenn deinsPK = ORDER#<id>ist). Du debugst halluziniertes Schema statt die Query zu schreiben. - PartiQL-Limits gelten weiter. Ein
SELECTliest genau eine Tabelle, und einWHERE, der keinen Key pinnt, wird zu einem Full Table Scan — still teuer, genau als hättest du ihn selbst geschrieben. Das Modell warnt selten; PartiQL vs SQL erklärt, was die SQL-Oberfläche kauft und was nicht. - Schema oder Daten in einen Chatbot zu pasten ist eine Data-Governance- Entscheidung. Sample Items in einem Prompt sind Production-Daten, die deine Boundary verlassen.
Gut für One-off-Queries auf einem Schema, das du aus dem Gedächtnis pasten kannst; wacklig als Workflow.
Option 2: ein AI-Agent verbunden via MCP
Der strukturelle Fix für „das Modell sieht deine Tabelle nicht“ ist, dem Agent Tools zu geben statt eines Prompt-gepasteten Schemas. Das Model Context Protocol (MCP) macht genau das: ein MCP-Server exponiert DynamoDB-Operationen als typed Tools, und jeder MCP-fähige Agent (Claude, IDE-Assistants, Custom Agents) kann Tabellen listen, Keys inspizieren und Queries mit echten Results fahren, die zurück in die Conversation fließen.
Wir decken das volle Setup — und die Consent-, Scoping- und Write-Safety-Fragen, die dazukommen, wenn ein Agent eine Datenbank berührt — in DynamoDB mit einem MCP-Server nutzen ab. DynoTable selbst shipped einen: er kann gated, loopback-only Tools an externe Agents exponieren, mit Per-Connection-Consent und Scopes.
Das ist die richtige Architektur, wenn der Agent das Produkt ist — ein Support- Bot, ein interner Slack-Assistant. Für interaktive Alltagsarbeit lässt es dich trotzdem Agent, Server und Credentials selbst zusammensetzen.
Option 3: ein schema-aware Agent in deinem DynamoDB-Client
Der eingebaute Agent von DynoTable ist die integrierte Version: er
lebt neben deinen Tabellen (⌘;) und liest dein indexiertes Schema
— die Tabellen unter dem aktiven Profil, ihre Keys und Indexes, die von
Table Indexing entdeckten Attributpfade
und Typen, sogar Sample Values — sodass „filter das auf letzte Woche“ gegen deine
echten Attributnamen resolved, nicht gegen eine Vermutung. Tippe @, um eine
@table, @column oder @gsi explizit zu referenzieren.

Was er mit einer Frage macht, laut Capability-Katalog:
- Schreibt die Query für dich — read-only PartiQL, oder Workbench-SQL wenn die
Frage
JOIN/GROUP BY/ Aggregate braucht (die Analytics, die DynamoDBs API nicht hat) — und schlägt das Result als Chip vor, den du klickst, um ihn als echten Tab zu öffnen. - Berechnet exakte Whole-Table-Answers. Frage nach Count, Sum, Average oder Per-Group-Breakdown und er liest jedes matchende Item, keine sampled Page — „wie viele Orders letzten Monat?“ spiegelt die tatsächliche Tabelle. Er kann denselben Pass in eine transformierte Export-Datei umformen.
- Staged jeden Write. Bitte ihn, eine Row zu fixen, und die Änderung landet im Staging-Bereich als reviewbarer Diff — der Agent kann in keinem Permission-Mode direkt auf DynamoDB schreiben, eine Tabelle batch-deleten oder Table Structure ändern. Du reviewst, du commitest.
- Fragt, bevor er dein Geld ausgibt. Reads, die AWS treffen und Capacity kosten, sind permission-gated (Manual / Auto / Full Auto, pro Profil), und jede gated Decision landet in einem lokalen, always-on Audit Log.
Das Trust-Modell zählt so viel wie die Features: der Agent läuft auf deinen eigenen AWS-Bedrock-Credentials und spricht direkt mit Bedrock in deinem Account — Prompts, Schema und Table-Daten routen nie über DynoTable-Server, und Inference wird dir zu Bedrocks eigenen Rates ohne Markup berechnet. Tool Results werden als untrusted Data behandelt, sodass eine Row mit „ignore previous instructions“ den Agent nicht hijacken kann.
Was AI an DynamoDB NICHT ändert
Jede ehrliche AI-Schicht erbt die Physik der Datenbank:
- Access Patterns regieren weiter. „Where status = X“ über ein Non-Key- Attribut ist ein gefilterter Scan, egal wer ihn schreibt — das Modell tippt die teure Query nur schneller. Wenn eine Frage immer wieder Scans erzwingt, ist der Fix Modeling (ein GSI, ein besserer Sort Key), nicht ein besserer Prompt.
- Reads kosten echte Capacity. Ein exaktes Whole-Table-Aggregat ist ein Whole-Table-Read. Gute Tools gaten ihn und sagen es; der Pricing Calculator sagt dir, was ein Full Pass kostet, bevor du ihn freigibst.
- Determinismus hat seinen Platz. Für eine Query, die du forever in Production fährst, baue die Expression einmal im Expression Builder von Hand und shippe die exakten Names/Values-Maps — AI ist für Exploration, der Builder für den Code, den du commitest.
FAQ
Kann ich DynamoDB in Plain English abfragen? Nicht gegen die API selbst — DynamoDB spricht nur Expressions und PartiQL. Aber eine AI-Schicht kann übersetzen: ein LLM, das PartiQL draftet, ein MCP-verbundener Agent oder ein schema-aware Agent wie der von DynoTable, der die Query gegen dein echtes Schema generiert und ausführt.
Hat DynamoDB ein eingebautes AI-Query-Feature? Die DynamoDB-API hat keinen Natural-Language-Endpoint. Welches AI-Querying du bekommst, kommt von der Tooling-Schicht darüber — deshalb ist das Safety-Modell dieses Toolings (Read Gates, staged Writes, deine eigenen Credentials) das, was du evaluieren solltest.
Ist es sicher, AI nahe an Production-Daten zu lassen? Es ist eine Permissions-Frage. Suche nach: Reads hinter expliziter Approval gegated, Writes die in einem reviewbaren Staging-Bereich landen statt direkt zu executen, einem Audit Log und Inference auf Credentials, die du kontrollierst. DynoTables Agent erfüllt alle vier; ein Chatbot mit deinen gepasteten Daten keines.
Kann die AI Tabellen joinen oder GROUP BY machen?
Nicht via der DynamoDB-API — dafür existiert keine Engine.
DynoTables Agent beantwortet diese Fragen über sein Workbench-SQL (echtes JOIN,
GROUP BY und Aggregate innerhalb von DynamoDBs Access-Pattern-Regeln), wohin
auch Count/Sum/Average-Fragen landen.
Was kostet es? Zwei Meter: DynamoDB Read Capacity für das, was die Queries berühren (der Agent fragt vor gated Reads), und Bedrock Inference, die deinem eigenen AWS-Account berechnet wird — DynoTable addiert kein Markup und proxyt nichts.
Stell deine nächste Frage in Alltagssprache — lade DynoTable herunter, zeige AI auf dein eigenes Bedrock und halte jeden Write hinter einer Review.


