oracle timesten

17
Oracle TimesTen – СУБД которая в 10 раз быстрее классических СУБД Геннадий Сигалаев/Игорь Мельников Oracle СНГ

Upload: ontico

Post on 14-Dec-2014

3.783 views

Category:

Technology


9 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Oracle Timesten

Oracle TimesTen – СУБД которая в 10 раз быстрее

классических СУБДГеннадий Сигалаев/Игорь Мельников

Oracle СНГ

Page 2: Oracle Timesten

Архитектура 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

Дисковая СУБД

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

Oracle TimesTen

Memory-Resident Database

Приложение

SQL

Вся БД загружена с диска в память до начала работы

Memory AddressQuery Optimiser / Executor

Data Store

Вычисление прямого

адреса в памяти

для искомой записи

Копирование данных в буфера приложения

Page 5: Oracle Timesten

Архитектура

Application Application

Page 6: Oracle Timesten

Почему TimesTen быстрее?

• TimesTen нужно меньше CPU ресурсов, чем дисковой СУБД, чтобы выполнить ту же работу;• Используются физические адреса записей;

• Не нужно преобразовывать логические адреса в физические;• Структуры данных, например индексы, оптимизированы для работы в RAM

Page 7: Oracle Timesten

Возможности Oracle TimesTen• ODBC и JDBC интерфейсы

• Поддержка SQL

• Access Control

• Database Cache

• Журнализация изменений

• Многопользовательский конкурентный доступ

• Автоматическая очистка данных

• Globalization support• Наблюдение за журналом

транзакций• Replication – TimesTen to

Timesten• Cache Administrator

Page 8: Oracle Timesten

Подключение Два вида подключения:

– 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

Поддержка SQL• Поддерживает широкий диапазон SQL – 92 (DML, DDL,

DCL, операторы управление транзакциями, индексы, материализованные представления ) + расширенные возможности (операторы репликации и т.д.)

• Стандартные типы данных (числовые, строковые, дата и т.д.)

• Поддержка большого набора SQL функций (decode, mod, case и т.д.)

• Не поддерживает LOB, collections, records, objects.

Page 10: Oracle Timesten

Оптимизация запросовHash Indexes

Сверх-быстрый поиск точных значений и эквисоединенийНе больше одного индекса на таблицу

T-Tree IndexesMemory-optimized index technologyСоздаются командой SQL “CREATE INDEX” Быстрый поиск точного значения и диапазона значенийСоздаются по умолчанию при создании первичного ключа

Cost-Based OptimizerПланы и хинты

Page 11: Oracle Timesten

Конкурентный доступПолная поддержка транзакций (COMMIT/ROLLBACK)Блокировка на уровне записиВерсионностьЗаписи не блокируют чтенияЧтения не блокируют записиTimesTen поддерживает распределенные транзакции через XA и JTA интерфейсы

Page 12: Oracle Timesten

Автоматическая очистка данныхАвтоматическая очистка данных – это операция удаления данных, которые больше не нужныДва типа очистки

Time-based aging – основана на timestamp значенияхUsage-based aging – основана на LRU алгоритме

Пользователь конфигурирует политику очистки Устанавливает политику на выбранные таблицы или cache groups

Приложение использует только наиболее часто используемые данныеКонтроль размера БД

Page 13: Oracle Timesten

Надежность• Все транзакции сохраняются в in-memory log buffer а затем

записываются на диск– Асинхронный commit– Синхронный (надежный) commit

• Автоматические контрольные точки– TimesTen использует 2 файла контрольной точки для

каждого data store• После перезапуска системы, данные могут быть загружены в

память из файлов контрольных точек и файлов транзакций

Page 14: Oracle Timesten

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

Репликация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

ДостоинстваПредсказуемое и ограниченное время отклика

Микросекунды вместо миллисекундВысокая производительностьВысокая пропускная способность (~ 100000 TPS)

Высокая доступность и восстанавливаемость Стандартная реляционная модель, поддержка SQL

Не нужно переписывать бизнес логику или интерфейсКэширование таблиц Oracle Database c автоматической синхронизаций данных

Page 17: Oracle Timesten

Демонстрация