Компания NorthScale, созданная основателем проекта Memcached, представила новую распределенную БД Membase, разработанную в рамках парадигмы NoSQL, подразумевающей использование не базирующихся на SQL способов организации работы с данными. Код Membase доступен для свободной загрузки и распространяется в рамках лицензии Apache 2.0. Стабильность, производительность и надежность Membase не вызывает сомнений, данная система уже используется несколькими крупнейшими online-сервисами сети.
По своей сути Membase напоминает проекты MemcacheDB и Redis, расширяя возможности БД Memcached, изначально хранящей данные только в оперативной памяти, средствами для обеспечения постоянного хранения, за счет их дополнительного сброса на диск или SSD-накопитель.
Отличительной чертой Membase является:
- API Membase на 100% обратно совместим с Memcached, т.е. любое приложение поддерживающее Memcached может без переработки взаимодействовать с Membase;
- Оптимизация процесса синхронизации данных на постоянный носитель, поддерживаются различные типы подключения SSD-накопителей, а при организации постоянного хранилища на жестких дисках, учитывается вращение шпинделя. Данные изначально сохраняются в ОЗУ, а затем в менее приоритетном режиме синхронизируются по цепочке на менее приоритетный носитель, максимально задействуя многопоточность и асинхронное выполнение операций. Например, вначале данные могут быть сброшены на SSD, а затем на диск.
- Поддержка автоматической репликации данных между узлами кластера из Membase-серверов и возможность оперативного замещения вышедшего из строя узла;
- Поддержка функций динамического реконфигурирования, позволяющих добавлять или удалять узлы Membase и проводить ребалансировку данных без остановки кластера и не влияя на работу активных приложений;
- Линейная масштабируемость, при нехватке производительности достаточно запустить Membase на дополнительном сервере и через специальный интерфейс клонировать уже работающий узел кластера и запустить процесс ребалансировки базы;
- Реализация иерархической модели управления хранилищем и наличие универсального инструмента для централизованного управления Membase-кластером.
|