VoltDB - VoltDB

VoltDB
Разработчики)VoltDB Inc.
Стабильный выпуск
10.1 / 30 октября 2020 г.; 32 дней назад (2020-10-30)
Репозиторий Отредактируйте это в Викиданных
Написано вЯва, C ++
Операционная системаLinux, macOS
ПлатформаЯва
ТипСУБД
ЛицензияСтандартная общественная лицензия GNU Affero v3, проприетарная лицензия VoltDB
Интернет сайтVoltdb.com

VoltDB является база данных в памяти разработано Майкл Стоунбрейкер (кто ранее проектировал Ingres и PostgreSQL ), Сэм Мэдден, и Даниэль Абади. Это КИСЛОТА -соответствующий СУБД который использует общая архитектура. Он включает как корпоративную, так и общественную редакцию. Версия для сообщества находится под лицензией Стандартная общественная лицензия GNU Affero.

Архитектура

VoltDB - это NewSQL реляционная база данных что поддерживает SQL доступ из предварительно скомпилированного Хранимые процедуры Java. Единицей транзакции является хранимая процедура, написанная на Java с вкраплениями SQL. Внутренние данные управляются ядром C ++, чтобы избежать проблем со сборкой мусора.[1]

VoltDB полагается на горизонтальную разделение вплоть до отдельной аппаратной резьбы для масштабирования, k-безопасность (синхронная репликация ) предоставлять высокая доступность, и сочетание непрерывных снимки и ведение журнала команд для долговечность (восстановление после сбоя).

VoltDB основан на H-Store. Для масштабирования используется архитектура без совместного использования ресурсов. Данные и связанная с ними обработка распределяются по ядрам ЦП на серверах, составляющих единый кластер VoltDB. Расширяя свою основу без совместного использования до уровня отдельных ядер, VoltDB масштабируется с увеличением числа ядер на ЦП на многоядерных серверах.

Сделав хранимые процедуры единицей транзакции и выполняя их в разделе, содержащем необходимые данные, можно исключить двусторонний обмен сообщениями между операторами SQL. Сохраненные процедуры выполняются последовательно и до завершения в одном потоке без блокировки или защелкивания, аналогично LMAX архитектура.[2] Поскольку данные находятся в памяти и являются локальными для раздела, хранимая процедура может выполняться за микросекунды. Схема запуска хранимых процедур VoltDB позволяет всем узлам инициировать хранимые процедуры, избегая при этом единого сериализуемого глобального порядка.[3]

VoltDB соответствует требованиям ACID. Данные записываются в надежное хранилище. Долговечность обеспечивается постоянными снимками; ведение журнала асинхронных команд, которое создает как моментальные снимки, так и журнал транзакций между моментальными снимками; и синхронное ведение журнала команд, при котором транзакции регистрируются после завершения транзакции и до ее фиксации в базе данных. Это гарантирует, что никакие транзакции не будут зафиксированы, которые не зарегистрированы, и что транзакции не будут потеряны.

Приложения должны быть спроектированы таким образом, чтобы все данные, измененные одной хранимой процедурой, хранились в одном разделе.

История

VoltDB v5.0 представил инструмент мониторинга и управления базами данных, VoltDB Management Center (сокращенно VMC). VMC обеспечивает универсальный мониторинг и управление конфигурацией базы данных VoltDB на основе браузера, включая графики пропускной способности и задержки кластера, а также использования ЦП и памяти для текущего сервера.

VoltDB версии 5.1, выпущенный в марте 2015 года, представляет функциональность репликации базы данных, устраняя любую единую точку отказа. DR обеспечивает одновременную параллельную репликацию нескольких разделов и двоичных журналов результатов транзакций, избавляя реплику от необходимости повторять транзакцию.

Смотрите также

Рекомендации

  1. ^ «Развенчание мифов о базе данных VoltDB в оперативной памяти - DZone Java». dzone.com. Получено 2020-11-13.
  2. ^ «Архитектура LMAX». martinfowler.com. Получено 2019-04-07.
  3. ^ "Центр разработки БД". VoltDB. Получено 2019-04-07.

внешняя ссылка