ZettaDB — распределённая реляционно-ориентированная СУБД, ориентированная на масштабирование и высокую доступность в кластерах. Проект развивался в контексте разработки Kunlun (KunlunBase) и позиционируется как система, объединяющая свойства NoSQL и NewSQL: распределённое хранение данных с поддержкой транзакций и согласованности, совместимой с моделью API, похожей на Google Cloud Spanner. Архитектурные решения ZettaDB включают разбиение данных на шарды, репликацию и механизмы отказоустойчивости для обеспечения непрерывной работы при сбоях узлов и сетевых разрывах.
В официальных описаниях проект представлен как платформа для систем с требованием как горизонтального масштабирования, так и строгой согласованности транзакций. Документация и внешние материалы подчёркивают интеграцию с существующими компонентами экосистемы Kunlun, а также совместимость клиентских API и протоколов, ориентированных на распределённые транзакционные операции. При недостатке открытой общедоступной информации о некоторых деталях реализации текст ниже сочетает доступные факты с обоснованным описанием типичных функций для систем данного класса.
- Распределённая архитектура: хранение данных по шардам с балансировкой нагрузки и возможностью горизонтального масштабирования кластера.
- Транзакционная согласованность: поддержка ACID-транзакций или совместимых моделей согласованности с распределённым координированием для многорегиональных сценариев.
- API, совместимый с Cloud Spanner: интерфейсы и модели запросов, ориентированные на взаимодействие с клиентскими библиотеками и инструментами, совместимыми с подобными системами.
- Высокая доступность и репликация: многообразные стратегии репликации и автоматическое переключение при сбоях для минимизации простоя.
- Протоколы согласования: использование алгоритмов для обеспечения согласованности и устойчивости к сетевым разделениям (например, протоколы на основе лидера или согласованных логов).
- Гибридная модель данных: поддержка реляционных типов и операций при высокой скорости обработки, характерной для NoSQL-систем.
- Механизмы управления состоянием кластера: инструменты для мониторинга, управления конфигурацией и масштабирования без остановки сервиса.
- Оптимизация запросов и индексирование: поддержка распределённых индексов и оптимизаторов запросов, адаптированных к шардингу.
- Безопасность и контроль доступа: встроенные механизмы аутентификации, авторизации и шифрования каналов передачи данных между узлами.
- Интеграция с экосистемой Kunlun: совместимость с компонентами и утилитами KunlunBase для упрощения внедрения в существующие среды.