Как стать автором
Обновить
7
Карма
0
Рейтинг
Алексей Плеханов @AlexPlekhanov

Пользователь

Как быстро писать в Apache Ignite

Пара замечаний:

При параллельном запуске нескольких putAll действительно легко получить deadlock, а в трассировке стека серверных узлов — увидеть вереницу блокировок.

В актуальных версиях Apache Ignite на atomic кэшах deadlock'а уже нет (и такого предупреждения в логе тоже), соответственно можно использовать в том числе HashMap для вставки.

В таком режиме (наличие бэкапов и включенный allowOverwrite) Data Streamer начинает работать через тот самый медленный put

У Data Streamer'а через receiver можно настроить вставку через putAll с теми же гарантиями:

streamer.receiver(DataStreamerCacheUpdaters.batched())

По скорости скорее всего будет работать также как Ваша вставка через putAll (нужно бы проверить), но распараллеливание из коробки.

Релиз Apache Ignite 2.9.0 — что нового?

При подключении нового узла координатор отправляет сообщение всем остальным узлам (в том числе толстым клиентам) в котором содержатся все данные нового узла.

Релиз Apache Ignite 2.9.0 — что нового?

Вы про какой пункт? Подозреваю, что Вас смутило описание Automatic Server Node Discovery.
Горизонтальная масштабируемость была в Ignite изначально, при вводе нового серверного узла автоматически происходит ребалансировка и никакие IP адреса никуда прописывать не нужно, толстые клиенты и серверные узлы начинают обращаться к новому узлу напрямую. Для тонких клиентов в принципе тоже ничего прописывать не нужно, тонкие клиенты в обычном режиме подключены к одному из серверных узлов и отправляют запросы через этот серверный узел, который уже может перенаправить запрос на новый подключенный узел. Режим partition awareness позволяет исключить один network hop и отправлять запрос сразу на узел, который является primary узлом для определенного ключа. Т. е. Automatic Server Node Discovery — это развитие функционала partition awareness, который является оптимизацией для тонкого клиента.

Сжатие данных в Apache Ignite. Опыт Сбера

У нас более десятка систем его используют для различных целей. Где-то для промежуточного in-memory хранения, где-то как основную БД с native persistance. В большинстве случаев, насколько я знаю, используется key-value интерфейс либо несложные SQL. Показывает себя в этих кейсах хорошо. Но были попытки реляционную модель со сложными SQL запросами натянуть на Ignite и в таких кейсах он показал себя не очень.

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Зарегистрирован
Активность