Особенности использования TimesTen In-Memory Database в высоконагруженной среде Михаил Гранкин, QIWI

Содержание

Слайд 2

Что такое TimesTen

РСУБД, работающая полностью в памяти.
Закрытый исходный код, коммерческая

Что такое TimesTen РСУБД, работающая полностью в памяти. Закрытый исходный код, коммерческая
лицензия
Поддерживает SQL в версии 7.05 и PL/SQL в версии 11g
Cost-based optimizer
JDBC, ODBC в версии 7.05 и OCI в версии 11g
Интеграция с Oracle database
Устанавливается на Unix/Linux/Windows

Слайд 3

Наша нагрузка (на один инстанс)

Около 150 таблиц
Около 150 млн строк в этих

Наша нагрузка (на один инстанс) Около 150 таблиц Около 150 млн строк
таблицах
1000 подключенных сессий
23Гб загруженных в память данных
Commit rate ~ 3000

Слайд 4

Управление запуском

Размер datastore
Фиксирован
Может только увеличиваться
Формула: Размер = Сколько есть – OS –

Управление запуском Размер datastore Фиксирован Может только увеличиваться Формула: Размер = Сколько
2 мб * max_session_amount – temp_size
Swapinness в 0
hugepage включить

Слайд 5

Уровни изоляции транзакции

Read commited
Читатели не блокируют писателей
Писатели не блокируют читателей
Хранится две версии

Уровни изоляции транзакции Read commited Читатели не блокируют писателей Писатели не блокируют
модифицируемой записи: текущая и новая
select sum(value) from tab может вернуть неожиданный результат
Serializable
Читатели блокируют писателей
Писатели блокируют читателей
Читатели не блокируют читателей

Слайд 6

Способы online агрегации данных

Materialized view – не для репликации
Все mview в TimesTen

Способы online агрегации данных Materialized view – не для репликации Все mview
– обновляются сразу!
Materialized views могут быть вложенные
TimesTen ~ 300 tps, Oracle database ~ 3 tps

Слайд 7

Механизмы интеграции Oracle database и TimesTen

Read-only cachegroup
Usermanaged cache group
Synchronous cache group

Механизмы интеграции Oracle database и TimesTen Read-only cachegroup Usermanaged cache group Synchronous

Asynchronous cache group
Aging feature
Passthrough feature
DB link Oracle -> TimesTen

Слайд 8

Организация хранения и индексирования данных

In-line и out-of-line данные
Добавление столбца = зло
Два типа

Организация хранения и индексирования данных In-line и out-of-line данные Добавление столбца =
индексов: t-tree и хэш (хэш быстрее, но он только для pk)
Статистика для CBO: количество уникальных значений и гистограммы
Типы данных TT меньше Oracle
Нет поддержки timestamp with local timezone

Слайд 9

Тёмная сторона

Datastore corruption за select
Disconnect при сложных запросах
Нет инструментов анализа производительности

Тёмная сторона Datastore corruption за select Disconnect при сложных запросах Нет инструментов

Хинты не удобные
Особенности управления изменениями (блокировка sys.tables)
Нет аналитических запросов
Из инструментов работы с базой: ttISQL и плагин к SQL Developer
Максимум 24 таблицы в одном запросе

Слайд 10

Наши проекты

Оптимизация отклика системы
Противодействие мошенническим схемам
Сбор данных с терминалов

Наши проекты Оптимизация отклика системы Противодействие мошенническим схемам Сбор данных с терминалов
Имя файла: Особенности-использования-TimesTen-In-Memory-Database-в-высоконагруженной-среде-Михаил-Гранкин,-QIWI.pptx
Количество просмотров: 489
Количество скачиваний: 0