Documentación/DynamoDB
DynamoDB
Base de datos NoSQL clave-valor y de documentos gestionada por AWS.
De un vistazo
- Categoría — Documento
- Lenguaje de query — Expresiones DynamoDB
- Esquema de URI —
dynamodb
Driver de AWS DynamoDB para DBFlux, construido sobre el SDK
aws-sdk-dynamodb.
Funcionalidades
- Driver NoSQL gestionado clasificado como
DatabaseCategory::Documentcon un envelope de comandosQueryLanguage::Custom("DynamoDB"); el editor usa una sintaxis específica de DynamoDB, no SQL. - Configuración de conexión AWS vía región, perfil con nombre y override de
endpoint opcional (para DynamoDB Local o endpoints VPC).
deployment_classesCloudManaged. - Descubrimiento de tables con
ListTablesyDescribeTable, mapeando la metadata de clave de partition key (PK), sort key (SK) y Global/Local Secondary Index (GSI/LSI) a las abstracciones de schema de DBFlux. - Ejecución nativa de envelope de comandos para
scan,query,put,updateydelete. El generador de queries emite envelopes de vista previa con forma de scan y anota que la ejecución puede optimizarse aQuerycuando el filtro coincide con el key schema de la table. - Opciones de lectura para el direccionamiento de índices, control de lectura consistente y una política de fallback de traducción de filtros (filtro del lado del servidor vs. fallback del lado del cliente; el filtrado del lado del cliente se rechaza cuando la política de fallback está configurada para rechazar).
- Operadores WHERE en filtros semánticos:
Eq,Ne,Gt,Gte,Lt,Lte,In,NotIn, y el lógicoAnd/Or(ver Limitaciones paraNot). - Mutaciones: insert (
put), update y delete (INSERT/UPDATE/DELETE). Las escrituras por lotes soportan hasta 25 items (max_insert_values: 25,supports_batch: true) con reintento acotado para items de batch-write no procesados. - Soporte de upsert de un solo item vía un update condicional con fallback a put; el mapa de clave se resuelve desde el filtro o el payload de update (partition key requerida, sort key requerida cuando la table define una).
- Ruta de update multi-item (
updateconmany=true) usando una expresión de update compartida. - Documentos anidados y arrays mapeados a la vista de árbol de documentos
(
NESTED_DOCUMENTS,ARRAYS). - DDL: drop table (
supports_drop_table: true). - Paginación vía page tokens (
PaginationStyle::PageToken).
Limitaciones
- El campo
profile(perfil con nombre de AWS) es un campo de formularioAuthProfileRef. El seam genérico de portabilidad (DbDriver::export_field_hint) mapea todos los camposAuthProfileRefaRequiredOnImport, así que el valor del campo se omite de cualquier bundle exportado y los destinatarios deben suministrar o crear un auth profile coincidente al momento de importar. No se requiere ningún override específico del driver. - La cancelación de query no está soportada; el driver devuelve
NotSupportedpara las solicitudes de cancelación. - La API de envelope de comandos no expone PartiQL ni operaciones de transacción
de DynamoDB; las transacciones están deshabilitadas (
supports_transactions: false). - El upsert de un solo item está soportado (
supports_upsert: true);updateconmany=trueyupsert=truejuntos se rechaza (update_many_with_upsert). - El update masivo y el delete masivo no están soportados
(
supports_bulk_update: false,supports_bulk_delete: false), yRETURNINGno está soportado. - Los filtros semánticos no soportan expresiones
NOTni operadores fuera del conjunto soportado; los operadores no soportados devuelvenNotSupported. - Sin formulario SSL (TLS es manejado por el transporte del SDK de AWS), sin schemas, y sin DDL más allá de drop-table (sin creación/alteración de table, sin creación de índices).
- Las requests de agregación no están soportadas por el planificador semántico.
- El browsing de collections en la capa de request del núcleo permanece basado en offset, mientras que la API subyacente está basada en page-token.