Download - Oracle Timesten
![Page 1: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/1.jpg)
Oracle TimesTen – СУБД которая в 10 раз быстрее
классических СУБДГеннадий Сигалаев/Игорь Мельников
Oracle СНГ
![Page 2: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/2.jpg)
Архитектура Oracle TimesTen
Checkpoint files
Network
Client/Server applications
Direct-linked application
TimesTen shared libraries
Applicationbusiness logic
TimesTen
Client lib
Application
Transaction Logs files
In-Memory Database
• Shared libraries
• Memory-resident data structures
• Database processes
• Administrative programs
• Checkpoint and log filesTimesTen shared libraries
Applicationbusiness logic
Database processes
Administrative programs
Handle client/server requests
![Page 3: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/3.jpg)
Дисковая СУБД
Hash Function
Linked Lists Into Buffers
Buffer Pool
Приложение
SQL
Копирование записей в Private Buffer
Data Page
Предположим, что страница уже в памяти...
Пересылка буфера в приложение (via IPC)
Table#Page#QueryOptimiser /Executor
Вычисление указателя на адрес страницы (Page Pointer)
с использованием хэширования и линейного
поиска
IPC Определение адреса искомой страницы на диске
![Page 4: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/4.jpg)
Oracle TimesTen
Memory-Resident Database
Приложение
SQL
Вся БД загружена с диска в память до начала работы
Memory AddressQuery Optimiser / Executor
Data Store
Вычисление прямого
адреса в памяти
для искомой записи
Копирование данных в буфера приложения
![Page 5: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/5.jpg)
Архитектура
Application Application
![Page 6: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/6.jpg)
Почему TimesTen быстрее?
• TimesTen нужно меньше CPU ресурсов, чем дисковой СУБД, чтобы выполнить ту же работу;• Используются физические адреса записей;
• Не нужно преобразовывать логические адреса в физические;• Структуры данных, например индексы, оптимизированы для работы в RAM
![Page 7: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/7.jpg)
Возможности Oracle TimesTen• ODBC и JDBC интерфейсы
• Поддержка SQL
• Access Control
• Database Cache
• Журнализация изменений
• Многопользовательский конкурентный доступ
• Автоматическая очистка данных
• Globalization support• Наблюдение за журналом
транзакций• Replication – TimesTen to
Timesten• Cache Administrator
![Page 8: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/8.jpg)
Подключение Два вида подключения:
– Direct connection
– Client/server connection
Интерфейсы:
– JDBC
– ODBC
TimesTen Libraries
Application
TimesTen Libraries
Application
Checkpoint files
Network
Client-Server
Direct-linked
TimesTen Libraries
ApplicationTimesTen Client lib
Application
Transaction Logs
In-Memory Database
![Page 9: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/9.jpg)
Поддержка SQL• Поддерживает широкий диапазон SQL – 92 (DML, DDL,
DCL, операторы управление транзакциями, индексы, материализованные представления ) + расширенные возможности (операторы репликации и т.д.)
• Стандартные типы данных (числовые, строковые, дата и т.д.)
• Поддержка большого набора SQL функций (decode, mod, case и т.д.)
• Не поддерживает LOB, collections, records, objects.
![Page 10: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/10.jpg)
Оптимизация запросовHash Indexes
Сверх-быстрый поиск точных значений и эквисоединенийНе больше одного индекса на таблицу
T-Tree IndexesMemory-optimized index technologyСоздаются командой SQL “CREATE INDEX” Быстрый поиск точного значения и диапазона значенийСоздаются по умолчанию при создании первичного ключа
Cost-Based OptimizerПланы и хинты
![Page 11: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/11.jpg)
Конкурентный доступПолная поддержка транзакций (COMMIT/ROLLBACK)Блокировка на уровне записиВерсионностьЗаписи не блокируют чтенияЧтения не блокируют записиTimesTen поддерживает распределенные транзакции через XA и JTA интерфейсы
![Page 12: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/12.jpg)
Автоматическая очистка данныхАвтоматическая очистка данных – это операция удаления данных, которые больше не нужныДва типа очистки
Time-based aging – основана на timestamp значенияхUsage-based aging – основана на LRU алгоритме
Пользователь конфигурирует политику очистки Устанавливает политику на выбранные таблицы или cache groups
Приложение использует только наиболее часто используемые данныеКонтроль размера БД
![Page 13: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/13.jpg)
Надежность• Все транзакции сохраняются в in-memory log buffer а затем
записываются на диск– Асинхронный commit– Синхронный (надежный) commit
• Автоматические контрольные точки– TimesTen использует 2 файла контрольной точки для
каждого data store• После перезапуска системы, данные могут быть загружены в
память из файлов контрольных точек и файлов транзакций
![Page 14: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/14.jpg)
Database Cache• Кешируются таблицы из Oracle Database
• Пользователь конфигурирует cache groups
– Кеширование индивидуальных таблиц и зависимых таблиц
– Кеширование всех или подмножества строк и колонок
• Только чтение или изменение
• Автоматическая синхронизация данных– Из TimesTen в Oracle– Из Oracle в TimesTen
Checkpoints
Tx Logs
Network
Client-Server
Cache Tables
CacheAgent
Direct-linked
ApplicationApplicationTimesTen Libraries
TimesTen Client lib
Application
![Page 15: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/15.jpg)
РепликацияNetwork
In-Memory In-Memory DatabaseDatabase
TimesTen Libraries
Application
TimesTen Libraries
Application
TimesTen Libraries
Application
ReplicationTimesTen to TimesTen
In-Memory In-Memory DatabaseDatabase
TimesTen Libraries
Application
TimesTen Libraries
Application
TimesTen Libraries
Application
Репликация данных в реальном времениМежду базами данных TimesTen
Гибкая конфигурация Master-standby, Master-master, N-way
Высокая производительностьАсинхронная репликацияСинхронная репликация
Надежная
![Page 16: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/16.jpg)
ДостоинстваПредсказуемое и ограниченное время отклика
Микросекунды вместо миллисекундВысокая производительностьВысокая пропускная способность (~ 100000 TPS)
Высокая доступность и восстанавливаемость Стандартная реляционная модель, поддержка SQL
Не нужно переписывать бизнес логику или интерфейсКэширование таблиц Oracle Database c автоматической синхронизаций данных
![Page 17: Oracle Timesten](https://reader031.vdocument.in/reader031/viewer/2022013118/548c9dd7b4795927358b4eab/html5/thumbnails/17.jpg)
Демонстрация