Рубрика «Блог компании GridGain» - 3

Apache Cassandra — это одна из популярных распределенных дисковых NoSQL баз данных с открытым исходным кодом. Она применяется в ключевых частях инфраструктуры такими гигантами как Netflix, eBay, Expedia, и снискала популярность за свою скорость, способность линейно масштабироваться на тысячи узлов и “best-in-class” репликацию между различными центрами обработки данных.

Apache Ignite — это In-Memory Computing Platform, платформа для распределенного хранения данных в оперативной памяти и распределенных вычислений по ним в реальном времени с поддержкой JCache, SQL99, ACID-транзакциями и базовой алгеброй машинного обучения.

Apache Cassandra является классическим решением в своей области. Как и в случае с любым специализированным решением, её преимущества достигнуты благодаря ряду компромиссов, значительная часть которых вызвана ограничениями дисковых хранилищ данных. Cassandra оптимизирована под максимально быструю работу с ними в ущерб остальному. Примеры компромиссов: отсутствие ACID-транзакций и поддержки SQL, невозможность произвольных транзакционных и аналитических транзакций, если под них заранее не адаптированы данные. Эти компромиссы, в свою очередь, вызывают закономерные затруднения у пользователей, приводя к некорректному использованию продукта и негативному опыту, либо вынуждая разделять данные между различными видами хранилищ, фрагментируя инфраструктуру и усложняя логику сохранения данных в приложениях.

Возможное решение проблемы — использование Cassandra в связке с Apache Ignite. Это позволит сохранить ключевые преимущества Cassandra, при этом скомпенсировав ее недостатки за счет симбиоза двух систем.

Как? Читайте дальше, и смотрите пример кода.

Apache Cassandra + Apache Ignite — как совместить лучшее - 1Читать полностью »

В предыдущей статье — часть 1, обзорная — я рассказал о том, зачем нужны распределенные структуры данных (далее — РСД) и разобрал несколько вариантов, предлагаемых распределенным кешем Apache Ignite.

Сегодня же я хочу рассказать о подробностях реализации конкретных РСД, а также провести небольшой ликбез по распределенным кешам.

Итак:

Распределенные структуры данных (часть 2, как это сделано) - 1

Читать полностью »

В мае вышла новая мажорная версия Apache Ignite — распределенной платформы, оптимизированной для работы с оперативной памятью, которая объединяет в себе хранилище вида ключ-значение с SQL99-совместимой базой данных, предлагая полную ACID-совместимость, высокую доступность, а также близкое к линейному масштабирование с нескольких узлов до тысяч, которые могут размещаться на собственном оборудовании либо в облаке. Ядро Apache Ignite написано на Java, но платформа, помимо экосистемы Java, поддерживает нативную интеграцию с приложениями на .NET и C++.

Apache Ignite эластично масштабируется в рамках одного или нескольких геораспределенных кластеров, предоставляя гибко настраиваемое шардирование и автоматическую ребалансировку при динамическом добавлении или удалении узлов, обеспечивая прозрачный и быстрый доступ к данным и вычислениям путем использования собственного API либо классического SQL.

В версии 2.0 были значительно переработаны многие вещи «под капотом», следствием стала возможность реализации ряда значительных функциональных изменений, часть из которых заметна уже сейчас, а часть появится в ближайших версиях.

Забегая вперед, мы будем проводить 2 мероприятия, которые связаны с Apache Ignite, подробнее о них можно прочитать в конце статьи.

Apache Ignite 2.0 — Machine Learning, новая модель хранения данных, DDL - 1
Читать полностью »

Очередные Java-конференции JBreak и JPoint прошли на «ура». Здешние доклады всегда имеют резонанс, но многим запомнилось и кое-что ещё.

Буклет GridGain. Задачки про Грефа и Балмера, белорусского программиста с ведром картошки и, конечно, нетривиальное соблазнение тестировщицы Клавдии продолжают публиковать на различных ресурсах на радость автору, и многие уже даже не знают, каков их источник.

О нетривиальном соблазнении тестировщицы Клавдии: задачки из буклета GridGain c JBreak и JPoint - 1Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js