ВольтДБ

Программа системы управления реляционной базой данных
Активные данные Вольта
Разработчик(и)Активные данные Вольта
Первоначальный выпуск25 мая 2010 г. (2010-05-25)
Стабильный релиз
11.3 / 21 апреля 2022 г. ; 2 года назад (2022-04-21)
Репозиторий
  • github.com/VoltDB/voltdb
Написано вJava , C++
Операционная системаLinux , macOS
ПлатформаЯва
ТипСУРБД
ЛицензияGNU Affero General Public License v3, VoltDB Proprietary License
Веб-сайтvoltactivedata.com

Volt Active Data (ранее VoltDB) — это база данных в оперативной памяти, разработанная Майклом Стоунбрейкером , Сэмом Мэдденом и Дэниелом Абади.

Это совместимая с ACID СУРБД , которая использует архитектуру без совместного использования ресурсов и создана на основе работы Стоунбрейкера по производительности и оптимизации систем OLTP [1] . [2]

Он доступен в двух версиях: Enterprise и Community. Community Edition распространяется под лицензией GNU Affero General Public License .

Архитектура

VoltDB — это реляционная база данных NewSQL OLTP [3] , которая поддерживает доступ SQL из предварительно скомпилированных хранимых процедур Java .

Хотя прямой доступ SQL поддерживается, [4] наиболее эффективной формой взаимодействия является использование вызовов хранимых процедур, [5] поскольку это требует меньше сетевых поездок. Хранимые процедуры пишутся на Java путем расширения класса VoltProcedure и реализации метода run(), который включает как операторы SQL, так и поддерживающую логику Java. Внутренне данные управляются ядром C++, чтобы избежать проблем со сборкой мусора. [6]

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

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

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

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

История

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

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

V6.0 [9] представил геопространственные типы данных

В версии 6.1 [10] добавлены потоки, которые можно вставлять, с поддержкой агрегации в материализованных представлениях потоковых данных.

В версии 6.6 [11] добавлена ​​поддержка кластеров XDCR, работающих между смешанными версиями Volt, а также смешанных размеров и конфигураций.

В версии 7.1 [12] , выпущенной в марте 2017 года, появилась поддержка шифрования TLS для клиентских сетей.

В версии 7.5 [13], выпущенной 28 июля 2017 года, представлен kafkaloader для загрузки потоковых событий из Kafka непосредственно в таблицу базы данных или в хранимую процедуру для обработки.

В версии 7.6 [14] (28 августа 2017 г.) представлены определяемые пользователем функции SQL, позволяющие клиентам писать пользовательские функции на Java и делать их вызываемыми из оператора SQL. В версии 8.0 [15] (6 февраля 2018 г.) представлено шифрование TLS для сетевого взаимодействия между кластерами с использованием DR и XDCR, а также для внутрикластерной связи.

V8.2 [16] (12 июля 2018 г.) представила функцию TTL, которая позволяет приложениям определять «время жизни» в столбце временной метки в таблице. После истечения срока действия внутренний процесс очищает записи из базы данных.

V8.4 [17] (29 декабря 2018 г.) представила версии Long-Term Supported для клиентов Volt. Эта версия увеличивает поддержку с одного года до трех лет, позволяя клиентам оставаться на версии и получать критические обновления для стабильности, безопасности и корректности. V9.0 [18] (11 апреля 2019 г.) представила новые функции потоковой передачи, включая миграцию данных в поток по истечении срока действия и захват измененных данных.

V9.3 [19] (1 мая 2020 г.), выпуск с долгосрочной поддержкой (LTS), представил запланированные задачи — способ автоматизации повторяющихся задач и вызовов процедур из Volt. Schedule Tasks имеет простой в использовании интерфейс для вызова предопределенных процедур, а также может быть полностью настроен в Java для создания более сложных расписаний.

V10.0 [20] (август 2020 г.) представил Volt Operator для Kubernetes и Helm Charts, предлагающий комплексное решение для запуска баз данных VoltDB в облачной среде Kubernetes. Кроме того, V10.0 предоставил агент Prometheus для сбора и построения графиков метрик.

V10.2 [21] (январь 2021 г.) представил VoltDB Topics для предоставления интеллектуальной потоковой передачи существующих возможностей импорта и экспорта VoltDB, но с гибкостью потоков, подобных Kafka. Topics допускает как входящую, так и исходящую потоковую передачу нескольким производителям и потребителям-клиентам. Они допускают интеллектуальную обработку и манипулирование данными по мере их прохождения по конвейеру. V10.2 — это выпуск LTS.

V11.0 [22] (21 апреля 2022 г.) представляет возможность подключения к DataDog , поддержку Java 17, совместимость с Kubernetes 22.0 и приоритетные транзакции.

В феврале 2022 года продукт был переименован в «Volt Active Data». [23]

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

Ссылки

  1. ^ «OLTP в Зазеркалье и что мы там обнаружили» (PDF) . nms.csail.mit.edu .
  2. ^ «Конец архитектурной эпохи (пришло время для полного переписывания)» (PDF) . nms.csail.mit.edu .
  3. ^ «Высокопроизводительная СУБД для быстрых приложений обработки данных, требующих интеллектуальной потоковой передачи с транзакциями» (PDF) . voltdb.com .
  4. ^ "Интерфейс JDBC". voltdb.com .
  5. ^ «Проектирование хранимых процедур для доступа к базе данных». voltdb.com .
  6. ^ «Развенчание мифов о базе данных VoltDB In-Memory — DZone Java». dzone.com . Получено 13.11.2020 .
  7. ^ "Архитектура LMAX". martinfowler.com . Получено 2019-04-07 .
  8. ^ "DB Developer Central". VoltDB . Получено 2019-04-07 .
  9. ^ "Заметки о выпуске VoltDB 6". voltactivedata.com .
  10. ^ "Заметки о выпуске VoltDB 6". voltactivedata.com .
  11. ^ "Заметки о выпуске VoltDB 6". voltactivedata.com .
  12. ^ "Заметки о выпуске VoltDB 7". voltactivedata.com .
  13. ^ "Заметки о выпуске VoltDB 7". voltactivedata.com .
  14. ^ "Заметки о выпуске VoltDB 7". voltactivedata.com .
  15. ^ "Заметки о выпуске VoltDB 8". voltactivedata.com .
  16. ^ "Заметки о выпуске VoltDB 8". voltactivedata.com .
  17. ^ "Заметки о выпуске VoltDB 8". voltactivedata.com .
  18. ^ "Заметки о выпуске VoltDB 9". voltactivedata.com .
  19. ^ "Заметки о выпуске VoltDB 9". voltactivedata.com .
  20. ^ "Заметки о выпуске VoltDB 10". voltactivedata.com .
  21. ^ "Заметки о выпуске VoltDB 10". voltactivedata.com .
  22. ^ "Заметки о выпуске VoltDB 10". voltactivedata.com .
  23. ^ «На сегодняшний день мы Volt Active Data». voltactivedata.com . 21 февраля 2022 г.
  • Официальный сайт
  • VoltDB в Open Hub
  • Курт Монаш (25 мая 2010 г.). "VoltDB наконец-то запущен". СУБД 2 . Получено 09.07.2011 .
  • "VoltDB объявляет о версии 5.0". VoltDB, Inc. 28 января 2015 г. Получено 29.03.2015 .
  • «Майкл Стоунбрейкер, соучредитель VoltDB и пионер в области данных в реальном времени, получил премию ACM 2014 AM Turing Award». VoltDB, Inc. 26 марта 2015 г. Получено 29.03.2015 .
  • «VoltDB стремится к быстрой разработке больших данных». ADTmag. 29 января 2015 г. Получено 29 марта 2015 г.
Retrieved from "https://en.wikipedia.org/w/index.php?title=VoltDB&oldid=1221655144"