VoltDB

VoltDB
Типреляційна система керування базами даних
РозробникVoltDB Inc.
Стабільний випуск6.0 (27 січня 2016; 8 років тому (2016-01-27))
Версії11.0 (11 серпня 2021)[1]
ПлатформаJVM
Операційна системаLinux, Mac OS X
Мова програмуванняJava, C++
ЛіцензіяGNU General Public License v3, власницька ліцензія VoltDB
Репозиторійgithub.com/VoltDB/voltdb
Вебсайтvoltdb.com

VoltDB — інноваційна відкрита СУБД, котра розвивається під керівництвом Майкла Стоунбрейкера (Mike Stonebraker), одного із засновників проектів Ingres і PostgreSQL.

СУБД VoltDB підтримує горизонтальне масштабування і орієнтована на обробку транзакцій в реальному часі (OLTP). На недорогому кластері, зібраному своїми силами зі звичайних серверів, СУБД здатна обробляти мільйони транзакцій в секунду. СУБД поширюється в двох варіантах: комерційному, із забезпеченням повноцінної підтримки, і вільному "Community Edition". Код опублікований під ліцензією AGPLv3.

VoltDB дозволяє досягти рівня продуктивності NoSQL-систем, зберігши при цьому підтримку виконання запитів на мові SQL і гарантовану транзакційну цілісність даних (ACID, атомарність і ізольованість транзакцій). Високу продуктивність VoltDB забезпечує несхожа на традиційні схема внутрішньої архітектури, що комбінує зберігання даних в пам'яті з концепцією розподіленої організації та розбиттям вмісту БД по розділах (партиціювання). Продуктивність VoltDB збільшується майже лінійно при залученні додаткових серверів у кластер. Кожен однонитевий розділ працює в автономному режимі, що виключає необхідність в блокуваннях і фіксації операцій. Дані автоматично реплікуються всередині кластера, що дозволяє добитися високої доступності і виключає необхідність ведення журналу. Всі дані кожного вузла повністю прокешовані в оперативній пам'яті, що забезпечує максимальну пропускну спроможність і виключає необхідність буферизації.

На одному сервері запускається кілька вузлів VoltDB, кожен з яких прив'язується до окремого ядра CPU. Для збереження даних на диск використовується концепція снапшотів, що відображають зріз даних, актуальних на момент створення снапшоту. Робота з даними здійснюється через збережені процедури на мові Java, копії яких прикріплюються до кожного з розділів (ODBC/JDBC і пряме виконання SQL-операторів для всієї бази не підтримується). При виконанні запиту, що зачіпає кілька розділів, в кожному з потрібних розділів викликається збережена процедура, а потім результати агрегуються.

При оцінці продуктивності в односерверній конфігурації СУБД VoltDB випередила традиційні OLTP СУБД в 45 разів, обробивши 53 тисяч транзакцій на секунду, у той час як інші СУБД на тому ж обладнанні могли виконати тільки 1155 транзакцій.[2] На 12-вузловому кластері СУБД VoltDB забезпечила виконання 560 тисяч транзакцій за секунду. При цьому, VoltDB вже досить давно використовується в промисловій експлуатації і позиціонується як повністю стабільний продукт.

Виноски

  1. Release 11.0 — 2021.
  2. Релиз открытой СУБД VoltDB 3.0, развиваемой одним из основателей Ingres и PostgreSQL. Архів оригіналу за 29 січня 2013. Процитовано 29 січня 2013.

Посилання