Компания Aerospike одновременно с объявлением (http://www.aerospike.com/press-releases/aerospike-raises-20-.../) о получении 20 млн долларов инвестиций заявила (http://www.aerospike.com/press-releases/aerospike-open-sourc.../) об открытии исходных текстов своей NoSQL БД Aerospike, обеспечивающей предсказуемое время доступа к данным, что позволяет применять Aerospike для обработки данных в режиме реального времени. По заявлению (http://www.aerospike.com/wp-content/uploads/2014/04/Aerospik...) создателей, на выполнение 99% запросов тратится менее 1 мс, а 99.9% запросов выполняются не дольше 5 мс. Код серверной части БД написан на языке Си и открыт (https://github.com/aerospike/aerospike-server) под лицензией APGL. Клиентские библиотеки, которые доступны для Java (https://github.com/aerospike/aerospike-client-java), C/C++ (https://github.com/aerospike/aerospike-client-c), Lua (https://github.com/aerospike/client-lua) и Node.js (https://github.com/aerospike/aerospike-client-nodejs), распространяются под лицензией Apache 2.0.Использование (http://www.aerospike.com/docs/architecture/) специально оптимизированного для SSD-накопителей режима работы хранилища в сочетании с размещением индексов в оперативной памяти и обеспечением параллельной обработки данных на разных ядрах CPU, позволило добиться в Aerospike в 5-10 раз более высокой производительности, по сравнению с другими NoSQL БД. Предусмотрено два режима работы: традиционный (хранение всех данных в ОЗУ с синхронизацией на жесткие диски) и гибридный (хранилище разворачивается поверх ОЗУ и SSD-дисков с размещением в ОЗУ индексов и наиболее востребованных данных). На типовом оборудовании при работе в гибридном режиме удалось добиться (http://www.aerospike.com/benchmarks/) производительности в примерно 200 тысяч транзакций в секунду в тесте со сбалансированной нагрузкой на чтение и запись, 300 тысяч транзакций в секунду в тесте с преобладанием операций чтения данных и 50 тысяч транзакций в секунду в тесте с преобладанием операций записи.
<center><img src="http://www.opennet.dev/opennews/pics_base/0_1403723001.png" style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></center>
На базе Aerospike возможно создание кластерных конфигураций с репликацией данных на несколько узлов, которые обеспечивают близкий к линейному рост производительности при добавлении новых узлов в кластер. Размер хранилища может достигать десятка терабайт и обслуживать размещение более сотни миллиардов объектов. Поддерживается несколько схем репликации, нацеленных на обеспечение отказоустойчивости, производительности и территориального разнесения базы по разным центрам обработки данных.
Система надёжно защищена от потери данных в результате сбоя - применяется блокировка на уровне строк и мгновенная фиксация транзакций. При использовании синхронной репликации кластер хранения Aerospike соответствует требованиям ACID (атомарность, согласованность, изолированность, надежность). В случае выхода узла из строя, автоматически выполняется ребалансировка данных и продолжение работы без сбойного узла. Обновление программного обеспечение и резервное копирование производятся без приостановки работы и не оказывая влияния на производительность.
Данные хранятся в строках в форме записей ключ/значение. Записи могут группироваться в наборы и таблицы (раздельное пространство имён). Для обработки данных на стороне сервера поддерживается написание определённых пользователем функций (UDF) на языке Lua. Возможно выполнение сложных аналитических запросов (map-reduce) и использование больших типов данных, при этом выполнение запроса может распараллеливаться на несколько узлов кластера, каждый из которых выполняет свою часть работы по обработке запроса.
URL: http://www.aerospike.com/press-releases/aerospike-open-sourc.../
Новость: http://www.opennet.dev/opennews/art.shtml?num=40082
Почитать, так прям сказка а не база данных. В чем подвох? Чего еще конкуренты трепыхаються то?
Подвох - как обычно, в деталях.В двух словах - это допиленная AlchemyDB (http://jaksprats.wordpress.com/2014/03/10/alchemydb-is-all-g.../)
А "трепыхаются" как раз не конкуренты, а AeroSpike - иначе бы на четвертом году жизни, с давно доступным коммерческим продуктом не шли бы с протянутой рукой за третьим раундом финансирования, потому что денег так и нет, не берут это чудо чудное покупатели.
трепыхаются-то
Ага, ага. Я тоже обратил внимание, что прям как из сказки эта субд. А, судя по графикам, конкуренты вообще застрелиться должны.
как обычно, ещё одни гении додумались сделать in-memory субд
> В случае выхода узла из строя, автоматически выполняется ребалансировка данных и продолжение работы без сбойного узла. Обновление программного обеспечение и резервное копирование производятся без приостановки работы и не оказывая влияния на производительность.При бекапе/ребалансинге нужно следить за нагрузкой от оверхеда.
При бекапе - на дисковую.
При ребалансировании - ещё и на сеть.
прям для Википедии самое то - записывается там всё реже и реже, 95 процентов операций на чтение. Интересно было сравнить производительность Википедии на разных базах
наверное ключ/значение недостаточно?
а оно научилось выживать, когда данных больше чем памяти на ноде?
Это база для реалтайма, там другие проблемы.
Ну да, если все писать в память оно и будет летать.>..больших типов данных
Что это такое?
>>..больших типов данных
> Что это такое?Big data же. И подозрительные _типы с маркетинговыми базвордами к нему впридачу.
Movie, music, geo, чо угодно. Большие типы есть, но хранить их в базе смысла нет.
Жалкие попытки возродить "кладбище домашних NoSQL". Если бы подобные базы были чем-то нужным ХОТЯ БЫ половине ИТ-индустрии, они сразу бы нашли отклик. А сейчас это "ненужно" только ещё больше вызывает жалости своими попытками быть "нужно".
Понимаете, это нужно, как нужно жирдяю меньше жрать и больше заниматься спортом, но "нужно" и "хочется" далеко не всегда пересекаются.
Объективно имеет смысл внедрение noSQL и современного data mining-а вместо (или в дополнение к) попыток формализовать то, что формализовать сложно или невозможно в силу различных, не всегда объективных, причин. Вернее имеет смысл в куда большем кол-ве случаев, чем сейчас имеет место быть. Другое дело, что кто будет объяснять рынку эту необходимость? Нет сейчас среди потребителей критической массы в понимании плюсов технологии.
1мс на запрос (предполагаю, тривиальный) при наличии ssd не докуя ли?
> 1мс на запрос (предполагаю, тривиальный) при наличии ssd не докуя ли?"99% запросов" и "менее 1 мс". --"Вам, товарищ прапорщик, по пояс будет."
можно написать ормку или драйвер, которая будет раз 20 долбить по заведомо кешированным словарям перед каждым продакшон-запросом, таким образом обеспечив заведомо 95% < 1мс
> можно написать ормку или драйвер, которая будет раз 20 долбить по заведомо
> кешированным словарям перед каждым продакшон-запросом, таким образом обеспечив заведомо
> 95% < 1мсДа, примерно так же поступили MS для ie9 и теста SunSpider.
http://habrahabr.ru/post/108313/
Вопрос-то в том, вам надо получить красивые бенчмарки, или ехать.
Да что вы срёте. Норм база данных. Для языков куча библиотек. Я на своём старике бенчь запустил: в среднем 5-7мс на операцию. У меня клиент на Golang, поэтому когда сборщик мусора просыпался были выбросы до 50-80мс. Но у меня: SATA2 32Mb кэш диска. Это не SSD - это жёсткий. 2GB RAM и Athlon64 X2, это нотбук с кучей открытых вкладок в хроме. Учитывая присутствие данных на диске - это очень неплохо, это хорошо, это збс. По крайней мере для своего проекта я смотрел в сторону LevelDB - а теперь у меня есть выбор.
Кто нибудь в курсе сколько стоит это чудо, если вдруг понадобится полный фарш ?