The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

25.01.2013 21:01  Релиз открытой СУБД VoltDB 3.0, развиваемой одним из основателей Ingres и PostgreSQL

Представлен релиз инновационной открытой СУБД VoltDB 3.0, развиваемой под руководством Майкла Стоунбрейкера (Mike Stonebraker), одного из основателей проектов Ingres и PostgreSQL. СУБД VoltDB поддерживает горизонтальное масштабирование и ориентирована на обработку транзакций в реальном времени (OLTP). На недорогом кластере, собранном своими силами из обычных серверов, СУБД способна обрабатывать миллионы транзакций в секунду. СУБД распространяется в двух вариантах: коммерческом, с обеспечением полноценной поддержки, и свободном "Community Edition". Код опубликован под лицензией AGPLv3.

VoltDB позволяет достичь уровня производительности NoSQL-систем, сохранив при этом поддержку выполнения запросов на языке SQL и гарантирированную транзакционную целостность данных (ACID, атомарность и изолированность транзакций). При оценке производительности в односерверной конфигурации СУБД VoltDB опередила традиционные OLTP СУБД в 45 раз, обработав 53 тыс. транзакций в секунду, в то время как другие СУБД на том же оборудовании могли выполнить только 1155 транзакций. На 12-узловом кластере СУБД VoltDB обеспечила выполнение 560 тыс. транзакций в сек. При этом, VoltDB уже достаточно давно используется в промышленной эксплуатации и позиционируется как полностью стабильный продукт.

Разгадка высокой производительности VoltDB кроется в непохожей на традиционные схемы внутренней архитектуре, комбинирующей хранение данных в памяти с концепцией распределенной организации и разбиением содержимого БД по разделам (партицирование). Производительность VoltDB увеличивается почти линейно при добавлении дополнительных серверов в кластер. Каждый однопоточный раздел работает в автономном режиме, что исключает необходимость в блокировках и фиксации операций. Данные автоматически реплицируются внутри кластера, что позволяет добиться высокой доступности и исключает необходимость ведения журнала. Все данные каждого узла полностью прокэшированы в ОЗУ, что обеспечивает максимальную пропускную способность и исключает необходимость буферизации.

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

Среди новшеств, добавленных в VoltDB 3.0:

  • Переработана архитектура координации выполнения транзакций, что позволило минимизировать обмен данными между узлами в процессе выполнения запроса. В результате была увеличена пропускная способность и уменьшена задержка выполнения запросов. По сравнению с VoltDB 2.x версия 3.0 позволяет выполнить на том же оборудовании гораздо больше транзакций и существенно снизить задержки для работающих в синхронном режиме клиентов, в которых выполнение продолжается только после завершения каждого запроса (в асинхронном режиме управление передаётся дальше не дожидаясь выполнения запроса, готовность которого оценивается через обработку событий);
  • Для упрощения разработки высокопроизводительных приложений добавлена поддержка шаблона project.xml для размещения данных в кластере и команды compile для автоматической компиляции схемы. Расширены возможности изменения схемы БД на лету, добавлены команды для создания и изменения индексов, применимые для работающего кластера;
  • Расширен поддерживаемый синтаксис SQL, добавлена возможность использования выражения UNION и операторов LIKE/NOT LIKE, подготовлен полный набор строковых и числовых функций. Реализована поддержка определения индексов с использованием функций, работающих на уровне столбцов;
  • Реализован интерфейс для доступа к данным с использованием формата JSON. Указанная возможность позволяет гибко управлять и менять схему хранения, которая теперь может задаваться в произвольном виде. Для манипуляции со структурированными JSON-данными, прикреплёнными к столбцу, представлена новая функция field();
  • Новые средства для импорта и экспорта данных. Добавлены модули для импорта данных из лога Apache и из CSV-файлов. Переработана поддержка экспорта, отмечается, что новая реализация экспортирует данные в 20 раз быстрее прежней. Добавлен JDBC-коннектор для экспорта данных в СУБД PostgreSQL, Oracle и MySQL;
  • Новая утилита voltadmin с реализация интерфейса командной строки для централизованного управления всем кластером VoltDB;
  • Добавлен переработанный высокопроизводительный драйвер для PHP и новые драйверы для Node.js и Google Go.


  1. Главная ссылка к новости (http://blog.voltdb.com/introdu...)
  2. OpenNews: АНБ передаёт код БД Accumulo в руки фонда Apache
  3. OpenNews: Представлен первый стабильный релиз СУБД SciDB
  4. OpenNews: Проект NewSQL призван решить проблемы, с которыми столкнулся Facebook, используя MySQL
  5. OpenNews: Первый релиз NoSQL БД OrientDB
  6. OpenNews: Представлена новая NoSQL БД Hibari, созданная для больших хранилищ данных
Лицензия: CC-BY
Тип: Интересно / Программы
Ключевые слова: voltdb, database
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 21:48, 25/01/2013 [ответить] [смотреть все]
  • +7 +/
    Какая-то просто сказка а не СУБД...
     
     
  • 2.2, o, 21:55, 25/01/2013 [^] [ответить] [смотреть все] [показать ветку]
  • –14 +/
    на java. отсяюда и сказки и росказни про недорого.
     
     
  • 3.7, thelamon, 01:53, 26/01/2013 [^] [ответить] [смотреть все]
  • +3 +/
    хейтер детектед?сам не пробовал, но осудить всегда рад?
     
  • 2.18, VoDA, 12:49, 26/01/2013 [^] [ответить] [смотреть все] [показать ветку]
  • +4 +/
    Похоже она не реляционная, оттуда и бонусы ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.35, Grammar Nazi, 10:03, 27/01/2013 [^] [ответить] [смотреть все]  
  • –7 +/
    нереляционная
     
  • 1.3, Аноним, 22:10, 25/01/2013 [ответить] [смотреть все]  
  • +6 +/
    Все данные каждого узла полностью прокэшированы в ОЗУ...
    Не слишком ли жирно?
     
     
  • 2.4, Аноним, 22:35, 25/01/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Время сейчас такое, оперативная память стоит не дорого, вот и оптимизация идет з... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.23, XoRe, 14:52, 26/01/2013 [^] [ответить] [смотреть все]  
  • +/
    SSD не панацея Неоптимальные алгоритмы могут свести на нет любые бонусы от желе... весь текст скрыт [показать]
     
     
  • 4.27, Аноним, 18:59, 26/01/2013 [^] [ответить] [смотреть все]  
  • +3 +/
    Так кодируют только м даки ... весь текст скрыт [показать]
     
     
  • 5.39, Аноним, 12:38, 28/01/2013 [^] [ответить] [смотреть все]  
  • +/
    А закон Амдала и когерентность кэша тоже так-то никто не отменял ... весь текст скрыт [показать]
     
  • 5.41, slowpoke, 14:51, 29/01/2013 [^] [ответить] [смотреть все]  
  • +3 +/
    зато они очень плодовиты, написали уже pulseaudio, systemd ... весь текст скрыт [показать]
     
  • 2.8, Аноним, 02:45, 26/01/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    MapReduce ведь для лохов
     
     
  • 3.24, Whoiswho, 14:53, 26/01/2013 [^] [ответить] [смотреть все]  
  • –1 +/
    Сам то понял, что сказал и при чем тут это?
     
     
  • 4.34, Grammar Nazi, 10:02, 27/01/2013 [^] [ответить] [смотреть все]  
  • –2 +/
    Сам-то
     
     
  • 5.42, Чел, 09:00, 30/01/2013 [^] [ответить] [смотреть все]  
  • +/
    Учить до посинения.
    http://ru.wikipedia.org/wiki/MapReduce
     
  • 1.5, жабабыдлокодер, 23:31, 25/01/2013 [ответить] [смотреть все]  
  • +1 +/
    Прочитав "JDBC не поддерживается" крайне удивился: все-таки на Java написано... Взаимоисключающие параграфы?
    Посмотрел на сайте - ничего подобного, поддерживается, есть нормальные примеры. Ошибка в новости?
     
     
  • 2.45, шестиклассник, 18:08, 31/01/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Не поддерживается напрямую для всей БД Вместо этого агрегация результатов выпол... весь текст скрыт [показать] [показать ветку]
     
  • 1.6, pro100master, 00:08, 26/01/2013 [ответить] [смотреть все]  
  • +2 +/
    а в чем подвох? Бесплатная производительность только в сказках у Жуля, нашего, Верна.
     
     
  • 2.9, rshadow, 03:17, 26/01/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Все очень просто на одной машинке с 64Гб хватит памяти чтоб сохранить 10000 ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.10, Аноним, 07:05, 26/01/2013 [^] [ответить] [смотреть все]  
  • +/
    хочешь сохранить пару миллионов записей, ставь зоопарк?
     
  • 3.22, Аноним, 13:28, 26/01/2013 [^] [ответить] [смотреть все]  
  • +/
    Вы не поняли части об оперативной памяти.
     
     
  • 4.28, Аноним, 19:00, 26/01/2013 [^] [ответить] [смотреть все]  
  • +/
    А вы поняли Как вы себе представляете ПОЛНОЕ кэширование 1 Тб А ведь в промышл... весь текст скрыт [показать]
     
  • 2.21, all_glory_to_the_hypnotoad, 13:26, 26/01/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    не нужно иметь много мозгов, чтобы показывать большие tps на контенте в оператив... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.29, Аноним, 19:01, 26/01/2013 [^] [ответить] [смотреть все]  
  • +/
    Покажи мне TPC-D на этой базе Угумс С штатными 32 Тб базы И полной спецификац... весь текст скрыт [показать]
     
  • 2.37, grammatik polizei, 06:25, 28/01/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Жюля ... весь текст скрыт [показать] [показать ветку]
     
  • 1.11, Аноним, 10:21, 26/01/2013 [ответить] [смотреть все]  
  • +6 +/
    >Все данные каждого узла полностью прокэшированы в ОЗУ

    Что? Нужна БД на терабайт - накидай терабайт оперативы? Джававыродки такие милашки.

     
     
  • 2.38, Аноним, 12:36, 28/01/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Я что-то не припомню, чтобы хоть в каком-нибудь боксе столько памяти видал Той ... весь текст скрыт [показать] [показать ветку]
     
  • 1.13, anonymous, 11:26, 26/01/2013 [ответить] [смотреть все]  
  • +/
    то ли такой хитрый пиар джавы то ли ответление от имеющегося nosql-направления в самом postgresql.

    Неожиданно.

     
     
  • 2.15, Аноним, 11:42, 26/01/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • –6 +/
    Какой к черту пиар джавы Вы бы себя со стороны слышали By design гнилая технол... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.17, anonymous, 12:19, 26/01/2013 [^] [ответить] [смотреть все]  
  • +/
    Вы бы себя со стороны видели как слушаете других или проанализировали собственны... весь текст скрыт [показать]
     
  • 1.16, Аноним, 12:06, 26/01/2013 [ответить] [смотреть все]  
  • +/
    Не совсем понятно что будет если пара узлов упадёт.
     
     
  • 2.19, VoDA, 12:51, 26/01/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Исходя из фразы данные реплицируются, можно сделать вывод, что кластер выживет ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.40, Аноним, 12:39, 28/01/2013 [^] [ответить] [смотреть все]  
  • +/
    Из этой фразы ничего не следует Репликация вообще к надежности кластера никаког... весь текст скрыт [показать]
     
  • 3.44, Aleks Revo, 23:12, 30/01/2013 [^] [ответить] [смотреть все]  
  • +/
    Об этом стоит прочитать подробней не из новости, а из документации В целом VoltD... весь текст скрыт [показать]
     
  • 1.20, all_glory_to_the_hypnotoad, 13:18, 26/01/2013 [ответить] [смотреть все]  
  • +/
    приверно как  это http://habrahabr.ru/post/133435/ только на гогнояве
     
  • 1.26, piteri, 15:40, 26/01/2013 [ответить] [смотреть все]  
  • +2 +/
    Таак-c.
    Явахейтеры увидели в новости слово "java"
    Нищеброды увидели в новости предложение "Все данные каждого узла полностью прокэшированы в ОЗУ"
    Ваши мнения безусловно интересны.
    Но всё же хотелось бы услышать тех, кто видел этот вольт вживую.
     
  • 1.31, anonymous, 21:16, 26/01/2013 [ответить] [смотреть все]  
  • +/
    >Все данные каждого узла полностью прокэшированы в ОЗУ
    >запускается несколько узлов VoltDB, каждый из которых привязывается к отдельному ядру CPU

    оптимизация такая оптимизация

     
     
  • 2.32, Аноним, 23:09, 26/01/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    OpenMP перевернулся в гробу
     
  • 1.36, Pilat, 17:16, 27/01/2013 [ответить] [смотреть все]  
  • –1 +/
    Ответы на многие вопросы типа "Как вы себе представляете ПОЛНОЕ кэширование 1 Тб?" есть в FAQ, наверно такого рода вопросы постоянно встречаются у людей, не понимающих, что если серьёзные люди взялись за такую задачу, то не просто ради развлечения.

    What is VoltDB's scaling model?

    VoltDB automatically partitions frequently accessed database tables across the available cluster nodes. Both the capacity and performance of the database can be increased by adding nodes to the cluster. Upon changes to cluster size, VoltDB automatically redistributes the partitions to the new configuration when you reload the data. VoltDB also allows tables with infrequently-changing data to be replicated to each node to further optimize performance.

    Короче говоря, хотите получить терабайтную базу - ставьте 10-15 машин по 128 гигабайт. И получите пол-миллиона TPC.

     
     
  • 2.43, Whoiswho, 15:57, 30/01/2013 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    frequently accessed database tables

    это здесь ключевое

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor