apache ignite persistence: зачем persistence для in-memory, и как он работает...

Post on 21-Jan-2018

102 Views

Category:

Engineering

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Зачем Persistence для In-Memory, икак он работает?

Артем Шитов

Solution Architect, GridGainartem@gridgain.com

persistence

Зачем Persistence для In-Memory?

• Растущие объемы данных — растущая проблема• Вычислительные мощности• Подходы к хранению и доступу• In-Memory: преимущества и проблемы

• Что предлагает Apache Ignite?• Memory-Centric SQL MPP Database• Скорость и надежность

• Как это работает внутри?• Страничная организация памяти• Выделение памяти• Дисковое хранилище• Распределенный SQL

Зачем Persistence для In-Memory?

• Растущие объемы данных — растущая проблема• Вычислительные мощности• Подходы к хранению и доступу• In-Memory: преимущества и проблемы

• Что предлагает Apache Ignite?• Memory-Centric SQL MPP Database• Скорость и надежность

• Как это работает внутри?• Страничная организация памяти• Выделение памяти• Дисковое хранилище• Распределенный SQL

Зачем Persistence для In-Memory?

• Растущие объемы данных — растущая проблема• Вычислительные мощности• Подходы к хранению и доступу• In-Memory: преимущества и проблемы

• Что предлагает Apache Ignite?• Memory-Centric SQL MPP Database• Скорость и надежность

• Как это работает внутри?• Страничная организация памяти• Выделение памяти• Дисковое хранилище• Распределенный SQL

Растущие объемы данных —растущая проблема

Как мы справляемся с ростом данных?

• Более мощный процессор• гонка гигагерц, Pentium IV — 3.8 Ghz

• Больше ядер в процессоре• гонка ядер, Xeon Phi 7210 — 64 ядра• multithreading, parallel computing

• Больше машин в кластере• гонка кластеров, Alibaba FuxiSort — 3 377 машин• distributed computing• горизонтальная (и эластичная) масштабируемость

• Больше кластеров

Как мы справляемся с ростом данных?

• Более мощный процессор• гонка гигагерц, Pentium IV — 3.8 Ghz

• Больше ядер в процессоре• гонка ядер, Xeon Phi 7210 — 64 ядра• multithreading, parallel computing

• Больше машин в кластере• гонка кластеров, Alibaba FuxiSort — 3 377 машин• distributed computing• горизонтальная (и эластичная) масштабируемость

• Больше кластеров

Как мы справляемся с ростом данных?

• Более мощный процессор• гонка гигагерц, Pentium IV — 3.8 Ghz

• Больше ядер в процессоре• гонка ядер, Xeon Phi 7210 — 64 ядра• multithreading, parallel computing

• Больше машин в кластере• гонка кластеров, Alibaba FuxiSort — 3 377 машин• distributed computing• горизонтальная (и эластичная) масштабируемость

• Больше кластеров

Как мы справляемся с ростом данных?

• Более мощный процессор• гонка гигагерц, Pentium IV — 3.8 Ghz

• Больше ядер в процессоре• гонка ядер, Xeon Phi 7210 — 64 ядра• multithreading, parallel computing

• Больше машин в кластере• гонка кластеров, Alibaba FuxiSort — 3 377 машин• distributed computing• горизонтальная (и эластичная) масштабируемость

• Больше кластеров

RDBMS

SQL

strongconsistency

RDBMS

вертикальноемасштабирование

SQL

strongconsistency

RDBMS

вертикальноемасштабирование

SQL

strongconsistency

NoSQL

горизонтальное масштабирование

NoSQL

горизонтальное масштабирование

strongconsistency

NoSQL

горизонтальное масштабирование

SQLstrongconsistency

NoSQL

горизонтальное масштабирование

strongconsistency SQL

In-Memory Data Grids

горизонтальное масштабирование

SQL

In-Memory Data Grids

горизонтальное масштабирование

strongconsistency SQL

In-Memory Data Grids

горизонтальное масштабирование

strongconsistency SQL

Что предлагает Apache Ignite?

Apache Ignite

горизонтальное масштабирование

strongconsistency

ApacheIgnite

SQL

Предсказуемое

потребление

памяти

Полная

транзакционность(WAL)

Быстрыйперезапуск

Автоматическаядефрагментация

Off-Heapубирает паузы GC

Хранитнадмножестводанных

Apache Ignite

ориентированная на память платформа,которая устойчива к отказам,строго консистентна и высоко доступна,имеет SQL, Key-Value API, а такжевозможностью колоцированнойобработки данных

Apache Ignite

масштабируется на тысячи узлов,в том числе на разных континентах,дает скорость in-memory и надежность диска,применяется крупнейшими компаниями

Как это работает внутри?

Что внутри?

• Переработанная архитектура хранения• адаптирована под прозрачное хранение данных как в off-heap памяти,

так и на диске

• Собственное дисковое хранилище с WAL и checkpointing

• H2 для разбора SQL, оптимизации и подготовки плана выполнения

• Собственное исполнение SQL по плану поверх высоко распределенного окружения

Архитектура памяти

• Страницы

• Выделение памяти

• Сегменты (единица выделения памяти)

• Регионы

• Чтение данных

Страницы (Pages)

Страницы: выделение памяти

Страницы: выделение памяти

горячиеданные

холодныеданные

Страницы: выделение памяти

Сегменты

Регионы

B.get(X)

Affinity: K -> shard -> [Node]

Диск

• WAL

• Checkpoints

• Distributed storage

WAL

entriy, entry, …

INSERTUPDATEDELETE

Checkpoints

Persistence

Распределенный SQL

FROM,

WHERE,

JOIN

FROM,

WHERE,

JOIN

FROM,

WHERE,

JOIN

FROM,

WHERE,

JOIN

GROUP BY,

HAVING

JDBCODBC

ApacheIgnite

ApacheIgnite

ApacheIgnite

ApacheIgnite

Apache Ignite

• Горизонтально масштабируется

• Позволяет использовать SQL

• Колоцирует вычисления и данные

• Работает с данными со скоростью In-Memory

• Безопасно хранит данные на дисках• Full SQL

• Lazy Run

top related