ВольтДБ
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Разработчик(и) | Вольт активных данных |
---|---|
Первоначальный выпуск | 25 мая 2010 г. |
Стабильная версия | 11.3
/ 21 апреля 2022 г |
Репозиторий | |
Написано в | Ява , С++ |
Операционная система | Линукс , МакОС |
Платформа | Ява |
Тип | СУБД |
Лицензия | Стандартная общественная лицензия GNU Affero v3, проприетарная лицензия VoltDB |
Веб-сайт | вольтактивные данные |
Volt Active Data (ранее VoltDB) — это база данных в памяти, разработанная Майклом Стоунбрейкером , Сэмом Мэдденом и Дэниелом Абади.
Это ACID -совместимая СУБД , использующая архитектуру без общего доступа и созданная на основе работы Stonebraker по производительности системы OLTP. [1] и оптимизация. [2]
Он доступен как в корпоративной, так и в общественной версии. Выпуск для сообщества распространяется по лицензии 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 обеспечивает одновременную параллельную репликацию нескольких разделов и двоичные журналы результатов транзакций, избавляя реплику от необходимости воспроизводить транзакцию.
Версия 6.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, а также для связи внутри кластера.
Версия 8.2 [16] (12 июля 2018 г.) представлена функция TTL, которая позволяет приложениям определять «время жизни» в столбце отметки времени в таблице. По истечении срока действия внутренний процесс очищает записи из базы данных.
Версия 8.4 [17] (29 декабря 2018 г.) представила клиентам Volt версии с долгосрочной поддержкой. В этой версии поддержка увеличена с одного года до трех лет, что позволяет клиентам продолжать использовать версию и получать критические обновления для обеспечения стабильности, безопасности и правильности. Версия 9.0 [18] (11 апреля 2019 г.) представлены новые функции потоковой передачи, включая миграцию данных в поток по истечении срока действия и сбор изменений данных.
Версия 9.3 [19] (1 мая 2020 г.), в выпуске с долгосрочной поддержкой (LTS), были представлены запланированные задачи — способ автоматизации повторяющихся задач и вызовов процедур из Volt. Schedule Tasks имеет простой в использовании интерфейс для вызова заранее определенных процедур, а также может быть полностью настроен на Java для создания более сложных расписаний.
Версия 10.0 [20] (август 2020 г.) представил Volt Оператор для Kubernetes и Helm Charts, предлагающий комплексное решение для запуска баз данных VoltDB в облачной среде Kubernetes. Кроме того, в версии 10.0 появился агент Prometheus для сбора и построения графиков показателей.
В10.2 [21] (январь 2021 г.) представили темы VoltDB, обеспечивающие интеллектуальную потоковую передачу существующих возможностей импорта и экспорта VoltDB, но с гибкостью потоков, подобных Kafka. Темы позволяют осуществлять как входящую, так и исходящую потоковую передачу нескольким клиентским производителям и потребителям. Они позволяют интеллектуально обрабатывать и манипулировать данными, проходящими через конвейер. V10.2 — это версия LTS.
Версия 11.0 [22] (21 апреля 2022 г.) представляет возможность подключения к DataDog , поддержку Java 17, совместимость с Kubernetes 22.0 и приоритетные транзакции.
В феврале 2022 года продукт был переименован в Volt Active Data. [23]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «OLTP в Зазеркалье и что мы там нашли» (PDF) . nms.csail.mit.edu .
- ^ «Конец архитектурной эры (пришло время полностью переписать)» (PDF) . nms.csail.mit.edu .
- ^ «Высокопроизводительная СУБД для приложений с быстрой передачей данных, требующих интеллектуальной потоковой передачи транзакций» (PDF) . voltdb.com .
- ^ «Интерфейс JDBC» . voltdb.com .
- ^ «Проектирование хранимых процедур для доступа к базе данных» . voltdb.com .
- ^ «Развенчивание мифов о базе данных VoltDB в памяти — DZone Java» . dzone.com . Проверено 13 ноября 2020 г.
- ^ «Архитектура LMAX» . martinfowler.com . Проверено 7 апреля 2019 г.
- ^ «Центр разработчиков БД» . ВольтДБ . Проверено 7 апреля 2019 г.
- ^ «Примечания к выпуску VoltDB 6» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 6» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 6» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 7» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 7» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 7» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 8» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 8» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 8» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 9» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 9» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 10» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 10» . voltactivedata.com .
- ^ «Примечания к выпуску VoltDB 10» . voltactivedata.com .
- ^ «На сегодняшний день мы — Volt Active Data» . voltactivedata.com . 21 февраля 2022 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- VoltDB в Open Hub
- Курт Монаш (25 мая 2010 г.). «Наконец-то VoltDB запускается» . СУБД 2 . Проверено 9 июля 2011 г.
- «VoltDB анонсирует версию 5.0» . VoltDB, Inc., 28 января 2015 г. Проверено 29 марта 2015 г.
- «Майкл Стоунбрейкер, сооснователь VoltDB и пионер данных в реальном времени, получил премию Тьюринга ACM 2014» . VoltDB, Inc., 26 марта 2015 г. Проверено 29 марта 2015 г.
- «VoltDB стремится к быстрой разработке больших данных» . АДТмаг. 29 января 2015 года . Проверено 29 марта 2015 г.