ElectroDB

Бесплатно
Открытый исходный код

Сайт: electrodb.dev

ElectroDB — библиотека на JavaScript и TypeScript, предназначенная для моделирования данных и упрощённого взаимодействия с базой данных Amazon DynamoDB. Проект фокусируется на поддержке single-table design, предоставляя абстракции для описания схем сущностей, управления индексами и генерации операций чтения и записи. ElectroDB сочетает декларативную модель описания объектов с инструментарием для формирования ключей, выражений и типизированных вызовов к клиенту DynamoDB.

Разработка библиотеки ориентирована на упрощение типичных задач при работе с DynamoDB: создание структурированных моделей данных, сокращение шаблонного кода при формировании запросов и обеспечение лучшей согласованности схемы на уровне приложения. ElectroDB предлагает средства для описания отношений между сущностями, указания ключей сортировки и партиционирования, а также для управления несколькими вторичными индексами. В документации проекта обычно приводятся примеры использования в TypeScript с акцентом на типовую безопасность и удобство интеграции с существующим стэком.

  • Моделирование сущностей: декларативное описание таблиц и сущностей с указанием атрибутов, ключей и связей между объектами.
  • Поддержка single-table design: встроенные паттерны и рекомендации для размещения нескольких типов сущностей в одной таблице DynamoDB.
  • Генерация запросов: автоматическое формирование параметров для операций Get, Put, Query и Update, включая выражения условий и проекций.
  • Типизация для TypeScript: статическая типовая информация для операций с данными, позволяющая снижать число ошибок на этапе компиляции.
  • Работа с индексами: удобное указание и использование глобальных и локальных вторичных индексов при формировании запросов.
  • Управление ключами: функции для конструирования и парсинга составных ключей партиционирования и сортировки.
  • Интеграция с AWS SDK: совместимость с клиентами DynamoDB, позволяющая использовать ElectroDB как прослойку над официальным SDK.
  • Выражения условных операций: поддержка условных обновлений и проверок целостности данных при выполнении транзакций или одиночных операций.
  • Шаблоны проектирования: примеры и утилиты для реализации распространённых моделей данных и отношений «один-ко-многим», «многие-к-многим» в контексте DynamoDB.
  • Документация и примеры: описание типовых сценариев использования, шаблонов и практик для построения надёжных и масштабируемых приложений.
Подробнее