База данных, сочетающая Hadoop и традиционные реляционные возможности, была выпущена в качестве общедоступной бета-версии компанией Splice Machine.
Компания заявляет, что база данных предоставляет технологию горизонтального масштабирования Hadoop, распределенную вычислительную мощность в реальном времени хранилища ключей и значений HBase, а также все функции СУБД, включая транзакции ANSI SQL и ACID.
База данных Splice Machine построена на двух технологических стеках: Apache Derby, основанная на Java, база данных ANSI SQL и HBase / Hadoop. Компания заменила механизм хранения в Apache Derby на HBase, сохранила парсер Apache Derby и переработала планировщик, оптимизатор и исполнитель, чтобы использовать распределенный механизм вычислений HBase. Сопроцессоры HBase используются для встраивания Splice Machine в каждую распределенную область HBase или сегмент данных.
Это означает, что вычислительные задачи могут быть перенесены на распределенные сегменты данных HBase, что обеспечивает «массовое распараллеливание», согласно описанию продукта Splice Machine.
Еще одно преимущество продукта заключается в том, что, поскольку Splice Machine не изменяет HBase, его можно использовать с любым стандартным дистрибутивом Hadoop, в котором есть HBase. Поддерживаемые дистрибутивы Hadoop включают Cloudera, MapR и Hortonworks.
На реляционной стороне Apache Derby использует диалект IBM DB2 SQL и поддерживает JDBC и SQL для программирования. Spice Machine соответствует стандарту SQL-99. Для поддержки транзакций он использует Multiple Version Concurrency Control (MVCC) с изоляцией моментальных снимков, чтобы обеспечить высокую пропускную способность транзакций без блокировки записей.
В блоге Splice Machine основатели компании говорят, что автономная версия Splice Machine может использоваться в MacOS, Windows или Linux (Ubuntu или CentOS) и обеспечивает:
«Отличный способ поэкспериментировать со сварочной машиной с относительно небольшим объемом данных».
Кластерная версия может использоваться в кластере машин Linux (Ubuntu или CentOS) и позволяет Splice Machine получать доступ к большим объемам данных, которые распределены по кластеру. Существует пробная загрузка автономной версии, которая позволяет вам выполнять функциональное тестирование Splice Machine.