Apache Geode вошел в число первичных проектов Apache

2016-11-25

Организация Apache Software Foundation объявила о присвоении Apache Geode статуса первичного проекта Apache. Перевод в разряд первичных проектов произведён после полутора лет нахождения в инкубаторе Apache, в котором были проверены способности следования принципам разработки и управления, принятым в сообществе Apache и основанным на идеях меритократии. Теперь Apache Geode признан готовым для самостоятельного существования, не требующего дополнительного надзора. Код проекта написан на языке Java.

Geode предоставляет систему для обработки больших объёмов данных в оперативной памяти (In-Memory Data Grid), обеспечивающую гарантированное низкое время отклика, высокую масштабируемость и массовый параллелизм при обработке транзакций. За счёт партицирования, репликации, динамического масштабирования и перераспределения нагрузки между узлами система обеспечивает отказоустойчивость и гарантированное время отклика. Для повышения надёжности данные могут дублироваться на разных узлах и в асинхронном режиме сбрасываться на постоянные накопители.

Некоторые из особенностей:

  • Соответствующие требованиям ACID распределённые транзакции;
  • SQL-подобный язык запросов OQL (Object Query Language) с поддержкой операций слияния (JOIN);
  • Горизонтальная масштабируемость на тысячи узлов с автоматическим задействованием резервных узлов в случае повышения нагрузки или выхода из строя действующих узлов;
  • Возможность регистрация запросов для их выполнения в привязке к наступлению событий;
  • Разделение на "горячие" и "холодные" данные - не востребованные данные, для которых время запроса не критично, могут сохраняться на диск;
  • Средства гарантированной доставки сообщений в синхронном и асинхронном режимах;
  • Передача при репликации только delta-изменений между старой и новой версиями объекта;
  • Поддержка нескольких топологий построения кластера;
  • Клиентские библиотеки для Java (в том числе поддержка интегрирована в Spring Framework), для других языков предлагается использовать REST API или прослойку симулирующую интерфейс Redis и memcached. Отдельно ведётся работа по созданию библиотек для C++, C# .NET и Node.js.

Проект Geode был создан компанией Gemstone Systems в 2002 году и применяется в качестве высокопроизводительного движка обработки финансовых транзакций в торговых платформах различных компаний на Уолл-стрит. После поглащения компанией Pivotal в апреле 2015 года технологии Geode были переданы Фонду Apache. В настоящее время решения на базе Apache Geode внедрены на более чем 600 предприятий для обеспечения бесперебойной работы бизнес-приложений, которым требуется гарантированное время отклика и безостановочное функционирование. В качестве примера внедрения Geode упоминается Национальная железная дорога Китая, в которой кластер из 20 узлов (10 основных и 10 запасных) обеспечивает хранение 2 Тб оперативной информации о билетах.