GridGain

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 15:45, 16 февраля 2019.
GridGain
GridGainLogo.png
Разработчики: GridGain Systems
Выпущена: 2007
Постоянный выпуск: 8.3.4 / 30.03.2018
Написана на: Java
Локализация: English
Лицензия: Коммерческое проприетарное программное обеспечение
Веб-сайт gridgain.com

GridGain — платформа для вычислений в памяти, основанная на Apache Ignite, позволяет значительно ускорить и масштабировать приложения с интенсивным использованием данных без необходимости разделять и заменять существующие базы банных. Разработана GridGain Systems — американской частной компанией в сфере информационных технологий. Компания основана в 2007 году, штаб-квартира расположена в городе Фостер-Сити (штат Калифорния). Разрабатывает программное обеспечение и предоставляет сервисы повышенной производительности и масштабирования обработки больших массивов данных в памяти, что увеличивает пропускную способность и минимизирует латентность[Источник 1].

Программное обеспечение и сервисы для вычислений в памяти

GridGain Systems предлагает программное обеспечение для вычислений в памяти в сервисные решения. В 2014 году компания GridGain Systems пожертвовала фонду Apache Software Foundation кодовую базу ядра своего основного продукта, что дало начало проекту Apache Ignite. Первый релиз Apache Ignite выпущен в начале 2015 года и выпущен как «взрослый» проект в сентябре 2015 года[Источник 2].

GridGain обеспечивает неограниченную масштабируемость и потрясающую скорость. Так как это является решением, работающим в памяти, то время запроса от 1000 до 1000000 раз быстрее, чем на дисковых системах. Масштабировать платформу можно добавляя в кластер новые узлы, которые могут масштабироваться для обработки сотен терабайт данных из нескольких баз данных.

Можно модернизировать существующую архитектуру с интенсивным использованием данных, вставив GridGain между существующими слоями приложения и базы данных. Платформа может поддерживать базы данных RDBMS, NoSQL и Hadoop. Она предоставляет унифицированный API, который поддерживает SQL, C++, .NET, PHP, MapReduce, Java / Scala / Groovy и Node.js для прикладного уровня. GridGain и ваши приложения и базы данных могут работать локально, в гибридной среде или на облачной платформе, таких как AWS, Microsoft Azure и Google Cloud Platform.

GridGain также может использоваться как распределенная транзакционная база данных SQL, использующая одновременно память и диск. Это достигается с помощью функции Persistent Store в сочетании с расширенными возможностями SQL для платформы.

GridGain System предоставляют следующие выпуски программного обеспечения

  • Professional Edition
  • Enterprise Edition
  • Ultimate Edition

Professional Edition – это поддерживаемая версия Apache Ignite с дополнительным исправлением ошибок, ещё не выпущенным в проекте с открытым исходным кодом. Enterprise Edition улучшает Apache Ignite дополнительными функциями и тестированием, что упрощает развертывание, управление и защищенность в рабочих средах. Ultimate Edition предоставляет функции резервного копирования снимков кластера, которые имеют решающее значение при запуске Persistent Store. Все выпуски GridGain можно загрузить для бесплатной 30-дневной пробной версии.

GridGain Systems предлагают Professional, Enterprise и Ultimate Editions как часть проекта GridGain Support, который включает своевременный доступ к высококвалифицированной группе поддержки, доступ к обновлениям программного обеспечения и многое другое.

GridGain Cloud – это единственное кэширующее решение, которое позволяет быстро развернуть распределенный кэш в памяти как сервис и получать к нему доступ, используя ANSI-99 SQL, ключи-значения или REST API. Результатом этого является производительность облачных вычислений в памяти, которая может быть значительно масштабирована и может быть развернута в течение нескольких минут для кэширующих приложений.

GridGain Systems также предлагают услуги консалтинга – GridGain Consulting. Наши консультанты могут помочь c проектированием архитектуры, разработкой специальных функций, оптимизацией производительности и подобных задач для GridGain или Apache Ignite.

Преимущества

Снижение стоимости и сложности

Останавливаясь на единой платформе вычислений в памяти, компания может сократить число технологий, которые необходимо изучать и поддерживать, что приводит к более быстрой реализации и снижению затрат на разработку и управление. GridGain может объединить операции в реальном времени и аналитику в один мощный стек, рассматривая требования OLTP и OLAP с гибридной архитектурой транзакционной/аналитической обработки. GridGain может располагаться поверх сложных инфраструктур баз данных, которые имеют отдельные операционные и аналитические базы данных, и выполнять запросы из пула данных и рассчитывать сетки. Платформа может работать как на обычных, так и на очень мощных серверах.

Ускорение приложений до 1000 раз

GridGain может быть развернут между существующим слоем приложений и данных. Он содержит данные в памяти для ускорения обработки. Поддержка транзакций ACID (атомарность, согласованность, изоляция, долговечность) обеспечивает целостность данных. ANSI SQL-99 с поддержкой DDL и DML позволяет приложениям взаимодействовать с GridGain так же, как ранее они взаимодействовали с базами данных под управлением SQL. Существующая база данных может оставаться системой записи, или GridGain может стать системой записи с полным набором данных, реплицированных на дисковую базу данных.

Производительность вычислений в памяти и долговечность дисков

Платформа GridGain, ориентированная на память, включает в себя собственное постоянное хранилище (Persistent Store), которое поддерживает полный набор данных на диске. Можно отображать в память только наиболее чувствительные к времени данные, позволяя регулировать стоимость инфраструктуры и производительность приложений, настраивая количество данных в памяти. Система функционирует как распределенная СУБД в памяти с транзакциями ACID и ANSI-99 SQL.

Быстродействие

Тесты производительности были проведены в GridGain Professional Edition 1.7.2. Аппаратная часть - Dell 610 R, CPU - 2 x Intel(R) Xeon(R) CPU X5570, RAM - 96 GB. В таблице приводятся средние результаты.

Название теста Производительность, опер/сек Задержка, нс
Атомарная вставка 258,313 495
Атомарная вставка и получение 123,086 1,039
Транзакционная вставка 130,778 979
Транзакционная вставка и получение 42,193 3,034
SQL запрос 102,463 1,248

Атомарная вставка

Далее приведены рисунки изменения скорости выполнения (рисунок 1) и задержки (рисунок 2) для атомарной вставки на протяжении работы.

Рисунок 1 – Скорость выполнения для атомарной вставки
Рисунок 2 – Задержка для атомарной вставки

Атомарная вставка и получение

Далее приведены рисунки изменения скорости выполнения (рисунок 3) и задержки (рисунок 4) для атомарной вставки и получении на протяжении работы.

Рисунок 3 – Скорость выполнения для атомарной вставки и получении
Рисунок 4 – Задержка для атомарной вставки и получении

Транзакционная вставка

Далее приведены рисунки изменения скорости выполнения (рисунок 5) и задержки (рисунок 6) для транзакционной вставки на протяжении работы.

Рисунок 5 – Скорость выполнения для транзакционной вставки
Рисунок 6 – Задержка для транзакционной вставки

Транзакционная вставка и получение

Далее приведены рисунки изменения скорости выполнения (рисунок 7) и задержки (рисунок 8) для транзакционной вставки и получении на протяжении работы.

Рисунок 7 – Скорость выполнения для транзакционной вставки и получении
Рисунок 8 – Задержка для транзакционной вставки и получении

SQL запрос

Далее приведены рисунки изменения скорости выполнения (рисунок 9) и задержки (рисунок 10) для SQL запроса на протяжении работы.

Рисунок 9 – Скорость выполнения для SQL запроса
Рисунок 10 – Задержка для SQL запроса

Установка

Следующее видео показывает сначала запуск GridGain Professional Edition, затем взаимодействие с Redis.

В папке bin находится код для настройки и запуска GridGain. В видео показывается запуск сервера с помощью скрипта ignite.sh сначала в одном окне терминала, затем в другом. Как можно видеть, в первом сначала показывается, что запущен один сервер, затем после запуска во втором терминале видно, что количество серверов и там, и там два.

В файле redis-example.py показан пример взаимодействия с GridGain. Однако чтобы его запустить, требуется изменить файл конфигурации. По умолчанию ignite.sh пользуется файлом config/default-config.xml. Возьмём за основу файл examples/config/example-cache.xml. Сделаем копию и изменим в нём настройку, которую требует файл redis-example.py.

Далее снова запускается два сервера с новой конфигурацией. В скрипте redis-example.py показаны различные запросы к redis, обрабатываемые GridGain.

Источники

  1. GridGain Systems // Википедия. [2018]. Дата обновления: 03.06.2017. URL: https://ru.wikipedia.org/wiki/GridGain_Systems (дата обращения: 05.10.2018).
  2. GridGain In-Memory Computing Platform // Официальный сайт GridGain. [2018]. URL: https://gridgain.com (дата обращения: 05.10.2018).