Слайд 2Что такое TimesTen
РСУБД, работающая полностью в памяти.
Закрытый исходный код, коммерческая
![Что такое TimesTen РСУБД, работающая полностью в памяти. Закрытый исходный код, коммерческая](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/387682/slide-1.jpg)
лицензия
Поддерживает 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 млн строк](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/387682/slide-2.jpg)
таблицах
1000 подключенных сессий
23Гб загруженных в память данных
Commit rate ~ 3000
Слайд 4Управление запуском
Размер datastore
Фиксирован
Может только увеличиваться
Формула: Размер = Сколько есть – OS –
![Управление запуском Размер datastore Фиксирован Может только увеличиваться Формула: Размер = Сколько](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/387682/slide-3.jpg)
2 мб * max_session_amount – temp_size
Swapinness в 0
hugepage включить
Слайд 5Уровни изоляции транзакции
Read commited
Читатели не блокируют писателей
Писатели не блокируют читателей
Хранится две версии
![Уровни изоляции транзакции Read commited Читатели не блокируют писателей Писатели не блокируют](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/387682/slide-4.jpg)
модифицируемой записи: текущая и новая
select sum(value) from tab может вернуть неожиданный результат
Serializable
Читатели блокируют писателей
Писатели блокируют читателей
Читатели не блокируют читателей
Слайд 6Способы online агрегации данных
Materialized view – не для репликации
Все mview в TimesTen
![Способы online агрегации данных Materialized view – не для репликации Все mview](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/387682/slide-5.jpg)
– обновляются сразу!
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](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/387682/slide-6.jpg)
Asynchronous cache group
Aging feature
Passthrough feature
DB link Oracle -> TimesTen
Слайд 8Организация хранения и индексирования данных
In-line и out-of-line данные
Добавление столбца = зло
Два типа
![Организация хранения и индексирования данных In-line и out-of-line данные Добавление столбца =](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/387682/slide-7.jpg)
индексов: t-tree и хэш (хэш быстрее, но он только для pk)
Статистика для CBO: количество уникальных значений и гистограммы
Типы данных TT меньше Oracle
Нет поддержки timestamp with local timezone
Слайд 9Тёмная сторона
Datastore corruption за select
Disconnect при сложных запросах
Нет инструментов анализа производительности
![Тёмная сторона Datastore corruption за select Disconnect при сложных запросах Нет инструментов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/387682/slide-8.jpg)
Хинты не удобные
Особенности управления изменениями (блокировка sys.tables)
Нет аналитических запросов
Из инструментов работы с базой: ttISQL и плагин к SQL Developer
Максимум 24 таблицы в одном запросе
Слайд 10Наши проекты
Оптимизация отклика системы
Противодействие мошенническим схемам
Сбор данных с терминалов
![Наши проекты Оптимизация отклика системы Противодействие мошенническим схемам Сбор данных с терминалов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/387682/slide-9.jpg)