Sobre el proyecto
Dynoxide es un emulador de DynamoDB implementado en Rust con SQLite como capa de almacenamiento. Se posiciona como una alternativa más ligera a DynamoDB Local para desarrollo local, pruebas y CI, y puede usarse de varias formas: como servidor HTTP independiente que expone una API compatible con DynamoDB, como servidor MCP (Model Context Protocol) para agentes de programación, como biblioteca embebible para aplicaciones Rust e iOS, y compilado a WebAssembly para uso en el navegador.
Las opciones de instalación y ejecución incluyen npx (npx dynoxide --port 8000), una dependencia de desarrollo de npm, una imagen de Docker (ghcr.io/nubo-db/dynoxide) pensada como reemplazo directo de amazon/dynamodb-local, además de Homebrew, Cargo y binarios precompilados. Cualquier SDK de AWS o cliente de DynamoDB puede apuntarse al endpoint local. La opción --log quiet suprime los mensajes informativos de inicio y apagado en stderr.
El README reporta comparativas de rendimiento frente a DynamoDB Local y LocalStack que cubren el arranque en frío, la latencia de GetItem, el rendimiento de PutItem, los tiempos de ejecución de suites de pruebas, la descarga y el tamaño en disco, y la memoria en reposo. También señala que el proyecto se verifica continuamente contra DynamoDB real mediante Parity Suite, una suite de conformidad pública de DynamoDB, con clasificaciones en vivo publicadas en lugar de una instantánea fijada; el README declara que Dynoxide y Parity Suite comparten un mantenedor. La compilación a WebAssembly se puntúa por separado y actualmente omite más operaciones que otros objetivos.
La funcionalidad soportada abarca tablas, elementos, query y scan, lotes, transacciones, PartiQL, streams, TTL y etiquetas, con soporte de GSI y LSI, sintaxis de expresiones y paginación, validación y códigos de error compatibles con DynamoDB. Las limitaciones documentadas incluyen operaciones exclusivas de la nube no implementadas (copias de seguridad y restauración a un punto en el tiempo, tablas globales, streaming de Kinesis, políticas de recursos, gestión de capacidad), ConsistentRead se acepta pero no tiene efecto porque SQLite es fuertemente consistente, los streams exponen un único shard con parámetros de paginación ignorados, y los errores de contención de transacciones no se emulan. El proyecto está dirigido explícitamente al desarrollo local, pruebas y CI, no al uso en producción.
La documentación cubre la instalación, el servidor HTTP, el uso con Testcontainers, el servidor MCP, DynamoDB Streams, una CLI de importación con filtrado y anonimización de tablas, WebAssembly, la incorporación como biblioteca y los feature flags, la compatibilidad, el versionado y las publicaciones. El README distingue una versión del crate (solo biblioteca Rust) de una versión de producto que abarca el binario, los paquetes npm, las imágenes de contenedor, el motor del navegador y la GitHub Action. Dynoxide tiene doble licencia MIT y Apache 2.0, es una implementación limpia en Rust y reconoce a dynalite como influencia en su semántica de API y su lógica de validación. Declara que no está afiliado, respaldado ni patrocinado por Amazon.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.