Представлена новая открытая СУБД InfiniSQL

Анонсирован первый альфа-выпуск новой открытой реляционной СУБД InfiniSQL, нацеленной на достижение показателей производительности и масштабируемости NoSQL-систем при предоставлении классического SQL-интерфейса для доступа к данным. InfiniSQL развивается одним из бывших инженеров компании Visa как полностью свободных проект, без разделения на community и enterprise версии. Код InfiniSQL распространяется под лицензией AGPLv3, а библиотеки для создания хранимых процедур под лицензией LGPLv3. СУБД состоит из двух частей - демона на языке Си++, использующего модель акторов для распараллеливания операций без блокировок, и менеджера ресурсов, написанного на языке Python. Клиентский интерфейс совместим с PostgreSQL, т.е. вместе с InfiniSQL могут использоваться приложения собранные с использованием клиентских библиотек PostgreSQL и таких модулей, как DBD::Pg.

Построенный с использованием InfiniSQL тестовый кластер, состояний из 12 узлов на базе типовых серверов (четырёхядерные CPU Intel Xeon E31230 3.30GHz, 8GB ОЗУ, 1TB SATA НЖМД, 2 x Intel 82579LM Gigabit Ethernet), смог обеспечить производительность на уровне 528 тысяч (в пике 542 тыс.) сложных транзакций в секунду при обработке более 100 тысяч одновременных соединений. Тестирование было проведено с использованием утилиты pgbench. Все проведённые тесты документированы и легко воспроизводимы. На текущем этапе развития СУБД ещё не готова для промышленного использования, но уже может быть задействована для экспериментов и начального внедрения.

InfiniSQL поддерживает подмножество стандарта SQL-92, в том числе Ad hoc-запросы и хранимые процедуры. СУБД обеспечивает три первых требования ACID к выполнению транзакций (атомарность, согласованность, изолированность). Отсутствие поддержки четвёртого требования, долговечности, является ценой высокой производительности СУБД. Дело в том, что InfiniSQL хранит данные только в оперативной памяти, на данном этапе разработки пока не предоставляя средств для обеспечения надёжного сохранения информации в случае сбоя всего кластера. В случае проблем, охватывающих все узлы остаётся полагаться на средства резервного копирования. В будущем данная проблема будет устранена, и СУБД InfiniSQL будет доведена до полного соответствия требованиям ACID.

Хранимые в таблицах данные и индексы распределены по всем узлам кластера, при необходимости увеличения размера хранилища достаточно добавить новые узлы (горизонтальная масштабируемость). Клиент может подключиться к любому узлу и получить доступ к данным кластера в целом, который выглядит как одна неразрывная БД. Архитектура InfiniSQL предусматривает наличие двух процессов: менеджера и демона хранения. Демон хранения занимается приёмом соединений от клиентов, выполнением запросов и хранением данных. Кроме доступа к локально хранимым данным, в процессе выполнения запроса демон также обращается и к данным других демонов.

Менеджер отвечает за запуск демонов хранения, их настройку, мониторинг работоспособности и управление топологией кластера. При необходимости менеджер запускает новые экземпляры демонов хранения и обеспечивает распределение данных в кластере, в том числе выполняет перестроение кластера в случае изменения топологии (например, вы выводе или добавлении узла) и следит за выполнением требований отказоусточивости за счёт дублирования данных на разных узлах. В настоящее время возможности менеджера сильно ограничены и сводятся к запуску демонов, остальные возможности планируется реализовать в будущем.

Источник:
http://www.opennet.ru/opennews/art.shtml?num=38553

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>