
Aerospike Community Edition без ограничений: наш опыт снятия лимитов
vkhodor 37 минут назад Aerospike Community Edition без ограничений: наш опыт снятия лимитов Средний 5 мин 1K DevOps * Базы данных * Open source * NoSQL * Кейс Всем привет!Наверняка большинство инженеров, работающих с...
В сфере искусственного интеллекта произошло заметное событие. vkhodor 37 минут назад Aerospike Community Edition без ограничений: наш опыт снятия лимитов Средний 5 мин 1K DevOps * Базы данных * Open source * NoSQL * Кейс Всем привет! Наверняка большинство инженеров, работающих с высоконагруженными системами, слышали о Aerospike. Для тех, кто всё ещё не знает, что это, приведу короткую цитату из документации:The high-performance, distributed, NoSQL database designed for real-time applications requiring low latency and high availability.
Вообще-то, Aerospike - это платный продукт, причём он стоит немалых денег. Настолько немалых, что наша небольшая компания не может его себе позволить. Однако Aerospike распространяется как в коммерческой сборке, так и в версии Community Edition.
Технические детали
Community Edition, хоть и урезана по возможностям, но в старых версиях была вполне пригодна для использования в продакшене. Именно в тот период, когда лимиты Aerospike CE были щадящими, наша компания “подсела” на эту БД и успешно её использовала. Однако годы шли, и с каждой новой версией бесплатной сборки лимиты становились всё жёстче.
В итоге их урезали до такой степени, что обновляться мы больше не смогли и застряли примерно на версии 5 (актуальная сейчас — 8). В результате сейчас у нас используются очень старые версии Aerospike CE. Какие именно лимиты имеются в виду:лимит на размер кластера — 8 нод;не более двух неймспейсов на кластер;лимит на количество уникальных данных на хранилище в ноде (в новых версиях — всего 640 ГБ).
Всё это мешает горизонтальному масштабированию и добавляет проблем как команде эксплуатации, так и разработке. А лимит в 640 ГБ на ноду вместе с лимитом кластера в 8 нод — это как раз та причина, по которой такую БД невозможно полноценно использовать в продакшене. Кроме того, из-за очень старых версий Aerospike, возникают проблемы с поддержкой кластера, и, что печальнее всего, со временем эти проблемы только усугубляются.
Отраслевые последствия
В прошлом у нас были попытки купить платный Aerospike, но оказалось, что под наши задачи они выкатывают чудовищный ценник. И еще им сложно продавать в РФ, а нам сложно притворяться, что мы не из РФ. Таким образом, компания оказалась “заблокирована” на старом ПО, а кодовая база наших сервисов настолько завязана на Aerospike, что “съехать” на альтернативу мы сможем примерно никогда.
Ситуация, казалось бы, патовая. Как мы с этим справилисьAerospike — это коммерческое ПО, но, внезапно, исходные коды community-edition опубликованы. Причём это не классический open source, а код, распространяемый под лицензией AGPLv3.
Исходники тутЭто даёт надежду, что нужные лимиты мы сможем ослабить или снять. Перед тем, как нырять с головой в исходники, чётко сформулируем цели:Кластер должен масштабироваться до 64 нод (для наших задач этого достаточно). Кластер должен поддерживать больше двух неймспейсов (32 — с запасом).
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





