SlideShare a Scribd company logo
Copyright © 2014, Oracle and/or its affiliates. 1 All rights reserved.
Oracle Database In-Memory 
Игорь Мельников 
Oracle 
ORACLE 
PRODUCT 
LOGO
План 
 Введение 
 Oracle Database In-Memory Option 
 Результаты тестирования 
 Заключение 
Copyright © 2014, Oracle and/or its affiliates. 3 All rights reserved.
Введение 
Copyright © 2014, Oracle and/or its affiliates. 4 All rights reserved.
Оперативная память: тренды и влияние 
Сегодня память быстрее, дешевле и ее объем больше 
Объемы памяти растут 
2002 256 MB/DIMM 
2012 16 GB/DIMM 
DRAM: 
2012 100 GB/DOM 2012 $0.0005/MB Flash 
Flash: 400x больше емкости 400x дешевле 20x быстрее 
Copyright © 2014, Oracle and/or its affiliates. 5 All rights reserved. 
Стоимость падает 
2002 $0.2/MB 
2012 $0.009/MB 
Память значительно 
быстрее 
Disk 
5ms – скорость 
доступа 
DRAM 
100ns – 
скорость 
доступа 
64x больше емкости 25x дешевле 50,000х быстрее 
0.25ms – 
скорость 
доступа 
Ускорение OLTP и DW приложений, больше пользователей, больше данных
Oracle In-Memory Database 
Лучшие технологии для работы в памяти 
• 20+ years of scale-up 
optimizations 
• 10+ years of scale-out 
optimizations 
• Prefix Index Compression 
• Bitmap Index Compression 
• Basic & IOT Table 
Compression 
• And much more 
• In-Memory Parallel Query 
• OLTP Compression 
• Unstructured Data 
• Client SQL/PL/SQL Result 
• Server SQL/PL/SQL Result 
Copyright © 2014, Oracle and/or its affiliates. 6 All rights reserved. 
12c Release 1 
• Big Memory Cluster 
& 2x more index compression 
on Exadata 
• Rowset Processing 
• In-Memory Column Store 
for Unstructured Data 
• OLTP Wide Table 
Compression 
• HCC Row Level Locking 
Приложение 
работает с 
памятью без 
изменений! 
Комбинация DRAM, Flash и HDD 
Быстрой памяти и стоимости дисков 
Без ограничений на размер БД 
Compression 
Cache 
Cache 
• In-Memory Column Store for 
DW 
• Columnar Compression 
• Columnar Processing 
• Cache Fusion Optimizations 
• In-Memory Parallel Query 
Optimizations 
• In-Memory Storage Index on 
Exadata Storage 
Pre-2007 2007 2008 2009 2012
Противоречие которое длится десятилетия 
Строчный формат и поколоночный 
Row 
SALES 
Приходится выбирать один формат и идти на компромиссы 
Copyright © 2014, Oracle and/or its affiliates. 7 All rights reserved. 
 OLTP-операции работают быстрее со 
строчным форматом 
– Быстрая обработка нескольких строк, много колонок 
Column 
 Аналитика работает быстрее с 
колоночным форматом 
– Отчет о сумме продаж по штату 
– Быстрая обработка нескольких колонок, много строк 
ORDER 
SALES 
S 
T 
A 
T 
E
Oracle Database In-Memory 
Copyright © 2014, Oracle and/or its affiliates. 8 All rights reserved.
Задачи Oracle Database In-Memory Option 
В 100 раз быстрее запросы для аналитики в 
реальном времени 
 Мгновенное получение результата 
 Запросы к OLTP базе или хранилищу данных 
 Актуальные данные в результатах! 
В 2 раза ускоряется обработка транзакций 
 Вставка строк в 3 – 4 раза быстрее 
Copyright © 2014, Oracle and/or its affiliates. 9 All rights reserved.
Oracle In-Memory Columnar Сache 
Copyright © 2014, Oracle and/or its affiliates. 10 All rights reserved. 
DRAM 
Pure Columnar 
 Данные в представлении 
по колонкам без генерации 
redo-информации 
 Минимальные затраты на 
изменения – даже для 
OLTP-транзакций 
 Данные загружаются в кэш 
при первом 
обращении/старте 
экземпляра
In-Memory Option: Оба формата в памяти СУБД 
 И строчный и поколоночный 
формат хранения в памяти для 
одних и тех же данных/таблиц 
 Данные одновременно активны 
и транзакционно согласованы 
 В 100 раз быстрее аналитика & 
отчетность: поколоночный 
формат 
 В 2 раза быстрее OLTP: 
строчный формат 
Copyright © 2014, Oracle and/or its affiliates. 11 All rights reserved. 
Column 
Format 
Memory 
Row 
Format 
Memory 
OLTP Analytics Sales Sales
Oracle In-Memory: отдельный кэш в SGA 
Instance 
SGA 
Library 
cache 
Instance 
SGA 
Database 
buffer cache 
 Динамический параметр INMEMORY_SIZE 
Copyright © 2014, Oracle and/or its affiliates. 12 All rights reserved. 
In-Memory 
Columnar 
Redo log 
buffer cache 
Shared pool 
Data Dict. 
cache 
In-row 
Cache 
PMON SMON DBWR LGWR CKPT Others 
Redo log 
buffer cache 
SQL> ALTER SYSTEM SET inmemory_size=512G SCOPE=SPFILE;
Статический пул в SGA 
Параметр SGA_TARGET должен быть увеличен соответственно 
SQL> SELECT * FROM V$SGA; 
NAME VALUE 
------------------ --------- 
Fixed Size 2927176 
Variable Size 570426808 
Database Buffers 4634022912 
Redo Buffers 13848576 
In-Memory Area 1024483648 
Copyright © 2014, Oracle and/or its affiliates. 13 All rights reserved.
Почему сканирование в In-Memory быстрее 
чем в буферном кэше? 
Буферный кэш 
Copyright © 2014, Oracle and/or its affiliates. 14 All rights reserved. 
SELECT COL4 FROM MYTABLE; 
1 
X 
X 
X 
XX 
РЕЗУЛЬТАТ 
Строчный формат
Почему сканирование в In-Memory быстрее 
чем в буферном кэше? 
In-Memory кэш 
Copyright © 2014, Oracle and/or its affiliates. 15 All rights reserved. 
SELECT COL4 FROM MYTABLE; 
1 
RESULT 
Колоночный формат 
РЕЗУЛЬТАТ 
X 
X 
X 
X
Включение columnar-кэширования для 
таблицы или mview 
 Включение columnar-кэширования для группы столбцов таблицы 
 Кэшироваться может не вся таблица, а только часть столбцов! 
SQL> ALTER TABLE cities 
INMEMORY 
INMEMORY (Id, Name, Country_Id, Time_Zone) 
NO INMEMORY (Created, Modified, State); 
Table altered. 
SQL> ALTER MATERIALIZED VIEW cities_mv INMEMORY; 
Materialized view altered. 
Copyright © 2014, Oracle and/or its affiliates. 16 All rights reserved. 
•Служебные столбцы – не 
участвуют в отчетах: 
нужны только для бизнес- 
логики
Включение columnar-кэширования для 
табличного пространства 
 Все таблицы и мат. представления в табличном пространстве 
будут кэшироваться в Columnar-кэше 
SQL> ALTER TABLESPACE tbs_data DEFAULT INMEMORY 
MEMCOMPRESS FOR CAPACITY HIGH 
PRIORITY LOW; 
Tablespace altered. 
 На уровне секций таблицы 
SQL> CREATE TABLE customers …… 
PARTITION BY LIST 
(PARTITION p1 …… INMEMORY, 
(PARTITION p2 …… NO INMEMORY); 
Copyright © 2014, Oracle and/or its affiliates. 17 All rights reserved.
Изменение плана запроса 
SQL-оптимизатор перестраивает план запроса 
SQL> SELECT count(*) FROM cities; 
Execution Plan 
---------------------------------------------------------- 
Plan hash value: 2756775702 
--------------------------------------------------------------------- 
| Id | Operation | Name | Rows | Cost (%CPU)| 
--------------------------------------------------------------------- 
| 0 | SELECT STATEMENT | | 1 | 0 (0)| 
| 1 | SORT AGGREGATE | | 1 | | 
| 2 | TABLE ACCESS INMEMORY FULL| CITIES | 1 | | 
--------------------------------------------------------------------- 
Copyright © 2014, Oracle and/or its affiliates. 18 All rights reserved.
Сканирование миллиарда строк в секунду на 
процессорном ядре 
Copyright © 2014, Oracle and/or its affiliates. 19 All rights reserved. 
Пример: Найти все продажи в штате CA 
In-Memory Column Store 
Sales State column 
“CA” 
SIMD 
Compare all 
values in 1 
cycle 
Сравнение 
всех 
значений за 
один цикл 
Загрузка 
значений 
множества 
штатов 
Vector 
Register 
более 
чем в 100 
раз 
быстрее 
• Каждое процессорное ядро 
сканирует одну колонку 
 При сканировании 
используются быстрые 
векторные SIMD-инструкции 
 Миллиарды строк в 
секунду сканируются одним 
ядром 
CPU
Oracle In-Memory: “разогрев” кэша 
 При старте БД (для Exadata/ZFS/Pillar) – checkpoint-сегмент для 
Columnar-кэша 
SQL> ALTER DATABASE FASTSTART TABLESPACE inmemory_tbs; 
Database altered. 
 Для generic hardware – при первом обращении к сегменту для 
которого включен атрибут in-memory 
Copyright © 2014, Oracle and/or its affiliates. 20 All rights reserved.
Сканирование и объединение данных из 
нескольких таблиц 
Copyright © 2014, Oracle and/or its affiliates. 21 All rights reserved. 
Пример: Найти все продажи в outlet-магазинах 
Продажи 
Магазины 
Type=outlet 
T 
Y 
P 
E 
Storeid 
in 
15,38,64 
S 
T 
O 
R 
E 
I 
D 
A 
M 
O 
U 
N 
T 
 Конвертирует join в 
быстрые сканы колонок 
 Joins выполняются в 10 
раз быстрее 
Sum
Multiple Bloom Filter 
Несколько соединий с использованием In-Memory 
Copyright © 2014, Oracle and/or its affiliates. 22 All rights reserved.
Мгновенная генерация отчетов: доли секунд 
Copyright © 2014, Oracle and/or its affiliates. 23 All rights reserved. 
Пример: Показать тренды продаж 
обуви в outlet магазинах 
In-Memory 
Report Outline 
Stores 
Products 
Sales 
Sales 
 Динамически создает в 
памяти объект-отчет 
 Объект заполняется во 
время сканирования 
таблицы продаж 
 Отчеты строятся в 20 раз 
быстрее без заранее 
созданных кубов
Cжатие столбцов в columnar-кэше 
Метод сжатия Описание 
• NO MEMCOPRESS • Данные не сжимаются 
• MEMCOMPRESS FOR DML • Метод сжатия оптимизированный для DML- 
Copyright © 2014, Oracle and/or its affiliates. 24 All rights reserved. 
операций 
• MEMCOMPRESS FOR QUERY 
LOW 
• Метод по умолчанию. Сканирование не требует 
декомпресии!!! 
• MEMCOMPRESS FOR QUERY 
HIGH 
• MEMCOMPRESS FOR CAPACITY 
HIGH 
• MEMCOMPRESS FOR CAPACITY 
LOW
Cжатие столбцов в кэше - пример 
Сжатие разными методами для группы столбцов 
SQL> ALTER TABLE cities 
INMEMORY 
INMEMORY MEMCOMPRESS FOR CAPACITY HIGH(Country_Id, Time_Zone) 
INMEMORY NO MEMCOMPRESS (Id, Name, Name_Eng); 
Table altered. 
Copyright © 2014, Oracle and/or its affiliates. 25 All rights reserved. 
•Уникальные столбцы – не 
сжимаются!
Поддержка в Compression Advisor 
DECLARE 
l_blkcnt_cmp BINARY_INTEGER; 
l_blkcnt_uncmp BINARY_INTEGER; 
l_row_cmp BINARY_INTEGER; 
l_row_uncmp BINARY_INTEGER; 
l_cmp_ratio NUMBER; 
l_comptype_str VARCHAR2(100); 
BEGIN 
dbms_compression.get_compression_ratio 
--input parameters 
scratchtbsname => 'USERS', -- scratch tablespace 
ownname => ‘INMEM_DEMO', -- owner of the table 
objname => ‘TICKETS', -- table name 
subobjname => NULL, -- partition name 
comptype => DBMS_COMPRESSION.COMP_INMEMORY_QUERY, -- compression algorithm 
--output parameters 
blkcnt_cmp => l_blkcnt_cmp, -- number of compressed blocks 
blkcnt_uncmp => l_blkcnt_uncmp, -- number of uncompressed blocks 
row_cmp => l_row_cmp, -- number of rows in a compressed block 
row_uncmp => l_row_uncmp, -- number of rows in an uncompressed block 
cmp_ratio => l_cmp_ratio, -- compression ratio 
comptype_str => l_comptype_str);-- compression type 
END; 
Copyright © 2014, Oracle and/or its affiliates. 26 All rights reserved.
Атрибут INMEMORY в USER_TABLES 
SQL> SELECT table_name, 
inmemory 
FROM USER_TABLES; 
TABLE_NAME INMEMORY 
------------ -------- 
CHANNELS DISABLED 
COSTS 
CUSTOMERS DISABLED 
PRODUCTS ENABLED 
SALES 
TIMES DISABLED 
Copyright © 2014, Oracle and/or its affiliates. 27 All rights reserved. 
 Новый столбец INMEMORY в 
представлениях словаря 
*_TABLES 
 INMEMORY – это атрибут 
сегмента 
 *_TABLES не отображают 
атрибуты логических объектов 
 COST и SALES – 
секционированные таблицы 
(логические объекты) 
 Столбец INMEMORY также 
появился в *_TAB_PARTITIONS
Системное представление V$IM_SEGMENTS 
Мониторинг использования кэша 
SQL> SELECT 
segment_name,inmemory_size,bytes,bytes_not_populated,populate_status 
FROM 
v$im_segments; 
SEGMENT_NAME INMEMORY_SIZE BYTES BYTES_NOT_POPULATED POPULATE_STATUS 
-------------------------------------------------------------------------- 
COUNTRIES 131072 5242880 425984 STARTED 
CITIES 1179648 5242880 0 COMPLETED 
COMPANIES 1179648 5242880 0 COMPLETED 
AIRPORTS 1179648 5242880 0 COMPLETED 
Copyright © 2014, Oracle and/or its affiliates. 28 All rights reserved.
Управление приоритетом загрузки в кэш 
Приоритет Синтаксис Описание 
• NONE 
(default) 
PRIORITY NONE • Приоритет загрузки определяется 
Copyright © 2014, Oracle and/or its affiliates. 29 All rights reserved. 
СУБД. Загрузка может быть 
задержана, если память используется 
для другого более приоритетного 
сегмента. - Запрос переключаетcя на 
обычный (in-row) кэш. 
• LOW PRIORITY LOW • Низкий приоритет 
• MEDIUM PRIORITY MEDIUM • Средний приоритет 
• HIGH PRIORITY HIGH • Высокий приоритет 
• CRITICAL PRIORITY CRITICAL • Высший приоритет
Приоритет загрузки в кэш - пример 
Один приоритет для всей таблицы/секции/мат. представления 
SQL> ALTER TABLE cities 
INMEMORY 
PRIORITY CRITICAL 
INMEMORY MEMCOMPRESS FOR CAPACITY HIGH(Country_Id, Time_Zone) 
INMEMORY MEMCOMPRESS NO (Id, Name, Name_Eng); 
Table altered. 
Copyright © 2014, Oracle and/or its affiliates. 30 All rights reserved.
OLTP работает медленно из-за аналитических 
индексов 
Copyright © 2014, Oracle and/or its affiliates. 31 All rights reserved. 
Таблица 
1 - 3 
OLTP 
индекса 
10 - 20 
аналитических 
 Большинство индексов в OLTP индексов 
(например, в ERP) базах 
строится только для 
аналитических запросов 
 Индексы хорошо подходят для 
предсказуемых запросов (и в 
памяти, и на диске) 
 Вставка одной строки в таблицу 
приводит к обновлению 10-20 
аналитических индексов: 
Медленно! 
Поколоночное 
хранение в памяти
Oracle In-Memory – высокая доступность 
 Представление по столбцам в 
памяти не влияет на формат 
данных на диске: datafiles, 
logging, backup, recovery, и т.д. 
 Все технологии, в том числе 
ASM, RAC, DG, GG работают 
прозрачно для In-Memory Option 
 Защита от любых видов ошибок 
 На уровне железа 
 Логические ошибки 
приложения (Flashback) 
Copyright © 2014, Oracle and/or its affiliates. 32 All rights reserved. 
Data Guard & GoldenGate 
RAC 
ASM 
RMAN
Oracle In-Memory в RAC 
 Управление распределением объектов в кэше между узлами RAC: 
– AUTO DISTRIBUTE – синхронизацией кэша управляет СУБД 
(поведение по умолчанию) 
– DUPLICATE – (exa-only) кэши принудительно синхронизируются между 
узлами RAC (2 копии chunk-а кластер) 
– DUPLICATE ALL – (exa-only) кэши одинаковы на всех узлах RAC 
– DISTRIBUTE BY ROWID RANGE, DISTRIBUTE BY 
PARTITION, DISTRIBUTE BY SUBPARTITION 
SQL> ALTER TABLE cites INMEMORY 
DUPLICATE; 
Table altered. 
Copyright © 2014, Oracle and/or its affiliates. 33 All rights reserved. 
In Memory 
Column 
Store 
In Memory 
Column 
Store 
In Memory 
Column 
Store 
In Memory 
Column 
Store
Полный синтаксис кэширования таблицы 
Мощный и гибкий синтаксис 
SQL> ALTER TABLE cities 
INMEMORY 
PRIORITY CRITICAL 
DUPLICATE 
INMEMORY MEMCOMPRESS FOR CAPACITY HIGH (Country_Id, Time_Zone) 
INMEMORY MEMCOMPRESS NO (Id, Name, Name_Eng) 
NO INMEMORY (Created, Modified, State); 
Table altered. 
Copyright © 2014, Oracle and/or its affiliates. 34 All rights reserved.
Подсказки для оптимизатора 
Включение/выключение columnar-кэширования и pruning-а 
SQL> SELECT /*+ NO_INMEMORY (mytbs) */ 
sum(a.amount) 
FROM 
cities c, 
amounts a 
WHERE 
c.id = a.city_id; 
 Новые хинты: INMEMORY, INMEMORY_PRUNING, 
NO_INMEMORY_PRUNING, 
Copyright © 2014, Oracle and/or its affiliates. 35 All rights reserved.
Storage Index в In-Memory Columnar Store 
 Хранит 
минимальное и 
максимальное 
значение столбца в 
каждом экстенте 
памяти кэша 
 Прозрачно 
исключает ненужные 
сканирования 
столбцов, например: 
WHERE prod_id > 14 
AND prod_id < 29 
Copyright © 2014, Oracle and/or its affiliates. 36 All rights reserved.
In-Memory Option - архитектура 
 Space Manager 
 Управляет памятью в In- 
Memory Column Store 
(create, extend, drop) 
 Загружает данные в кэш 
 Transaction Manager 
 Обеспечивает 
согласованность данных 
в In-Memory Column 
Store с буферным 
кэшем 
 Обеспечивает 
версионность 
Copyright © 2014, Oracle and/or its affiliates. 37 All rights reserved.
Новые параметры в init.ora 
 INMEMORY_SIZE 
 INMEMORY_FORCE= { DEFAULT | OFF } 
 INMEMORY_CLAUSE_DEFAULT= [INMEMORY] [NO INMEMORY] 
[compression-clauses][priority-clauses] 
 INMEMORY_QUERY={ENABLE | DISABLE} 
 INMEMORY_MAX_POPULATE_SERVERS 
 OPTIMIZER_INMEMORY_AWARE 
 INMEMORY_TRICKLE_REPOPULATE_SERVERS_PERCENT 
Copyright © 2014, Oracle and/or its affiliates. 38 All rights reserved.
Для каких приложений подходит In-Memory 
Option? 
 Если в приложении есть много запросов сканирующих много строк 
с фильтрами такими как: “=, <, >, и IN” 
 Запрашивает всего лишь несколько столбцов, напр: 5 столбцов из 
100 столбцов таблицы 
 Приложение часто делает соединение большой факторной 
таблицы с таблицей измерений, с фильтром по таблице измерений 
 Типы приложений предпочтительные для использования In- 
Memory Option: хранилища данных (DataWarehouse) и cмешанного 
типа (Mixed Application) 
Copyright © 2014, Oracle and/or its affiliates. 39 All rights reserved.
Oracle In-Memory Options не требует 
изменения приложений 
Полная функциональность - Нет ограничений на SQL 
Простота реализации - Не нужна миграция данных 
Полная совместимость - Не надо изменять приложения 
Полностью Multitenant - Oracle In-Memory готова для cloud 
Приложения получают все преимущества In-Memory опции без изменения кода приложения 
Copyright © 2014, Oracle and/or its affiliates. 40 All rights reserved.
Oracle Database In-Memory и TimesTen 
TimesTen In-Memory Database 
• Встраиваемая БД для приложений 
• Экстремальная быстрая 
производительность для OLTP-нагрузки 
(время ответа - микросекунды) 
• Адаптивный кэш для инженерной системы 
Oracle Exalytics 
Application 
Application 
Copyright © 2014, Oracle and/or its affiliates. 41 All rights reserved. 
Application 
Oracle Database In-Memory Option 
• Масштабируемая обработка данных в 
памяти для любых видов нагрузки, в том 
числе и смешанной (OLTP и DWH)
TimesTen In-Memory Database и Columnar 
Copyright © 2014, Oracle and/or its affiliates. 42 All rights reserved. 
 TimesTen также используется и для 
аналитических задач 
 TimesTen имеет технологию обработки по 
столбцам для ускорения аналитики 
– Ядро системы обработки и хранения данных 
по столбцам общее для TT и Oracle Database 
– Дополнительно TT имеет встроенный 
аналитический “движок” 
TimesTen Grid 
Scale-Out In-Memory DB 
Columnar 
42
Copyright © 2014, Oracle and/or its affiliates. 43 All rights reserved. 
Public 4
Результаты 
тестирования 
Copyright © 2014, Oracle and/or its affiliates. 44 All rights reserved.
Тестовый стенд 
 Сервер Oracle Sun X2-4 
– 4CPU Intel Xeon E7-4800 (40 ядер) 
– 1Тб RAM 
 Oracle Database 12.0.1.2 – Beta 
– Буферный кэш: 300Gb 
– In-Memory Columnar Cache: 300Gb 
 Объем таблицы: 167Gb 
Copyright © 2014, Oracle and/or its affiliates. 45 All rights reserved.
Тест N1: cкорость полного сканирования 
In-Memory Cache: идентичен обычному буферному кэшу 
 SELECT /*+ FULL(tickets) */ count(*) FROM tickets; 
3 
2,5 
2 
1,5 
1 
0,5 
0 
Copyright © 2014, Oracle and/or its affiliates. 46 All rights reserved. 
1,25 1,28 
Обычный кэш Сolumnar Cache
Тест N2: cкорость фильтрации 
In-Memory Cache: в 5 раз быстрее! 
 SELECT count(*) FROM tickets WHERE reservaton_code=‘test'; 
3 
2,5 
2 
1,5 
1 
0,5 
0 
Copyright © 2014, Oracle and/or its affiliates. 47 All rights reserved. 
2,51 
0,5 
Обычный кэш Сolumnar Cache
Тест N3: cжатие 
In-Memory Cache: в 2 раза, без потери скорости! 
160 
140 
120 
100 
80 
60 
40 
20 
0 
Copyright © 2014, Oracle and/or its affiliates. 48 All rights reserved. 
Размер на 
диске 
Сolumnar 
Cache (Мин. 
степень) 
Сolumnar 
Cache (Макс. 
степень) 
167 
128 
86
Тест N4: 3-ый запрос после 10 секунд 
In-Memory Cache: мгновенный результат! 
SQL> SELECT count(*) FROM tickets WHERE reservation_code='test' 
COUNT(*) 
---------- 
0 
Elapsed: 00:00:00.00 
 Внутренний неявный result cache 
Copyright © 2014, Oracle and/or its affiliates. 49 All rights reserved.
Oracle Database In-Memory Option 
 Мощная технология обработки данных в памяти 
– Эффективно интегрирована в СУБД Oracle Database 
 Обеспечивает увеличение производительности 
– Аналитических и Ad-Hoc отчетов на “живых” данных 
– Для OLTP-приложений и хранилищ данных 
 Готовое решение в “коробке”: прозрачно для приложений! 
Copyright © 2014, Oracle and/or its affiliates. 50 All rights reserved.
Заключение: Oracle In-Memory Option 
 Экстремальная производительность для OLTP и 
хранилищ данных на актуальных данных 
 Прозрачное масштабирование по CPU и RAM 
 Прозрачно для всех технологий СУБД Oracle 
Все преимущества обработки в памяти 
без изменения приложений 
Copyright © 2014, Oracle and/or its affiliates. 51 All rights reserved.
Заключение: Oracle Database 12c R1 Patchset 1 
 Oracle Database - In-Memory Database : 
– In-Memory Database Option 
– Automatic Big Table Cache 
– Full Database Caching Mode 
 Встроенная поддержка JSON 
 Attribute Clustering 
 Zone Mapping 
Copyright © 2014, Oracle and/or its affiliates. 52 All rights reserved.
Copyright © 2014, Oracle and/or its affiliates. 53 All rights reserved.
Copyright © 2014, Oracle and/or its affiliates. 54 All rights reserved.

More Related Content

What's hot

Описание архитектуры СУБД HP Vertica
Описание архитектуры СУБД HP VerticaОписание архитектуры СУБД HP Vertica
Описание архитектуры СУБД HP Vertica
Andrey Karpov
 
Andrei Kirilenkov. Vertica
Andrei Kirilenkov. VerticaAndrei Kirilenkov. Vertica
Andrei Kirilenkov. Vertica
Volha Banadyseva
 
HP Vertica
HP VerticaHP Vertica
IBM DB2 LUW: миграция с других платформ СУБД
IBM DB2 LUW: миграция с других платформ СУБДIBM DB2 LUW: миграция с других платформ СУБД
IBM DB2 LUW: миграция с других платформ СУБД
Maxim Zinal
 
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио..."PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
Badoo Development
 
DataScienceLab2017_Высокопроизводительные вычислительные возможности для сист...
DataScienceLab2017_Высокопроизводительные вычислительные возможности для сист...DataScienceLab2017_Высокопроизводительные вычислительные возможности для сист...
DataScienceLab2017_Высокопроизводительные вычислительные возможности для сист...
GeeksLab Odessa
 
Доклад Ильи Сотникова на SPCUA 2012
Доклад Ильи Сотникова на SPCUA 2012Доклад Ильи Сотникова на SPCUA 2012
Доклад Ильи Сотникова на SPCUA 2012
Lizard Soft
 
Дедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекамДедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекам
КРОК
 
Вебинар «Что нужно и что не нужно делать при проектировании инфраструктур для...
Вебинар «Что нужно и что не нужно делать при проектировании инфраструктур для...Вебинар «Что нужно и что не нужно делать при проектировании инфраструктур для...
Вебинар «Что нужно и что не нужно делать при проектировании инфраструктур для...
Fujitsu Russia
 
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Ontico
 
ERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLineERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLine
DataLine
 
Новый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery ApplianceНовый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery ApplianceAndrey Akulov
 
12 - Hadoop. HBase и Cassandra
12 - Hadoop. HBase и Cassandra12 - Hadoop. HBase и Cassandra
12 - Hadoop. HBase и Cassandra
Roman Brovko
 
Oracle 11g с нуля: первые шаги с СУБД Oracle
Oracle 11g с нуля: первые шаги с СУБД OracleOracle 11g с нуля: первые шаги с СУБД Oracle
Oracle 11g с нуля: первые шаги с СУБД Oracle
SkillFactory
 
High load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rusHigh load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rus
Vladd Ev
 
Лучшие практики в области СХД для хранения и резервного копирования СУБД Oracle
Лучшие практики в области СХД для хранения и резервного копирования СУБД OracleЛучшие практики в области СХД для хранения и резервного копирования СУБД Oracle
Лучшие практики в области СХД для хранения и резервного копирования СУБД OracleAndrey Akulov
 
IBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность  в каждом байтеIBM FlashSystem-Бескомпромиссность  в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байте
Yaryomenko
 

What's hot (17)

Описание архитектуры СУБД HP Vertica
Описание архитектуры СУБД HP VerticaОписание архитектуры СУБД HP Vertica
Описание архитектуры СУБД HP Vertica
 
Andrei Kirilenkov. Vertica
Andrei Kirilenkov. VerticaAndrei Kirilenkov. Vertica
Andrei Kirilenkov. Vertica
 
HP Vertica
HP VerticaHP Vertica
HP Vertica
 
IBM DB2 LUW: миграция с других платформ СУБД
IBM DB2 LUW: миграция с других платформ СУБДIBM DB2 LUW: миграция с других платформ СУБД
IBM DB2 LUW: миграция с других платформ СУБД
 
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио..."PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
 
DataScienceLab2017_Высокопроизводительные вычислительные возможности для сист...
DataScienceLab2017_Высокопроизводительные вычислительные возможности для сист...DataScienceLab2017_Высокопроизводительные вычислительные возможности для сист...
DataScienceLab2017_Высокопроизводительные вычислительные возможности для сист...
 
Доклад Ильи Сотникова на SPCUA 2012
Доклад Ильи Сотникова на SPCUA 2012Доклад Ильи Сотникова на SPCUA 2012
Доклад Ильи Сотникова на SPCUA 2012
 
Дедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекамДедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекам
 
Вебинар «Что нужно и что не нужно делать при проектировании инфраструктур для...
Вебинар «Что нужно и что не нужно делать при проектировании инфраструктур для...Вебинар «Что нужно и что не нужно делать при проектировании инфраструктур для...
Вебинар «Что нужно и что не нужно делать при проектировании инфраструктур для...
 
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
 
ERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLineERP-системы в облаке: разбор кейсов DataLine
ERP-системы в облаке: разбор кейсов DataLine
 
Новый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery ApplianceНовый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
 
12 - Hadoop. HBase и Cassandra
12 - Hadoop. HBase и Cassandra12 - Hadoop. HBase и Cassandra
12 - Hadoop. HBase и Cassandra
 
Oracle 11g с нуля: первые шаги с СУБД Oracle
Oracle 11g с нуля: первые шаги с СУБД OracleOracle 11g с нуля: первые шаги с СУБД Oracle
Oracle 11g с нуля: первые шаги с СУБД Oracle
 
High load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rusHigh load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rus
 
Лучшие практики в области СХД для хранения и резервного копирования СУБД Oracle
Лучшие практики в области СХД для хранения и резервного копирования СУБД OracleЛучшие практики в области СХД для хранения и резервного копирования СУБД Oracle
Лучшие практики в области СХД для хранения и резервного копирования СУБД Oracle
 
IBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность  в каждом байтеIBM FlashSystem-Бескомпромиссность  в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байте
 

Similar to Oracle Database In-Memory

Новый игрок рынка СХД: Violin Memory
Новый игрок рынка СХД: Violin MemoryНовый игрок рынка СХД: Violin Memory
Новый игрок рынка СХД: Violin Memory
КРОК
 
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Andrey Akulov
 
Преимущества построения оперативной отчетности с помощью технологий Oracle
Преимущества построения оперативной отчетности с помощью технологий OracleПреимущества построения оперативной отчетности с помощью технологий Oracle
Преимущества построения оперативной отчетности с помощью технологий OracleAndrey Akulov
 
С. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийС. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийExpolink
 
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Expolink
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Ontico
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
Nikolay Samokhvalov
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
Elena Ometova
 
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Банковское обозрение
 
WebCamp:Back-end Developers Day. Петровский Анатолий "Как построить хайлоад и...
WebCamp:Back-end Developers Day. Петровский Анатолий "Как построить хайлоад и...WebCamp:Back-end Developers Day. Петровский Анатолий "Как построить хайлоад и...
WebCamp:Back-end Developers Day. Петровский Анатолий "Как построить хайлоад и...
GeeksLab Odessa
 
Fors и big data appliance
Fors и big data applianceFors и big data appliance
Fors и big data appliance
CleverDATA
 
All Flash системы хранения – примеры из реального опыта
All Flash системы хранения – примеры из реального опытаAll Flash системы хранения – примеры из реального опыта
All Flash системы хранения – примеры из реального опыта
Альбина Минуллина
 
Евгения Курмачева (Oracle): Oracle Database 12c
Евгения Курмачева (Oracle): Oracle Database 12cЕвгения Курмачева (Oracle): Oracle Database 12c
Евгения Курмачева (Oracle): Oracle Database 12c
Expolink
 
Обзор TimesTen In-Memory Database
Обзор TimesTen In-Memory DatabaseОбзор TimesTen In-Memory Database
Обзор TimesTen In-Memory DatabaseAndrey Akulov
 
supercluster
superclustersupercluster
Backup commvault data_line
Backup commvault data_lineBackup commvault data_line
Backup commvault data_line
Татьяна Янкина
 
Soa12c launch 2 features cr
Soa12c launch 2 features crSoa12c launch 2 features cr
Soa12c launch 2 features cr
Vasily Demin
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреDEPO Computers
 
Виртуальный дата-центр КРОК
Виртуальный дата-центр КРОКВиртуальный дата-центр КРОК
Виртуальный дата-центр КРОК
КРОК
 
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решениеViolin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
КРОК
 

Similar to Oracle Database In-Memory (20)

Новый игрок рынка СХД: Violin Memory
Новый игрок рынка СХД: Violin MemoryНовый игрок рынка СХД: Violin Memory
Новый игрок рынка СХД: Violin Memory
 
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014
 
Преимущества построения оперативной отчетности с помощью технологий Oracle
Преимущества построения оперативной отчетности с помощью технологий OracleПреимущества построения оперативной отчетности с помощью технологий Oracle
Преимущества построения оперативной отчетности с помощью технологий Oracle
 
С. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийС. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложений
 
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
 
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
Сергей Мелехов, Менеджер по развитию бизнеса вычислительных систем Oracle Вос...
 
WebCamp:Back-end Developers Day. Петровский Анатолий "Как построить хайлоад и...
WebCamp:Back-end Developers Day. Петровский Анатолий "Как построить хайлоад и...WebCamp:Back-end Developers Day. Петровский Анатолий "Как построить хайлоад и...
WebCamp:Back-end Developers Day. Петровский Анатолий "Как построить хайлоад и...
 
Fors и big data appliance
Fors и big data applianceFors и big data appliance
Fors и big data appliance
 
All Flash системы хранения – примеры из реального опыта
All Flash системы хранения – примеры из реального опытаAll Flash системы хранения – примеры из реального опыта
All Flash системы хранения – примеры из реального опыта
 
Евгения Курмачева (Oracle): Oracle Database 12c
Евгения Курмачева (Oracle): Oracle Database 12cЕвгения Курмачева (Oracle): Oracle Database 12c
Евгения Курмачева (Oracle): Oracle Database 12c
 
Обзор TimesTen In-Memory Database
Обзор TimesTen In-Memory DatabaseОбзор TimesTen In-Memory Database
Обзор TimesTen In-Memory Database
 
supercluster
superclustersupercluster
supercluster
 
Backup commvault data_line
Backup commvault data_lineBackup commvault data_line
Backup commvault data_line
 
Soa12c launch 2 features cr
Soa12c launch 2 features crSoa12c launch 2 features cr
Soa12c launch 2 features cr
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
 
Виртуальный дата-центр КРОК
Виртуальный дата-центр КРОКВиртуальный дата-центр КРОК
Виртуальный дата-центр КРОК
 
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решениеViolin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
 

More from Andrey Akulov

Highly Automated IT
Highly Automated ITHighly Automated IT
Highly Automated IT
Andrey Akulov
 
Oracle OpenWorld 2016. Big Data references
Oracle OpenWorld 2016. Big Data referencesOracle OpenWorld 2016. Big Data references
Oracle OpenWorld 2016. Big Data references
Andrey Akulov
 
Oracle Big Data proposition
Oracle Big Data propositionOracle Big Data proposition
Oracle Big Data proposition
Andrey Akulov
 
Oracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategyOracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategy
Andrey Akulov
 
Oracle Big Data. Обзор технологий
Oracle Big Data. Обзор технологийOracle Big Data. Обзор технологий
Oracle Big Data. Обзор технологий
Andrey Akulov
 
Oracle IaaS including OCM and Ravello
Oracle IaaS including OCM and RavelloOracle IaaS including OCM and Ravello
Oracle IaaS including OCM and Ravello
Andrey Akulov
 
Oracle Ravello
Oracle Ravello Oracle Ravello
Oracle Ravello
Andrey Akulov
 
Oracle Enterprise Metadata Management
Oracle Enterprise Metadata ManagementOracle Enterprise Metadata Management
Oracle Enterprise Metadata Management
Andrey Akulov
 
Решения Oracle для Big Data
Решения Oracle для Big DataРешения Oracle для Big Data
Решения Oracle для Big Data
Andrey Akulov
 
Подход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических системПодход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических системAndrey Akulov
 
Управление административными учетными записями как средство защиты от челове...
Управление административными учетными записями как  средство защиты от челове...Управление административными учетными записями как  средство защиты от челове...
Управление административными учетными записями как средство защиты от челове...Andrey Akulov
 
Cоблюдение требований законодательства с помощью сертифицированных средств бе...
Cоблюдение требований законодательства с помощью сертифицированных средств бе...Cоблюдение требований законодательства с помощью сертифицированных средств бе...
Cоблюдение требований законодательства с помощью сертифицированных средств бе...Andrey Akulov
 
Защита информации на уровне СУБД
Защита информации на уровне СУБДЗащита информации на уровне СУБД
Защита информации на уровне СУБДAndrey Akulov
 
Новые возможности по разработке приложений (ADF, SOA, BPM)
Новые возможности по разработке приложений (ADF, SOA, BPM)Новые возможности по разработке приложений (ADF, SOA, BPM)
Новые возможности по разработке приложений (ADF, SOA, BPM)Andrey Akulov
 
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Andrey Akulov
 
Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Andrey Akulov
 
Database as a Service
Database as a ServiceDatabase as a Service
Database as a ServiceAndrey Akulov
 
Обзор интегрированных систем Oracle
Обзор интегрированных систем OracleОбзор интегрированных систем Oracle
Обзор интегрированных систем OracleAndrey Akulov
 
Exalogic Technical Overview
Exalogic Technical OverviewExalogic Technical Overview
Exalogic Technical Overview
Andrey Akulov
 
Edition Based Redefinition . Обновление приложений на “лету”
Edition Based Redefinition. Обновление приложений на “лету”Edition Based Redefinition. Обновление приложений на “лету”
Edition Based Redefinition . Обновление приложений на “лету”
Andrey Akulov
 

More from Andrey Akulov (20)

Highly Automated IT
Highly Automated ITHighly Automated IT
Highly Automated IT
 
Oracle OpenWorld 2016. Big Data references
Oracle OpenWorld 2016. Big Data referencesOracle OpenWorld 2016. Big Data references
Oracle OpenWorld 2016. Big Data references
 
Oracle Big Data proposition
Oracle Big Data propositionOracle Big Data proposition
Oracle Big Data proposition
 
Oracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategyOracle Cloud Computing portfolio and strategy
Oracle Cloud Computing portfolio and strategy
 
Oracle Big Data. Обзор технологий
Oracle Big Data. Обзор технологийOracle Big Data. Обзор технологий
Oracle Big Data. Обзор технологий
 
Oracle IaaS including OCM and Ravello
Oracle IaaS including OCM and RavelloOracle IaaS including OCM and Ravello
Oracle IaaS including OCM and Ravello
 
Oracle Ravello
Oracle Ravello Oracle Ravello
Oracle Ravello
 
Oracle Enterprise Metadata Management
Oracle Enterprise Metadata ManagementOracle Enterprise Metadata Management
Oracle Enterprise Metadata Management
 
Решения Oracle для Big Data
Решения Oracle для Big DataРешения Oracle для Big Data
Решения Oracle для Big Data
 
Подход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических системПодход Oracle к управлению метаданными для аналитических систем
Подход Oracle к управлению метаданными для аналитических систем
 
Управление административными учетными записями как средство защиты от челове...
Управление административными учетными записями как  средство защиты от челове...Управление административными учетными записями как  средство защиты от челове...
Управление административными учетными записями как средство защиты от челове...
 
Cоблюдение требований законодательства с помощью сертифицированных средств бе...
Cоблюдение требований законодательства с помощью сертифицированных средств бе...Cоблюдение требований законодательства с помощью сертифицированных средств бе...
Cоблюдение требований законодательства с помощью сертифицированных средств бе...
 
Защита информации на уровне СУБД
Защита информации на уровне СУБДЗащита информации на уровне СУБД
Защита информации на уровне СУБД
 
Новые возможности по разработке приложений (ADF, SOA, BPM)
Новые возможности по разработке приложений (ADF, SOA, BPM)Новые возможности по разработке приложений (ADF, SOA, BPM)
Новые возможности по разработке приложений (ADF, SOA, BPM)
 
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
 
Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)
 
Database as a Service
Database as a ServiceDatabase as a Service
Database as a Service
 
Обзор интегрированных систем Oracle
Обзор интегрированных систем OracleОбзор интегрированных систем Oracle
Обзор интегрированных систем Oracle
 
Exalogic Technical Overview
Exalogic Technical OverviewExalogic Technical Overview
Exalogic Technical Overview
 
Edition Based Redefinition . Обновление приложений на “лету”
Edition Based Redefinition. Обновление приложений на “лету”Edition Based Redefinition. Обновление приложений на “лету”
Edition Based Redefinition . Обновление приложений на “лету”
 

Oracle Database In-Memory

  • 1. Copyright © 2014, Oracle and/or its affiliates. 1 All rights reserved.
  • 2. Oracle Database In-Memory Игорь Мельников Oracle ORACLE PRODUCT LOGO
  • 3. План  Введение  Oracle Database In-Memory Option  Результаты тестирования  Заключение Copyright © 2014, Oracle and/or its affiliates. 3 All rights reserved.
  • 4. Введение Copyright © 2014, Oracle and/or its affiliates. 4 All rights reserved.
  • 5. Оперативная память: тренды и влияние Сегодня память быстрее, дешевле и ее объем больше Объемы памяти растут 2002 256 MB/DIMM 2012 16 GB/DIMM DRAM: 2012 100 GB/DOM 2012 $0.0005/MB Flash Flash: 400x больше емкости 400x дешевле 20x быстрее Copyright © 2014, Oracle and/or its affiliates. 5 All rights reserved. Стоимость падает 2002 $0.2/MB 2012 $0.009/MB Память значительно быстрее Disk 5ms – скорость доступа DRAM 100ns – скорость доступа 64x больше емкости 25x дешевле 50,000х быстрее 0.25ms – скорость доступа Ускорение OLTP и DW приложений, больше пользователей, больше данных
  • 6. Oracle In-Memory Database Лучшие технологии для работы в памяти • 20+ years of scale-up optimizations • 10+ years of scale-out optimizations • Prefix Index Compression • Bitmap Index Compression • Basic & IOT Table Compression • And much more • In-Memory Parallel Query • OLTP Compression • Unstructured Data • Client SQL/PL/SQL Result • Server SQL/PL/SQL Result Copyright © 2014, Oracle and/or its affiliates. 6 All rights reserved. 12c Release 1 • Big Memory Cluster & 2x more index compression on Exadata • Rowset Processing • In-Memory Column Store for Unstructured Data • OLTP Wide Table Compression • HCC Row Level Locking Приложение работает с памятью без изменений! Комбинация DRAM, Flash и HDD Быстрой памяти и стоимости дисков Без ограничений на размер БД Compression Cache Cache • In-Memory Column Store for DW • Columnar Compression • Columnar Processing • Cache Fusion Optimizations • In-Memory Parallel Query Optimizations • In-Memory Storage Index on Exadata Storage Pre-2007 2007 2008 2009 2012
  • 7. Противоречие которое длится десятилетия Строчный формат и поколоночный Row SALES Приходится выбирать один формат и идти на компромиссы Copyright © 2014, Oracle and/or its affiliates. 7 All rights reserved.  OLTP-операции работают быстрее со строчным форматом – Быстрая обработка нескольких строк, много колонок Column  Аналитика работает быстрее с колоночным форматом – Отчет о сумме продаж по штату – Быстрая обработка нескольких колонок, много строк ORDER SALES S T A T E
  • 8. Oracle Database In-Memory Copyright © 2014, Oracle and/or its affiliates. 8 All rights reserved.
  • 9. Задачи Oracle Database In-Memory Option В 100 раз быстрее запросы для аналитики в реальном времени  Мгновенное получение результата  Запросы к OLTP базе или хранилищу данных  Актуальные данные в результатах! В 2 раза ускоряется обработка транзакций  Вставка строк в 3 – 4 раза быстрее Copyright © 2014, Oracle and/or its affiliates. 9 All rights reserved.
  • 10. Oracle In-Memory Columnar Сache Copyright © 2014, Oracle and/or its affiliates. 10 All rights reserved. DRAM Pure Columnar  Данные в представлении по колонкам без генерации redo-информации  Минимальные затраты на изменения – даже для OLTP-транзакций  Данные загружаются в кэш при первом обращении/старте экземпляра
  • 11. In-Memory Option: Оба формата в памяти СУБД  И строчный и поколоночный формат хранения в памяти для одних и тех же данных/таблиц  Данные одновременно активны и транзакционно согласованы  В 100 раз быстрее аналитика & отчетность: поколоночный формат  В 2 раза быстрее OLTP: строчный формат Copyright © 2014, Oracle and/or its affiliates. 11 All rights reserved. Column Format Memory Row Format Memory OLTP Analytics Sales Sales
  • 12. Oracle In-Memory: отдельный кэш в SGA Instance SGA Library cache Instance SGA Database buffer cache  Динамический параметр INMEMORY_SIZE Copyright © 2014, Oracle and/or its affiliates. 12 All rights reserved. In-Memory Columnar Redo log buffer cache Shared pool Data Dict. cache In-row Cache PMON SMON DBWR LGWR CKPT Others Redo log buffer cache SQL> ALTER SYSTEM SET inmemory_size=512G SCOPE=SPFILE;
  • 13. Статический пул в SGA Параметр SGA_TARGET должен быть увеличен соответственно SQL> SELECT * FROM V$SGA; NAME VALUE ------------------ --------- Fixed Size 2927176 Variable Size 570426808 Database Buffers 4634022912 Redo Buffers 13848576 In-Memory Area 1024483648 Copyright © 2014, Oracle and/or its affiliates. 13 All rights reserved.
  • 14. Почему сканирование в In-Memory быстрее чем в буферном кэше? Буферный кэш Copyright © 2014, Oracle and/or its affiliates. 14 All rights reserved. SELECT COL4 FROM MYTABLE; 1 X X X XX РЕЗУЛЬТАТ Строчный формат
  • 15. Почему сканирование в In-Memory быстрее чем в буферном кэше? In-Memory кэш Copyright © 2014, Oracle and/or its affiliates. 15 All rights reserved. SELECT COL4 FROM MYTABLE; 1 RESULT Колоночный формат РЕЗУЛЬТАТ X X X X
  • 16. Включение columnar-кэширования для таблицы или mview  Включение columnar-кэширования для группы столбцов таблицы  Кэшироваться может не вся таблица, а только часть столбцов! SQL> ALTER TABLE cities INMEMORY INMEMORY (Id, Name, Country_Id, Time_Zone) NO INMEMORY (Created, Modified, State); Table altered. SQL> ALTER MATERIALIZED VIEW cities_mv INMEMORY; Materialized view altered. Copyright © 2014, Oracle and/or its affiliates. 16 All rights reserved. •Служебные столбцы – не участвуют в отчетах: нужны только для бизнес- логики
  • 17. Включение columnar-кэширования для табличного пространства  Все таблицы и мат. представления в табличном пространстве будут кэшироваться в Columnar-кэше SQL> ALTER TABLESPACE tbs_data DEFAULT INMEMORY MEMCOMPRESS FOR CAPACITY HIGH PRIORITY LOW; Tablespace altered.  На уровне секций таблицы SQL> CREATE TABLE customers …… PARTITION BY LIST (PARTITION p1 …… INMEMORY, (PARTITION p2 …… NO INMEMORY); Copyright © 2014, Oracle and/or its affiliates. 17 All rights reserved.
  • 18. Изменение плана запроса SQL-оптимизатор перестраивает план запроса SQL> SELECT count(*) FROM cities; Execution Plan ---------------------------------------------------------- Plan hash value: 2756775702 --------------------------------------------------------------------- | Id | Operation | Name | Rows | Cost (%CPU)| --------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 0 (0)| | 1 | SORT AGGREGATE | | 1 | | | 2 | TABLE ACCESS INMEMORY FULL| CITIES | 1 | | --------------------------------------------------------------------- Copyright © 2014, Oracle and/or its affiliates. 18 All rights reserved.
  • 19. Сканирование миллиарда строк в секунду на процессорном ядре Copyright © 2014, Oracle and/or its affiliates. 19 All rights reserved. Пример: Найти все продажи в штате CA In-Memory Column Store Sales State column “CA” SIMD Compare all values in 1 cycle Сравнение всех значений за один цикл Загрузка значений множества штатов Vector Register более чем в 100 раз быстрее • Каждое процессорное ядро сканирует одну колонку  При сканировании используются быстрые векторные SIMD-инструкции  Миллиарды строк в секунду сканируются одним ядром CPU
  • 20. Oracle In-Memory: “разогрев” кэша  При старте БД (для Exadata/ZFS/Pillar) – checkpoint-сегмент для Columnar-кэша SQL> ALTER DATABASE FASTSTART TABLESPACE inmemory_tbs; Database altered.  Для generic hardware – при первом обращении к сегменту для которого включен атрибут in-memory Copyright © 2014, Oracle and/or its affiliates. 20 All rights reserved.
  • 21. Сканирование и объединение данных из нескольких таблиц Copyright © 2014, Oracle and/or its affiliates. 21 All rights reserved. Пример: Найти все продажи в outlet-магазинах Продажи Магазины Type=outlet T Y P E Storeid in 15,38,64 S T O R E I D A M O U N T  Конвертирует join в быстрые сканы колонок  Joins выполняются в 10 раз быстрее Sum
  • 22. Multiple Bloom Filter Несколько соединий с использованием In-Memory Copyright © 2014, Oracle and/or its affiliates. 22 All rights reserved.
  • 23. Мгновенная генерация отчетов: доли секунд Copyright © 2014, Oracle and/or its affiliates. 23 All rights reserved. Пример: Показать тренды продаж обуви в outlet магазинах In-Memory Report Outline Stores Products Sales Sales  Динамически создает в памяти объект-отчет  Объект заполняется во время сканирования таблицы продаж  Отчеты строятся в 20 раз быстрее без заранее созданных кубов
  • 24. Cжатие столбцов в columnar-кэше Метод сжатия Описание • NO MEMCOPRESS • Данные не сжимаются • MEMCOMPRESS FOR DML • Метод сжатия оптимизированный для DML- Copyright © 2014, Oracle and/or its affiliates. 24 All rights reserved. операций • MEMCOMPRESS FOR QUERY LOW • Метод по умолчанию. Сканирование не требует декомпресии!!! • MEMCOMPRESS FOR QUERY HIGH • MEMCOMPRESS FOR CAPACITY HIGH • MEMCOMPRESS FOR CAPACITY LOW
  • 25. Cжатие столбцов в кэше - пример Сжатие разными методами для группы столбцов SQL> ALTER TABLE cities INMEMORY INMEMORY MEMCOMPRESS FOR CAPACITY HIGH(Country_Id, Time_Zone) INMEMORY NO MEMCOMPRESS (Id, Name, Name_Eng); Table altered. Copyright © 2014, Oracle and/or its affiliates. 25 All rights reserved. •Уникальные столбцы – не сжимаются!
  • 26. Поддержка в Compression Advisor DECLARE l_blkcnt_cmp BINARY_INTEGER; l_blkcnt_uncmp BINARY_INTEGER; l_row_cmp BINARY_INTEGER; l_row_uncmp BINARY_INTEGER; l_cmp_ratio NUMBER; l_comptype_str VARCHAR2(100); BEGIN dbms_compression.get_compression_ratio --input parameters scratchtbsname => 'USERS', -- scratch tablespace ownname => ‘INMEM_DEMO', -- owner of the table objname => ‘TICKETS', -- table name subobjname => NULL, -- partition name comptype => DBMS_COMPRESSION.COMP_INMEMORY_QUERY, -- compression algorithm --output parameters blkcnt_cmp => l_blkcnt_cmp, -- number of compressed blocks blkcnt_uncmp => l_blkcnt_uncmp, -- number of uncompressed blocks row_cmp => l_row_cmp, -- number of rows in a compressed block row_uncmp => l_row_uncmp, -- number of rows in an uncompressed block cmp_ratio => l_cmp_ratio, -- compression ratio comptype_str => l_comptype_str);-- compression type END; Copyright © 2014, Oracle and/or its affiliates. 26 All rights reserved.
  • 27. Атрибут INMEMORY в USER_TABLES SQL> SELECT table_name, inmemory FROM USER_TABLES; TABLE_NAME INMEMORY ------------ -------- CHANNELS DISABLED COSTS CUSTOMERS DISABLED PRODUCTS ENABLED SALES TIMES DISABLED Copyright © 2014, Oracle and/or its affiliates. 27 All rights reserved.  Новый столбец INMEMORY в представлениях словаря *_TABLES  INMEMORY – это атрибут сегмента  *_TABLES не отображают атрибуты логических объектов  COST и SALES – секционированные таблицы (логические объекты)  Столбец INMEMORY также появился в *_TAB_PARTITIONS
  • 28. Системное представление V$IM_SEGMENTS Мониторинг использования кэша SQL> SELECT segment_name,inmemory_size,bytes,bytes_not_populated,populate_status FROM v$im_segments; SEGMENT_NAME INMEMORY_SIZE BYTES BYTES_NOT_POPULATED POPULATE_STATUS -------------------------------------------------------------------------- COUNTRIES 131072 5242880 425984 STARTED CITIES 1179648 5242880 0 COMPLETED COMPANIES 1179648 5242880 0 COMPLETED AIRPORTS 1179648 5242880 0 COMPLETED Copyright © 2014, Oracle and/or its affiliates. 28 All rights reserved.
  • 29. Управление приоритетом загрузки в кэш Приоритет Синтаксис Описание • NONE (default) PRIORITY NONE • Приоритет загрузки определяется Copyright © 2014, Oracle and/or its affiliates. 29 All rights reserved. СУБД. Загрузка может быть задержана, если память используется для другого более приоритетного сегмента. - Запрос переключаетcя на обычный (in-row) кэш. • LOW PRIORITY LOW • Низкий приоритет • MEDIUM PRIORITY MEDIUM • Средний приоритет • HIGH PRIORITY HIGH • Высокий приоритет • CRITICAL PRIORITY CRITICAL • Высший приоритет
  • 30. Приоритет загрузки в кэш - пример Один приоритет для всей таблицы/секции/мат. представления SQL> ALTER TABLE cities INMEMORY PRIORITY CRITICAL INMEMORY MEMCOMPRESS FOR CAPACITY HIGH(Country_Id, Time_Zone) INMEMORY MEMCOMPRESS NO (Id, Name, Name_Eng); Table altered. Copyright © 2014, Oracle and/or its affiliates. 30 All rights reserved.
  • 31. OLTP работает медленно из-за аналитических индексов Copyright © 2014, Oracle and/or its affiliates. 31 All rights reserved. Таблица 1 - 3 OLTP индекса 10 - 20 аналитических  Большинство индексов в OLTP индексов (например, в ERP) базах строится только для аналитических запросов  Индексы хорошо подходят для предсказуемых запросов (и в памяти, и на диске)  Вставка одной строки в таблицу приводит к обновлению 10-20 аналитических индексов: Медленно! Поколоночное хранение в памяти
  • 32. Oracle In-Memory – высокая доступность  Представление по столбцам в памяти не влияет на формат данных на диске: datafiles, logging, backup, recovery, и т.д.  Все технологии, в том числе ASM, RAC, DG, GG работают прозрачно для In-Memory Option  Защита от любых видов ошибок  На уровне железа  Логические ошибки приложения (Flashback) Copyright © 2014, Oracle and/or its affiliates. 32 All rights reserved. Data Guard & GoldenGate RAC ASM RMAN
  • 33. Oracle In-Memory в RAC  Управление распределением объектов в кэше между узлами RAC: – AUTO DISTRIBUTE – синхронизацией кэша управляет СУБД (поведение по умолчанию) – DUPLICATE – (exa-only) кэши принудительно синхронизируются между узлами RAC (2 копии chunk-а кластер) – DUPLICATE ALL – (exa-only) кэши одинаковы на всех узлах RAC – DISTRIBUTE BY ROWID RANGE, DISTRIBUTE BY PARTITION, DISTRIBUTE BY SUBPARTITION SQL> ALTER TABLE cites INMEMORY DUPLICATE; Table altered. Copyright © 2014, Oracle and/or its affiliates. 33 All rights reserved. In Memory Column Store In Memory Column Store In Memory Column Store In Memory Column Store
  • 34. Полный синтаксис кэширования таблицы Мощный и гибкий синтаксис SQL> ALTER TABLE cities INMEMORY PRIORITY CRITICAL DUPLICATE INMEMORY MEMCOMPRESS FOR CAPACITY HIGH (Country_Id, Time_Zone) INMEMORY MEMCOMPRESS NO (Id, Name, Name_Eng) NO INMEMORY (Created, Modified, State); Table altered. Copyright © 2014, Oracle and/or its affiliates. 34 All rights reserved.
  • 35. Подсказки для оптимизатора Включение/выключение columnar-кэширования и pruning-а SQL> SELECT /*+ NO_INMEMORY (mytbs) */ sum(a.amount) FROM cities c, amounts a WHERE c.id = a.city_id;  Новые хинты: INMEMORY, INMEMORY_PRUNING, NO_INMEMORY_PRUNING, Copyright © 2014, Oracle and/or its affiliates. 35 All rights reserved.
  • 36. Storage Index в In-Memory Columnar Store  Хранит минимальное и максимальное значение столбца в каждом экстенте памяти кэша  Прозрачно исключает ненужные сканирования столбцов, например: WHERE prod_id > 14 AND prod_id < 29 Copyright © 2014, Oracle and/or its affiliates. 36 All rights reserved.
  • 37. In-Memory Option - архитектура  Space Manager  Управляет памятью в In- Memory Column Store (create, extend, drop)  Загружает данные в кэш  Transaction Manager  Обеспечивает согласованность данных в In-Memory Column Store с буферным кэшем  Обеспечивает версионность Copyright © 2014, Oracle and/or its affiliates. 37 All rights reserved.
  • 38. Новые параметры в init.ora  INMEMORY_SIZE  INMEMORY_FORCE= { DEFAULT | OFF }  INMEMORY_CLAUSE_DEFAULT= [INMEMORY] [NO INMEMORY] [compression-clauses][priority-clauses]  INMEMORY_QUERY={ENABLE | DISABLE}  INMEMORY_MAX_POPULATE_SERVERS  OPTIMIZER_INMEMORY_AWARE  INMEMORY_TRICKLE_REPOPULATE_SERVERS_PERCENT Copyright © 2014, Oracle and/or its affiliates. 38 All rights reserved.
  • 39. Для каких приложений подходит In-Memory Option?  Если в приложении есть много запросов сканирующих много строк с фильтрами такими как: “=, <, >, и IN”  Запрашивает всего лишь несколько столбцов, напр: 5 столбцов из 100 столбцов таблицы  Приложение часто делает соединение большой факторной таблицы с таблицей измерений, с фильтром по таблице измерений  Типы приложений предпочтительные для использования In- Memory Option: хранилища данных (DataWarehouse) и cмешанного типа (Mixed Application) Copyright © 2014, Oracle and/or its affiliates. 39 All rights reserved.
  • 40. Oracle In-Memory Options не требует изменения приложений Полная функциональность - Нет ограничений на SQL Простота реализации - Не нужна миграция данных Полная совместимость - Не надо изменять приложения Полностью Multitenant - Oracle In-Memory готова для cloud Приложения получают все преимущества In-Memory опции без изменения кода приложения Copyright © 2014, Oracle and/or its affiliates. 40 All rights reserved.
  • 41. Oracle Database In-Memory и TimesTen TimesTen In-Memory Database • Встраиваемая БД для приложений • Экстремальная быстрая производительность для OLTP-нагрузки (время ответа - микросекунды) • Адаптивный кэш для инженерной системы Oracle Exalytics Application Application Copyright © 2014, Oracle and/or its affiliates. 41 All rights reserved. Application Oracle Database In-Memory Option • Масштабируемая обработка данных в памяти для любых видов нагрузки, в том числе и смешанной (OLTP и DWH)
  • 42. TimesTen In-Memory Database и Columnar Copyright © 2014, Oracle and/or its affiliates. 42 All rights reserved.  TimesTen также используется и для аналитических задач  TimesTen имеет технологию обработки по столбцам для ускорения аналитики – Ядро системы обработки и хранения данных по столбцам общее для TT и Oracle Database – Дополнительно TT имеет встроенный аналитический “движок” TimesTen Grid Scale-Out In-Memory DB Columnar 42
  • 43. Copyright © 2014, Oracle and/or its affiliates. 43 All rights reserved. Public 4
  • 44. Результаты тестирования Copyright © 2014, Oracle and/or its affiliates. 44 All rights reserved.
  • 45. Тестовый стенд  Сервер Oracle Sun X2-4 – 4CPU Intel Xeon E7-4800 (40 ядер) – 1Тб RAM  Oracle Database 12.0.1.2 – Beta – Буферный кэш: 300Gb – In-Memory Columnar Cache: 300Gb  Объем таблицы: 167Gb Copyright © 2014, Oracle and/or its affiliates. 45 All rights reserved.
  • 46. Тест N1: cкорость полного сканирования In-Memory Cache: идентичен обычному буферному кэшу  SELECT /*+ FULL(tickets) */ count(*) FROM tickets; 3 2,5 2 1,5 1 0,5 0 Copyright © 2014, Oracle and/or its affiliates. 46 All rights reserved. 1,25 1,28 Обычный кэш Сolumnar Cache
  • 47. Тест N2: cкорость фильтрации In-Memory Cache: в 5 раз быстрее!  SELECT count(*) FROM tickets WHERE reservaton_code=‘test'; 3 2,5 2 1,5 1 0,5 0 Copyright © 2014, Oracle and/or its affiliates. 47 All rights reserved. 2,51 0,5 Обычный кэш Сolumnar Cache
  • 48. Тест N3: cжатие In-Memory Cache: в 2 раза, без потери скорости! 160 140 120 100 80 60 40 20 0 Copyright © 2014, Oracle and/or its affiliates. 48 All rights reserved. Размер на диске Сolumnar Cache (Мин. степень) Сolumnar Cache (Макс. степень) 167 128 86
  • 49. Тест N4: 3-ый запрос после 10 секунд In-Memory Cache: мгновенный результат! SQL> SELECT count(*) FROM tickets WHERE reservation_code='test' COUNT(*) ---------- 0 Elapsed: 00:00:00.00  Внутренний неявный result cache Copyright © 2014, Oracle and/or its affiliates. 49 All rights reserved.
  • 50. Oracle Database In-Memory Option  Мощная технология обработки данных в памяти – Эффективно интегрирована в СУБД Oracle Database  Обеспечивает увеличение производительности – Аналитических и Ad-Hoc отчетов на “живых” данных – Для OLTP-приложений и хранилищ данных  Готовое решение в “коробке”: прозрачно для приложений! Copyright © 2014, Oracle and/or its affiliates. 50 All rights reserved.
  • 51. Заключение: Oracle In-Memory Option  Экстремальная производительность для OLTP и хранилищ данных на актуальных данных  Прозрачное масштабирование по CPU и RAM  Прозрачно для всех технологий СУБД Oracle Все преимущества обработки в памяти без изменения приложений Copyright © 2014, Oracle and/or its affiliates. 51 All rights reserved.
  • 52. Заключение: Oracle Database 12c R1 Patchset 1  Oracle Database - In-Memory Database : – In-Memory Database Option – Automatic Big Table Cache – Full Database Caching Mode  Встроенная поддержка JSON  Attribute Clustering  Zone Mapping Copyright © 2014, Oracle and/or its affiliates. 52 All rights reserved.
  • 53. Copyright © 2014, Oracle and/or its affiliates. 53 All rights reserved.
  • 54. Copyright © 2014, Oracle and/or its affiliates. 54 All rights reserved.

Editor's Notes

  1. Row format is optimized for OLTP workloads. OLTP operations tend to access only a few rows but touch all of the columns. A row format allows quick access to all of the columns in a record since all the data for a given record are kept together in-memory and on-storage. Since all data for a row is kept together, much of the row data will be brought into the CPU with a single memory reference. Row format is also much more efficient for row updates and inserts. Analytical workloads access few columns but scan the entire data set. They also typically require some sort of aggregation. A columnar format allows for much faster data retrieval when only a few columns in a table are selected because all the data for a column is kept together in-memory and a single memory access will load many column values into the CPU. It also lends itself to faster filtering and aggregation, making it the most optimzed format for analytics. Up until now you have been force to pick just one format and suffer the tradeoff of either sub-optimal OLTP or sub-optimal Analytics.
  2. With the introduction of the Oracle Database In-Memory Option it is now possible to run real-time, ad-hoc, analytic queries on your business data as it exists right at this moment and receive the results in sub-seconds. True real real-time analytics. Imagine being able to know the total sales you have made in the state of California as of right now. Not last week, or even last night but right now and have that query return in sub-second time.
  3. Other databases have row and column formats but you must choose ONE format for a given table. Therefore you get either fast OLTP or fast Analytics on that table but not both. Oracle’s unique dual format architecture allows data to be stored in both row and column format simultaneously. This eliminates the tradeoffs required by others. Up until now, this could only be achieved by having a second copy of the table (Data Mart, Reporting DB, Operational Data Store), which adds cost and complexity to the environment, requires additional ETL processing and incurs time delays. With Oracle’s unique approach, there is a single copy of the table on storage. So there are no additional storage costs, synchronization issues, etc. The Oracle optimizer is In-Memory aware. It has been optimized to automatically route analytic queries to the column store, and OLTP queries to the row store.
  4. The Oracle in-memory column format is designed to enable very fast SIMD processing (single instruction processing multiple data values). You can imagine SIMD or vector processing as array processing. SIMD was originally designed for accelerating computer generated animation and High Performance Scientific computing. Lets assume we are looking for the total number of sales we have had in the state of California this year. The sales table is stored in the In-Memory Column Store so we simple have to scan the state column and count the number of occurrence of the state of California. With SIMD processing we can check 16 values or entries in the state column in a single CPU cycle. Columnar speed comes from Scanning only needed columns SIMD optimized format Column specific compression algorithms
  5. We have shown that we can scan and filter in-memory data extremely quickly. But with any new data format we need to be able to join and aggregate the data as well as scan it. With Vector joins, the join between the stores and sales table can be converted into a scan of the sales table with the ‘where’ clause predicate on the store table being converted into a filter on the sales table. This allows us to take full advantage of what In-memory is best for, fast scans and filters.
  6. Analytic style queries require more than simple filters and joins. They often require aggregations and summaries. And this is where the Oracle Optimizer comes in. The optimizer recognizes these aggregation queries and transforms or rewrites them to take advantage of vector joins and vector group-bys. This allow the joins and group by (or aggregation) to occur simultaneously with the scan of the sales table, rather than waiting for the table scans and join operations to complete before beginning the aggregation. Aggregation normally has to dynamically determine the format of the result and the contents of the result at the same time. Any new row can cause the format of the result to change. By precomputing the report outline, the aggregation can run much faster since the report format is known ahead of the fact table scan and fact rows can just be added into the known format.
  7. Up until now, the only way to run analytic queries with an acceptable response on an OLTP environment was to create specific indexes for these queries. The good thing about indexes is that they are extremely scalable. They work well in-memory and also are extremely efficient on-disk since they minimize disk IO needed to find the requested data. All of these additional indexes need to be maintained as the data changes, which increase the elapse time for each of these changes.
  8. Because the In-Memory Column Store is embedded in the Oracle Database it is fully compatible with ALL existing features, And requires absolutely no changes in the application layer. This means you can start taking full advantage of it on day one, regardless of what applications you run in your environment. Any application that runs against the Oracle database will transparently benefit from the in-memory column store.