Oracle Timesten

4,171 views
4,083 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,171
On SlideShare
0
From Embeds
0
Number of Embeds
1,116
Actions
Shares
0
Downloads
78
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Oracle Timesten

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

×