VoltDB

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
VoltDB
Розробник(и) VoltDB Inc.
Стабільний випуск 3.0 (22 січня 2013; 642 дні тому )
Написано на Java, C++
Операційна система Linux, Mac OS X
Платформа JVM
Тип реляційна система керування базами даних
Ліцензія GNU General Public License v3, власницька ліцензія 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 транзакцій.[1] На 12-вузловому кластері СУБД VoltDB забезпечила виконання 560 тисяч транзакцій за секунду. При цьому, VoltDB вже досить давно використовується в промисловій експлуатації і позиціонується як повністю стабільний продукт.

Виноски[ред.ред. код]

Посилання[ред.ред. код]