Aerospike
Aerospike — система керування базами даних класу NoSQL. Aerospike забезпечує передбачуваний час доступу до даних, що дозволяє застосовувати її для обробки даних у режимі реального часу.
| |
Тип | пропрієтарне програмне забезпечення і Система керування базами даних |
---|---|
Розробник | Aerospike |
Перший випуск | 2012 |
Версії | 5.6.0.4 (5 червня 2021)[1] |
Репозиторій | github.com/aerospike/aerospike-server |
Операційна система | Linux / Unix-подібні |
Мова програмування | C |
Ліцензія | AGPL |
Вебсайт | www.aerospike.com |
Історія
Aerospike Database спершу була відома як Citrusleaf 2.0. У вересні 2012 було здійснено ребрендинг і компанії, і бази даних на Aerospike.[2][3] Назва Aerospike йде від типу ракетного сопла, здатного підтримувати ефективність вихлопу через великий діапазон висот: таким чином підкреслюється спроможність програми масштабуватися тоді, коли кількість даних зростає експоненціально.[4] У 2012 Aerospike придбала AlchemyDB та об'єднала функціональність обох баз даних, включаючи реляційну систему керування даними.[5][6] 24 червня 2014, одночасно з оголошенням про одержання $20 млн інвестицій[7], Aerospike відкрила початковий код[8] на умовах ліцензії AGPL для сервера та Apache License версії 2 для клієнтської частини[9]
Огляд
За заявою творців, на виконання 99% запитів витрачається менше 1 мс, а 99.9% запитів виконуються не довше 5 мс. Сирцевий код серверної частини БД написаний на мові Сі і відкритий[8] у червні 2014 під ліцензією AGPL. Клієнтські бібліотеки, які доступні для Java, C/C++, Lua і Node.js, поширюються під ліцензією Apache 2.0.
Використання спеціально оптимізованого для SSD-накопичувачів режиму роботи сховища у поєднанні з розміщенням індексів в оперативній пам'яті і забезпеченням паралельної обробки даних на різних ядрах CPU, дозволило добитися в Aerospike в 5-10 разів вишої продуктивності, у порівнянні з іншими NoSQL БД.[10] Передбачено два режими роботи: традиційний (зберігання всіх даних в оперативній пам'яті із синхронізацією на тверді диски) і гібридний (сховище розгортається поверх оперативної пам'яті і SSD-дисків з розміщенням у пам'яті індексів і найбільш затребуваних даних). На типовому обладнанні при роботі в гібридному режимі вдалося домогтися продуктивності в приблизно 200 тисяч транзакцій в секунду в тесті зі збалансованим навантаженням на читання і запис, 300 тисяч транзакцій за секунду в тесті з переважанням операцій читання даних і 50 тисяч транзакцій за секунду в тесті з переважанням операцій запису.
На базі Aerospike можливе створення кластерних конфігурацій з реплікацією даних на декілька вузлів, які забезпечують близьке до лінійного зростання продуктивності при додаванні нових вузлів у кластер. Розмір сховища може досягати десятка терабайт і обслуговувати розміщення більше сотні мільярдів об'єктів. Підтримується кілька схем реплікації, націлених на забезпечення відмовостійкості, продуктивності та територіального рознесення бази за різними центрам обробки даних.
Система надійно захищена від втрати даних в результаті збою — застосовується блокування на рівні рядків і миттєва фіксація транзакцій. При використанні синхронної реплікації кластер зберігання Aerospike відповідає вимогам ACID (атомарность, узгодженість, ізольованість, надійність). У разі виходу вузла з ладу, автоматично виконується ребалансування даних і продовження роботи без збійного вузла. Оновлення програмного забезпечення і резервне копіювання виробляються без призупинення роботи і без здійснення впливу на продуктивність.
Дані зберігаються в рядках у формі записів ключ/значення. Записи можуть групуватися в набори і таблиці (роздільний простір імен). Для обробки даних на стороні сервера підтримується написання визначених користувачем функцій (UDF) мовою Lua. Можливе виконання складних аналітичних запитів (map-reduce) і використання великих типів даних, при цьому виконання запиту можна розпаралелювати на кілька вузлів кластера, кожен з яких виконує свою частину роботи з обробки запиту.
Виноски
- Release 5.6.0.4 — 2021.
- Citrusleaf Launches Aerospike Brand to Reflect High Velocity Customer Adoption. 26 серпня 2012. Архів оригіналу за червень 17, 2013. Процитовано 17 травня 2013.
- AeroSpike, the former Citrusleaf. DBMS2. 27 серпня 2012. Процитовано 17 травня 2013.
- Aerospike - Definition. Wordiq. Процитовано 17 травня 2013.
- Aerospike Acquires AlchemyDB NewSQL Database. 28 серпня 2012. Архів оригіналу за квітень 6, 2014. Процитовано 17 травня 2013.
- 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. Процитовано 17 травня 2013.
- Aerospike Raises $20 Million Series C Funding to Fuel Next Stage of Growth for Enterprise-Grade In-Memory NoSQL Database. Архів оригіналу за 28 червня 2014. Процитовано 5 липня 2014.
- Aerospike Open Sources Visionary Database That Operates at In-Memory Speed and Global Scale With Enterprise-Grade Reliability. Архів оригіналу за 27 червня 2014. Процитовано 27 червня 2014.
- Aerospike open sources. Aerospike. 24 червня 2014. Архів оригіналу за червень 27, 2014. Процитовано 24 червня 2014.
- Открыты исходные тексты БД Aerospike // opennet.ru