Открыты исходные тексты БД Aerospike
25 июня 2014 года
Компания Aerospike одновременно с объявлением о получении 20 млн долларов инвестиций заявила об открытии исходных текстов своей NoSQL БД Aerospike, обеспечивающей предсказуемое время доступа к данным, что позволяет применять Aerospike для обработки данных в режиме реального времени. По заявлению создателей, на выполнение 99% запросов тратится менее 1 мс, а 99.9% запросов выполняются не дольше 5 мс. Код серверной части БД написан на языке Си и открыт под лицензией AGPL. Клиентские библиотеки, которые доступны для Java, C/C++, Lua и Node.js, распространяются под лицензией Apache 2.0.
Использование специально оптимизированного для SSD-накопителей режима работы хранилища в сочетании с размещением индексов в оперативной памяти и обеспечением параллельной обработки данных на разных ядрах CPU, позволило добиться в Aerospike в 5-10 раз более высокой производительности, по сравнению с другими NoSQL БД. Предусмотрено два режима работы: традиционный (хранение всех данных в ОЗУ с синхронизацией на жесткие диски) и гибридный (хранилище разворачивается поверх ОЗУ и SSD-дисков с размещением в ОЗУ индексов и наиболее востребованных данных). На типовом оборудовании при работе в гибридном режиме удалось добиться производительности в примерно 200 тысяч транзакций в секунду в тесте со сбалансированной нагрузкой на чтение и запись, 300 тысяч транзакций в секунду в тесте с преобладанием операций чтения данных и 50 тысяч транзакций в секунду в тесте с преобладанием операций записи.
На базе Aerospike возможно создание кластерных конфигураций с репликацией данных на несколько узлов, которые обеспечивают близкий к линейному рост производительности при добавлении новых узлов в кластер. Размер хранилища может достигать десятка терабайт и обслуживать размещение более сотни миллиардов объектов. Поддерживается несколько схем репликации, нацеленных на обеспечение отказоустойчивости, производительности и территориального разнесения базы по разным центрам обработки данных.
Система надёжно защищена от потери данных в результате сбоя - применяется блокировка на уровне строк и мгновенная фиксация транзакций. При использовании синхронной репликации кластер хранения Aerospike соответствует требованиям ACID (атомарность, согласованность, изолированность, надежность). В случае выхода узла из строя, автоматически выполняется ребалансировка данных и продолжение работы без сбойного узла. Обновление программного обеспечение и резервное копирование производятся без приостановки работы и не оказывая влияния на производительность.
Данные хранятся в строках в форме записей ключ/значение. Записи могут группироваться в наборы и таблицы (раздельное пространство имён). Для обработки данных на стороне сервера поддерживается написание определённых пользователем функций (UDF) на языке Lua. Возможно выполнение сложных аналитических запросов (map-reduce) и использование больших типов данных, при этом выполнение запроса может распараллеливаться на несколько узлов кластера, каждый из которых выполняет свою часть работы по обработке запроса.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.