Топ питань
Часова шкала
Чат
Перспективи
Aerospike
З Вікіпедії, вільної енциклопедії
Remove ads
Aerospike — система керування базами даних класу NoSQL. Aerospike забезпечує передбачуваний час доступу до даних, що дозволяє застосовувати її для обробки даних у режимі реального часу.
Remove ads
Історія
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]
Remove ads
Огляд
Узагальнити
Перспектива
За заявою творців, на виконання 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) і використання великих типів даних, при цьому виконання запиту можна розпаралелювати на кілька вузлів кластера, кожен з яких виконує свою частину роботи з обробки запиту.
Remove ads
Виноски
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads