Einsteiger6 Min. Lesezeit

Wie man DynamoDB mit KI abfragt (natürliche Sprache)

„Zeig mir die fehlgeschlagenen Bestellungen der letzten Woche" ist ein Einzeiler in deinem Kopf und eine KeyConditionExpression mit Platzhalter-Maps auf der Leitung. Diese Lücke zu schließen ist das, was „DynamoDB mit KI abfragen" tatsächlich bedeutet — denn die DynamoDB-API selbst hat keinen Endpoint für natürliche Sprache. Jeder Request besteht weiterhin aus Ausdrücken oder ; die KI sitzt in der Tooling-Schicht und übersetzt deine Absicht in sie.

Diese Übersetzung kann richtig großartig oder leise gefährlich sein, abhängig von einer einzigen Sache: ob das Modell dein echtes Schema sehen kann. Dieser Guide behandelt die drei funktionierenden Setups und wo jedes davon bricht.

Wie frage ich DynamoDB in natürlicher Sprache ab?

Drei echte Optionen: Bitte ein allgemeines LLM, PartiQL zu entwerfen, und führe es selbst aus (schnell, aber das Modell rät deine Attributnamen), verbinde einen KI-Agent über einen MCP-Server mit DynamoDB, damit er wirklich inspizieren und abfragen kann, oder nutze einen DynamoDB-Client mit eingebautem schema-bewusstem Assistenten — der KI-Chat von DynoTable verwandelt Alltagssprache in PartiQL oder SQL gegen dein tatsächlich indiziertes Schema, berechnet exakte Aggregate über die ganze Tabelle und merkt jeden Schreibvorgang zu deiner Prüfung vor.

Option 1: LLM-entworfenes PartiQL, von dir ausgeführt

Die Null-Setup-Variante: Beschreibe die Abfrage einem beliebigen fähigen Modell, bekomme PartiQL zurück, führe es im PartiQL-Editor der Konsole oder per CLI aus:

aws dynamodb execute-statement \
  --statement "SELECT * FROM \"Orders\" WHERE PK = 'ORDER#1001'"

Es funktioniert — und es scheitert auf drei vorhersehbare Arten:

  • Das Modell kann deine Tabelle nicht sehen. Es erfindet selbstbewusst Attributnamen und Schlüsselformen (orderId, wenn deiner PK = ORDER#<id> ist). Am Ende debuggst du halluziniertes Schema, statt die Abfrage zu schreiben.
  • PartiQLs Limits gelten weiterhin. Ein SELECT liest genau eine Tabelle, und ein WHERE, das keinen Schlüssel festnagelt, wird zu einem Full-Table-Scan — stillschweigend teuer, genau als hättest du ihn selbst geschrieben. Das Modell warnt dich selten; PartiQL vs SQL erklärt, was die SQL-Oberfläche bringt und was nicht.
  • Schema oder Daten in einen Chatbot zu pasten ist eine Data-Governance-Entscheidung. Beispiel-Items in einem Prompt sind Produktionsdaten, die deine Grenze verlassen.

Gut für Einmal-Abfragen auf einem Schema, das du aus dem Gedächtnis pasten kannst; wackelig als Workflow.

Option 2: ein per MCP verbundener KI-Agent

Der strukturelle Fix für „das Modell kann deine Tabelle nicht sehen" ist, dem Agent Tools zu geben statt eines in den Prompt gepasteten Schemas. Genau das tut das Model Context Protocol (MCP): Ein MCP-Server stellt DynamoDB-Operationen als typisierte Tools bereit, und jeder MCP-fähige Agent (Claude, IDE-Assistenten, eigene Agents) kann Tabellen auflisten, Schlüssel inspizieren und Abfragen ausführen, deren echte Ergebnisse in die Konversation zurückfließen.

Wir behandeln das vollständige Setup — und die Fragen zu Zustimmung, Scoping und Schreibsicherheit, die entstehen, wenn man einen Agent an eine Datenbank lässt — in DynamoDB mit einem MCP-Server nutzen. DynoTable selbst liefert einen mit: Es kann externen Agents abgesicherte, Loopback-only-Tools bereitstellen, mit Zustimmung und Scopes pro Verbindung.

Das ist die richtige Architektur, wenn der Agent das Produkt ist — ein Support-Bot, ein interner Slack-Assistent. Für die interaktive Alltagsarbeit bleibt dir dabei trotzdem, Agent, Server und Credentials selbst zusammenzustecken.

Option 3: ein schema-bewusster Assistent in deinem DynamoDB-Client

Der eingebaute Assistent von DynoTable ist die integrierte Variante: Er lebt neben deinen Tabellen (⌘;) und liest dein indiziertes Schema — die Tabellen unter dem aktiven Profil, ihre Schlüssel und Indizes, die per Tabellen-Indizierung entdeckten Attributpfade und -typen, sogar Beispielwerte —, sodass „filtere das auf letzte Woche" gegen deine echten Attributnamen aufgelöst wird, nicht gegen eine Vermutung. Tippe @, um eine @table, @column oder @gsi explizit zu referenzieren.

Der DynoTable-KI-Chat, angedockt neben einem Tabellen-Tab: eine Frage in Alltagssprache, die generierte Abfrage und das Ergebnis, das sich als View öffnet.
Der DynoTable-KI-Chat, angedockt neben einem Tabellen-Tab: eine Frage in Alltagssprache, die generierte Abfrage und das Ergebnis, das sich als View öffnet.

Was er mit einer Frage macht, laut Capability-Katalog:

  • Schreibt die Abfrage für dich — schreibgeschütztes PartiQL oder Workbench-SQL, wenn die Frage JOIN / GROUP BY / Aggregate braucht (die Analytik, die DynamoDBs API nicht hat) — und schlägt das Ergebnis als Chip vor, den du anklickst, um es als echten Tab zu öffnen.
  • Berechnet exakte Antworten über die ganze Tabelle. Frag nach einer Anzahl, Summe, einem Durchschnitt oder einer Aufschlüsselung pro Gruppe, und er liest jedes passende Item, keine gesampelte Seite — „Wie viele Bestellungen letzten Monat?" spiegelt die tatsächliche Tabelle. Er kann denselben Durchlauf in eine transformierte Exportdatei umformen.
  • Merkt jeden Schreibvorgang vor. Bitte ihn, eine Zeile zu reparieren, und die Änderung landet als prüfbarer Diff im Staging-Bereich — der Assistent kann in keinem Berechtigungsmodus direkt nach DynamoDB schreiben, eine Tabelle per Batch löschen oder die Tabellenstruktur ändern. Du prüfst, du committest.
  • Fragt, bevor er dein Geld ausgibt. Lesevorgänge, die AWS treffen und Kapazität kosten, sind hinter Berechtigungen abgesichert (Manual / Auto / Full Auto, pro Profil), und jede abgesicherte Entscheidung landet in einem lokalen, immer aktiven Audit-Log.

Das Vertrauensmodell zählt genauso viel wie die Features: Der Assistent läuft auf deinen eigenen AWS-Bedrock-Credentials und spricht direkt mit Bedrock in deinem Konto — Prompts, Schema und Tabellendaten laufen nie über DynoTables Server, und die Inferenz wird dir zu Bedrocks eigenen Preisen ohne Aufschlag berechnet. Tool-Ergebnisse werden als nicht vertrauenswürdige Daten behandelt, sodass eine Zeile mit „ignore previous instructions" den Agent nicht kapern kann.

Was KI an DynamoDB NICHT ändert

Jede ehrliche KI-Schicht erbt die Physik der Datenbank:

  • Zugriffsmuster regieren weiterhin. „Where status = X" über ein Nicht-Schlüssel-Attribut ist ein gefilterter Scan, egal wer ihn schreibt — das Modell tippt die teure Abfrage nur schneller. Wenn eine Frage immer wieder Scans erzwingt, ist die Lösung Modellierung (ein GSI, ein besserer Sort-Key), kein besserer Prompt.
  • Lesevorgänge kosten echte Kapazität. Ein exaktes Aggregat über die ganze Tabelle ist ein Lesevorgang über die ganze Tabelle. Gute Tools sichern ihn ab und sagen es; der Preisrechner verrät dir, was ein voller Durchlauf kostet, bevor du ihn genehmigst.
  • Determinismus hat seinen Platz. Für eine Abfrage, die du für immer in Produktion ausführen wirst, baue den Ausdruck einmal im Expression Builder von Hand und shippe die exakten Names-/Values-Maps — KI ist fürs Erkunden, der Builder ist für den Code, den du committest.

FAQ

Kann ich DynamoDB in Alltagssprache abfragen? Nicht gegen die API selbst — DynamoDB spricht nur Ausdrücke und PartiQL. Aber eine KI-Schicht kann übersetzen: ein LLM, das PartiQL entwirft, ein MCP-verbundener Agent oder ein schema-bewusster Assistent wie der von DynoTable, der die Abfrage gegen dein echtes Schema generiert und ausführt.

Hat DynamoDB ein eingebautes KI-Abfrage-Feature? Die DynamoDB-API hat keinen Endpoint für natürliche Sprache. Was auch immer du an KI-Abfragen bekommst, kommt aus der Tooling-Schicht darüber — weshalb das Sicherheitsmodell dieses Toolings (Lese-Gates, vorgemerkte Schreibvorgänge, deine eigenen Credentials) das ist, was du bewerten solltest.

Ist es sicher, KI an Produktionsdaten zu lassen? Es ist eine Berechtigungsfrage. Achte auf: Lesevorgänge hinter expliziter Genehmigung, Schreibvorgänge, die in einem prüfbaren Staging-Bereich landen, statt direkt ausgeführt zu werden, ein Audit-Log und Inferenz auf Credentials, die du kontrollierst. DynoTables Assistent erfüllt alle vier; ein Chatbot mit deinen gepasteten Daten keinen davon.

Kann die KI Tabellen joinen oder GROUP BY machen? Nicht über die DynamoDB-API — dafür existiert keine Engine. DynoTables Assistent beantwortet solche Fragen über sein schreibgeschütztes Workbench-SQL (echtes JOIN, GROUP BY und Aggregate innerhalb der Zugriffsmuster-Regeln von DynamoDB), wo auch Count-/Sum-/Average-Fragen landen.

Was kostet das? Zwei Zähler: DynamoDB-Lesekapazität für das, was die Abfragen anfassen (der Assistent fragt vor abgesicherten Lesevorgängen), und Bedrock-Inferenz, abgerechnet auf dein eigenes AWS-Konto — DynoTable schlägt nichts auf und proxied nichts.

Stell deine nächste Frage in Alltagssprache — lade DynoTable herunter, richte die KI auf dein eigenes Bedrock und halte jeden Schreibvorgang hinter einer Prüfung.

Aktualisiert