База данных NoSQL с открытым исходным кодом
Aerospike Database — это работающая в режиме реального времени высокопроизводительная база данных NoSQL. Разработана для приложений, которые не могут испытывать простоев и требуют высокой пропускной способности чтения и записи. Aerospike оптимизирована для работы на твердотельных накопителях NVMe, способных эффективно хранить большие наборы данных (от гигабайт до петабайт). Aerospike также может быть развернута как полностью кэшированная база данных в памяти . Aerospike предлагает модели Key-Value, JSON Document, Graph data и Vector Search. Aerospike — это распределенная система управления базами данных NoSQL с открытым исходным кодом , продаваемая компанией, также называемой Aerospike . [1]
История
Aerospike изначально был известен как Citrusleaf. В августе 2012 года компания, которая предоставляла свою базу данных с 2010 года, провела ребрендинг как компании, так и названия программного обеспечения на Aerospike. [2] Название «Aerospike» происходит от двигателя Aerospike , типа ракетного сопла , способного поддерживать свою выходную эффективность в большом диапазоне высот, и призвано указывать на способность программного обеспечения масштабироваться. [3] В 2012 году Aerospike приобрела AlchemyDB и объединила функции двух баз данных, включая добавление реляционной системы управления данными. [4] 24 июня 2014 года Aerospike был открыт под лицензией AGPL 3.0 для сервера базы данных Aerospike и Apache License Version 2.0 для своего клиентского программного обеспечения Aerospike. [5] [6] [7]
История релизов
Функции
База данных Aerospike смоделирована в архитектуре без общего доступа и написана на языке C. Она работает на трех уровнях: уровне хранения данных, уровне самоуправляемого распределения и уровне клиента с поддержкой кластера. [34]
Aerospike использует гибридную архитектуру памяти: индексы базы данных полностью хранятся в основной оперативной памяти, в то время как данные хранятся на постоянном устройстве с использованием уровня данных. Уровень данных хранит данные на твердотельном диске , NVMe или постоянной памяти . [35] Чтение данных выполняется с использованием прямого доступа к позиции записи на диске с использованием прямого указателя из первичного индекса , а запись данных оптимизируется с помощью записи больших блоков для уменьшения задержки . [34] Эта архитектура извлекает все записи из постоянного устройства и исключает использование кэша данных . Aerospike также предоставляет возможность хранить данные полностью в оперативной памяти , таким образом действуя как база данных в памяти. В этом случае данные будут сохраняться либо на SSD, NVMe, PMEM, либо на традиционных вращающихся носителях . [2]
Aerospike обеспечивает транзакции ACID с одной записью . [36] Уровень распределения отвечает за репликацию данных по узлам для обеспечения долговечности и немедленной согласованности свойств транзакции. Это позволяет базе данных оставаться работоспособной даже в случае сбоя отдельного узла сервера или его ручного удаления из кластера. [34] Начиная с версии 4.0 (2018), база данных Aerospike может быть настроена как доступная и устойчивая к разделам (AP) или согласованная и устойчивая к разделам (CP) в соответствии с теоремой CAP . [37] [38]
Уровень поддержки кластера клиента используется для отслеживания конфигурации кластера в базе данных и управляет прямыми коммуникациями клиента со всеми узлами в кластере. [34] Кластеризация выполняется с использованием heartbeats и алгоритма протокола gossip на основе Paxos . [39]
Программное обеспечение использует две подпрограммы под кодовыми названиями Defragmenter и Evictor. [34] [40] Defragmenter удаляет блоки данных, которые были удалены, а Evictor освобождает место в оперативной памяти, удаляя ссылки на устаревшие записи. [34] [41]
Ссылки
- ^ Юханна, Ноэль (15 октября 2014 г.). "NoSQL Key-Value Databases, Q3 2014". Forrester Research . Получено 29 ноября 2014 г.
- ^ ab "Aerospike, бывший Citrusleaf". DBMS2. 27 августа 2012 г. Получено 17 мая 2013 г.
- ^ "Определение двигателя Aerospike". Wordiq. Архивировано из оригинала 24 декабря 2004 года . Получено 17 мая 2013 года .
- ↑ Клинт Финли (28 августа 2012 г.). «Мрачная и мрачная перезагрузка стартапа: компания NoSQL Citrusleaf меняет название и приобретает AlchemyDB». TechCrunch . Получено 25 ноября 2014 г.
- ↑ Джек Кларк (24 июня 2014 г.). «Aerospike: Спасибо за эти 20 миллионов долларов, венчурные капиталисты... далее мы ОТКРЫТ ИСХОДНЫЙ КОД нашей базы данных NoSQL». The Register . Получено 25 ноября 2014 г.
- ^ Рэйчел Шрамм (24 июня 2014 г.). «Aerospike открывает исходные коды NoSQL-базы данных в попытке расширить ряды клиентов». Silicon Angle . Получено 30 июля 2014 г.
- ^ Абель Аврам (24 июня 2014 г.). «Aerospike открывает исходники своей In-memory NoSQL базы данных». InfoQ . Получено 30 июля 2014 г.
- ^ abcdefghijklmnop "Aerospike Release Notes Pre 4.0". Архивировано из оригинала 11 сентября 2018 г. Получено 17 февраля 2021 г.
{{cite web}}
: CS1 maint: неподходящий URL ( ссылка ) - ^ "Aerospike 3.7.0 Release". Aerospike . 14 декабря 2015 . Получено 17 февраля 2021 .
- ^ "Aerospike 3.8 Release". Aerospike . 16 апреля 2016 г. Получено 17 февраля 2021 г.
- ^ "Aerospike 3.9 Release". Aerospike . 12 июля 2016 . Получено 17 февраля 2021 .
- ^ «Что нового в Aerospike 3.10?». Aerospike . 25 октября 2016 г. Получено 17 февраля 2021 г.
- ^ «Что нового в Aerospike 3.11?». Aerospike . 31 января 2017 г. Получено 17 февраля 2021 г.
- ^ «Что нового в Aerospike 3.12?». Aerospike . 4 апреля 2017 г. Получено 17 февраля 2021 г.
- ^ ab "Что нового в Aerospike 3.13 и 3.14?". Aerospike . 20 июня 2017 г. Получено 17 февраля 2021 г.
- ^ «Aerospike 4.0, Strong Consistency, and Jepsen». Aerospike . 7 марта 2018 г. . Получено 17 февраля 2021 г. .
- ^ abcdefghijklmnopqrs "Aerospike Release Notes" . Получено 17 февраля 2021 г. .
- ^ "Aerospike 4.1". Aerospike . 11 мая 2018 . Получено 17 февраля 2021 .
- ^ "Aerospike 4.2: Улучшения эффективности и скорости хранения". Aerospike . 5 июня 2018 г. . Получено 17 февраля 2021 г. .
- ^ "Aerospike 4.3: All Flash & Uniform Balance". Aerospike . 1 августа 2018 г. Получено 17 февраля 2021 г.
- ^ "Aerospike 4.4: уведомление об изменении и операционные улучшения". Aerospike . 19 ноября 2018 г. . Получено 17 февраля 2021 г. .
- ^ "Aerospike 4.5: Постоянная память и сжатие". Aerospike . 13 декабря 2018 . Получено 17 февраля 2021 .
- ^ "Представляем Aerospike 4.7 – первую коммерческую базу данных с поддержкой Intel® Ethernet 800 Series с ADQ". Aerospike . 24 сентября 2019 г. Получено 17 февраля 2021 г.
- ^ "Aerospike 4.8: Enhanced Persistent Memory Support and Compression". Aerospike . 10 декабря 2019 г. . Получено 17 февраля 2021 г. .
- ^ "Aerospike 4.9: Новые функциональные возможности для разработчиков". Aerospike . 17 апреля 2020 г. . Получено 17 февраля 2021 г. .
- ^ "Aerospike Database 5: Multi-site Clustering and Cross Datacenter Replication". Aerospike . 12 мая 2020 г. . Получено 17 февраля 2021 г. .
- ^ "Aerospike Database 5.1: улучшения безопасности, включая интеграцию хранилища HashiCorp". Aerospike . 30 июля 2020 г. . Получено 17 февраля 2021 г. .
- ^ "Aerospike Database 5.2: XDR Enhancements & Predicate Filters". Aerospike . 30 сентября 2020 г. . Получено 17 февраля 2021 г. .
- ^ "Aerospike Database 5.3: XDR-фильтрация с выражениями и расширенная многосайтовая кластеризация". Aerospike . 18 ноября 2020 г. . Получено 17 февраля 2021 г. .
- ^ "Aerospike Database 5.4: улучшения удобства использования и понятные человеку выражения фильтров XDR". Aerospike . 13 января 2021 г. . Получено 17 февраля 2021 г. .
- ^ "Aerospike Database 5.6: Developer Cornucopia". Aerospike . 12 мая 2021 г. . Получено 12 мая 2021 г. .
- ^ "Aerospike Database 5.7.0.7". Aerospike . 11 ноября 2021 г. . Получено 11 ноября 2021 г. .
- ^ "Aerospike Database 6". Aerospike . 27 апреля 2022 г. Получено 11 апреля 2022 г.
- ^ abcdef "Aerospike: Архитектура операционной СУБД реального времени" (PDF) . Получено 16 февраля 2021 г. .
- ^ "Enhanced Persistent Memory Support and Compression". 19 декабря 2019 г. Получено 16 февраля 2021 г.
- ^ "CAP и ACID | Aerospike". www.aerospike.com . Получено 18 февраля 2021 г. .
- ^ Кингсбери, Кайл (2018-03-07). "Jepsen: Aerospike 3.99.0.3". jepsen.io . Получено 18 февраля 2021 г. .
- ^ "Режим сильной согласованности | Aerospike". www.aerospike.com . Получено 18 февраля 2021 г. .
- ^ "Кластеризация | Формирование высокоскоростных распределенных кластеров". www.aerospike.com . Получено 16.02.2021 .
- ^ "CTO Panel on Super Storm Sandy and 100% Uptime". 14 декабря 2012 г. Архивировано из оригинала 3 марта 2013 г. Получено 17 мая 2013 г.
- ^ "Документация | Aerospike". www.aerospike.com . Получено 28.07.2020 .
Внешние ссылки