Aerospike

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Aerospike Database
Тип пропрієтарне програмне забезпечення і система управління базами даних
Розробник Aerospike
Перший випуск 2012
Операційна система Linux / Unix-подібні
Мова програмування C
Ліцензія AGPL
Репозиторій github.com/aerospike/aerospike-server
Вебсайт www.aerospike.com

Aerospikeсистема керування базами даних класу NoSQL. Aerospike забезпечує передбачуваний час доступу до даних, що дозволяє застосовувати її для обробки даних у режимі реального часу.

Історія[ред. | ред. код]

Aerospike Database спершу була відома як Citrusleaf 2.0. У вересні 2012 було здійснено ребрендинг і компанії, і бази даних на Aerospike.[1][2] Назва Aerospike йде від типу ракетного сопла, здатного підтримувати ефективність вихлопу через великий діапазон висот: таким чином підкреслюється спроможність програми масштабуватися тоді, коли кількість даних зростає експоненціально.[3] У 2012 Aerospike придбала AlchemyDB [Архівовано 10 серпня 2014 у Wayback Machine.] та об'єднала функціональність обох баз даних, включаючи реляційну систему керування даними.[4][5] 24 червня 2014, одночасно з оголошенням про одержання $20 млн інвестицій[6], Aerospike відкрила початковий код[7] на умовах ліцензії AGPL для сервера та Apache License версії 2 для клієнтської частини[8]

Огляд[ред. | ред. код]

За заявою творців, на виконання 99% запитів витрачається менше 1 мс, а 99.9% запитів виконуються не довше 5 мс. Сирцевий код серверної частини БД написаний на мові Сі і відкритий[7] у червні 2014 під ліцензією AGPL. Клієнтські бібліотеки, які доступні для Java, C/C++, Lua і Node.js, поширюються під ліцензією Apache 2.0.

Використання спеціально оптимізованого для SSD-накопичувачів режиму роботи сховища у поєднанні з розміщенням індексів в оперативній пам'яті і забезпеченням паралельної обробки даних на різних ядрах CPU, дозволило добитися в Aerospike в 5-10 разів вишої продуктивності, у порівнянні з іншими NoSQL БД.[9] Передбачено два режими роботи: традиційний (зберігання всіх даних в оперативній пам'яті із синхронізацією на тверді диски) і гібридний (сховище розгортається поверх оперативної пам'яті і SSD-дисків з розміщенням у пам'яті індексів і найбільш затребуваних даних). На типовому обладнанні при роботі в гібридному режимі вдалося домогтися продуктивності в приблизно 200 тисяч транзакцій в секунду в тесті зі збалансованим навантаженням на читання і запис, 300 тисяч транзакцій за секунду в тесті з переважанням операцій читання даних і 50 тисяч транзакцій за секунду в тесті з переважанням операцій запису.

На базі Aerospike можливе створення кластерних конфігурацій з реплікацією даних на декілька вузлів, які забезпечують близьке до лінійного зростання продуктивності при додаванні нових вузлів у кластер. Розмір сховища може досягати десятка терабайт і обслуговувати розміщення більше сотні мільярдів об'єктів. Підтримується кілька схем реплікації, націлених на забезпечення відмовостійкості, продуктивності та територіального рознесення бази за різними центрам обробки даних.

Система надійно захищена від втрати даних в результаті збою — застосовується блокування на рівні рядків і миттєва фіксація транзакцій. При використанні синхронної реплікації кластер зберігання Aerospike відповідає вимогам ACID (атомарность, узгодженість, ізольованість, надійність). У разі виходу вузла з ладу, автоматично виконується ребалансування даних і продовження роботи без збійного вузла. Оновлення програмного забезпечення і резервне копіювання виробляються без призупинення роботи і без здійснення впливу на продуктивність.

Дані зберігаються в рядках у формі записів ключ/значення. Записи можуть групуватися в набори і таблиці (роздільний простір імен). Для обробки даних на стороні сервера підтримується написання визначених користувачем функцій (UDF) мовою Lua. Можливе виконання складних аналітичних запитів (map-reduce) і використання великих типів даних, при цьому виконання запиту можна розпаралелювати на кілька вузлів кластера, кожен з яких виконує свою частину роботи з обробки запиту.

Виноски[ред. | ред. код]

  1. Citrusleaf Launches Aerospike Brand to Reflect High Velocity Customer Adoption. 26 серпня 2012. Архів оригіналу за червень 17, 2013. Процитовано 17 травня 2013.
  2. AeroSpike, the former Citrusleaf. DBMS2. 27 серпня 2012. Архів оригіналу за 24 червня 2013. Процитовано 17 травня 2013.
  3. Aerospike - Definition. Wordiq. Архів оригіналу за 24 грудня 2004. Процитовано 17 травня 2013.
  4. Aerospike Acquires AlchemyDB NewSQL Database. 28 серпня 2012. Архів оригіналу за квітень 6, 2014. Процитовано 17 травня 2013.
  5. Aerospike Acquires AlchemyDB NewSQL Database to Build on Predictable Speed and Web-Scale Data Management of Aerospike Real-Time NoSQL Database. Business Wire. 28 серпня 2012. Архів оригіналу за 29 листопада 2014. Процитовано 17 травня 2013.
  6. Aerospike Raises $20 Million Series C Funding to Fuel Next Stage of Growth for Enterprise-Grade In-Memory NoSQL Database. Архів оригіналу за 28 червня 2014. Процитовано 5 липня 2014.
  7. а б Aerospike Open Sources Visionary Database That Operates at In-Memory Speed and Global Scale With Enterprise-Grade Reliability. Архів оригіналу за 27 червня 2014. Процитовано 27 червня 2014.
  8. Aerospike open sources. Aerospike. 24 червня 2014. Архів оригіналу за червень 27, 2014. Процитовано 24 червня 2014.
  9. Открыты исходные тексты БД Aerospike [Архівовано 9 липня 2014 у Wayback Machine.] // opennet.ru

Посилання[ред. | ред. код]