VoltDB
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 вже досить давно використовується в промисловій експлуатації і позиціонується як повністю стабільний продукт. Виноски
Посилання |