Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Технологии и продукты Oracle для
работы с Большими данными
2
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Что такое Big Data?
4
•Нет четкого определения
•Разные компании подразумевают
разное
•Определение 3 V (Velocity, Variety,
Volume) недостаточно
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Заблуждения о Big Data
• Большие данные – это только неструктурированные данные
• Большие данные – это только данные из социальных сетей
• Большие данные – это принципиально новые данные, раньше их не
было
• Большие данные невозможно обрабатывать традиционными
технологиями, такими как реляционные БД
• Большие данные – это чистый маркетинг, за ними нет ничего
• У нашей компании больших данных нет
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Большие Данные и анализ данных о клиентах
• Очень многие примеры о Big
Data связаны с точечным
маркетингом и персонализацией
• Персонализированные
предложения требуют очень
большого количества данных о
поведении клиентов.
• Необходимость собирать данные
из многих источников
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• Захват и анализ данных с сенсоров
• Огромные объем данных в единицу
времени
Ускорение летных испытаний для сокращения
времени поставки новых самолетов
Ускорение летных испытаний
Solution components: Real-Time Decisions, Event Processing
Solution Components: BDA and NoSQL
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Рецепты: Поиск ошибок и мошенничеств
• 8 миллионов рецептов обрабатывается
каждый день
• Поиск неправильного использования
препаратов
• Интеграция структурированных и
неструктурированных данных
• Геоаналитика
У мненьшение количества ошибок
и мошенничеств
Solution components:, BI Foundation, Endeca, Advanced Analytics – ‘R’ statistical
analysis & data mining, Exalytics, Exadata
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• 18M учеников и 42 000 школ
• Аналитика поведения учеников и
учителей
• Комбинация RDBMS и Hadoop
• Цель – сделать образование более
эффективным
Улучшение аналитики для системы образования
Трансформация образования в Турции
Solution components: Real-Time Decisions, Event Processing
Solution Components: 2 BDA, 2 Exadata, 2 Exalogic, 2 Exalytics, IDM
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• Аналитика и предложеия в реальном
времени
• Использование Event Processing
• Сервис предоставляется внешним
партнерам
• Генерация новых доходов
Геомаркетинг для предоставления новых услуг
Монетизация данных
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
•Как вам удалось изменить счет с 1-8 на 9-8?
Oracle Big Data в Oracle Team USA
Мы взломали код
•300 сенсоров на яхте
•выдают 2 ГБ данных за одну гонку
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Подход Oracle к построению Big Data
систем
19
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 21
Чем не устраивают
обычные хранилища
данных?
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Exadata
Database Machine
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Exadata
• Машина для СУБД Oracle
– Хранилища данных
– OLTP
– Смешанные нагрузки
– Консолидация
• Высочайшая производительность СУБД Oracle
– Exadata Software используется для предобработки данных
прямо на уровне системы хранения
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Масштабируемость Exadata
Тысячи процессорных ядер
Петабайты данных
BIG DATA?
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
BIG DATA
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Почему о Больших Данных стали говорить?
• Технологии, раньше используемые только в веб-проектах (Hadoop, NoSQL) стали
достаточно зрелыми
– Не обязательно держать штат программистов, чтобы ими пользоваться
• Появились новые возможности для получения конкурентных преимуществ:
– Глубокий анализ поведения клиентов
– Высокоточная реклама
– Объединение и анализ данных из многих источников, в том числе неструктурированных
– Анализ мошенничеств
– и т.д.
• Big Data технологии позволяют существенно удешевить хранение и обработку
данных
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Почему удешевление так важно?
• Самолеты совершили революцию в транспорте
• Удешевление сотовой связи сделало ее доступной для всех
• Увеличение объемов жестких дисков – хранение и воспроизведение видео на PC
(начало 2000х)
• Удешевление доступа в интернет – создало интернет революцию
• Значительное удешевление часто помогает сделать качественный скачок к
принципиально новым возможностям
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Основные причины использования Big Data технологий
• Big Data-технологии позволяют достичь нового уровня
производительности и масштабируемости
–Обработка десятков миллионов событий в секунду
–Хранение многих петабайт данных
–Обслуживание миллионов одновременно работающих
пользователей
• Удешевление хранения и обработки данных
– Дешевле в расчете на терабайт данных
– (!) Но часто засчет потери каких-то других возможностей по сравнению с
традиционными системами.
• Вопрос, насколько эти возможности важны для конкретного проекта?
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Откуда берутся Большие данные? (1/2)
Они были всегда, но не всегда обрабатываются
• Традиционные данные из реляционных СУБД за прошлые
годы
• В самой сущности таких данных может не быть ничего нового,
их просто очень много
• Возникают вопросы о целесообразности хранения и
обработки таких объемов в традиционных архитектурах
• Это может быть просто дорого
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Откуда берутся Большие данные? (2/2)
Новые данные
• Логи, данные телеметрии, датчиков, полуструктурированные данные
и неструктурированные данные, записи в социальных сетях,
вебсайты и т.д.
• Данные, которые могут очень быстро накапливаться, при этом,
обычно (но не всегда) информационная плотность их низкая.
• Данные, которые очень дорого хранить и обрабатывать, используя
традиционный подход
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Apache
Hadoop
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 32
Предпосылки появления Hadoop
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Обычная архитектура
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Традиционная кластерная архитектура
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Подход Hadoop
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Практически неограниченная масштабируемость.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Что такое Hadoop?
• Apache Hadoop - распределенная вычислительная архитектура:
– Open source (проект Apache Software Foundation)
– Построен на принципах, разработанных в Google и опубликованных в 2004 году.
– Включает в себя распределенную файловую систему HDFS
– Может обрабатывать данные в массивно-параллельном режиме (MapReduce)
– Спроектирован для работы на очень больших кластерах (сотни и даже тысячи узлов) на
дешевом «железе»
– Автоматически обрабатывает отказ узлов и перераспределение данных
– Существует большое количество инструментов, построенных над Hadoop
– Быстро развивается
– Важно! Не является СУБД
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
NoSQL Database
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle NoSQL Database
Распределенная, масштабируемая key-value база данных
• Простая модель данных
• Пара Key-value с подходом major+sub-key
• Операции read/insert/update/delete
• Поддержка ACID и BASE транзакций
• Масштабируемость
• Динамическое партиционирование и перераспределение
• Оптимизированный доступ к данным
• Высокая доступность
• Одна или более реплик
• Катастрофоустойчивость засчет разнесения реплик
• Устойчивость к отказу мастера
• Нет одной точки отказа
• Прозрачная балансировка нагрузки
• Чтение с мастера или реплики
• Драйвер знает о сетевой топологии и временах задержки
Storage Nodes
Data Center A
Storage Nodes
Data Center B
NoSQLDB Driver
Application
NoSQLDB Driver
Application
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Что такое ключ-значение?
• Таблицы из двух колонок – ключ и значение (Key,Value)
– Все объединения производятся внутри приложения
– Приложение знает структуру поля Value
• Простые операции get, put, delete
• Очень быстрые и масштабируемые
Key Value
010101010 …
010101011 …
… …
Записи
Customer Table
Индекс
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Для каких задач может использоваться Oracle NoSQL Database?
• Построение быстрых многопетабайтных распределенных
масштабируемых файловых хранилищ
– С возможностью обработки данных в кластере
• Построение систем, которые очень быстро накапливают огромное
количество данных из многих источников
– Десятки миллионов записей в секунду
– Датчики, результаты испытаний, эксперименты
• Интеграция с системами обработки событий
– Накопление и обработка информации о событиях
• Интернет-проекты с многими тысячами пользователей
– Для обеспечения мгновенного доступа к профилям пользователя, продукта,
информации о рекламной компании и т.д.
Storage Nodes
Data Center A
Storage Nodes
Data Center B
NoSQLDB Driver
Application
NoSQLDB Driver
Application
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Event
Processing
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing
• Технология обработки и анализа
потока данных
• Непрерывный поток, часто большого объема
• Отсутствует конец потока
• Упорядочен по времени
• Нужно на лету уметь обнаруживать «шаблоны»
• Невозможно или не эффективно
обрабатывать/анализировать в реальном
времени с применением баз данных
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle OEP: Выявление шаблонов
Торговля на бирже – шаблон “W”
SELECT FIRST(x.time), LAST(z.time)
FROM ticker MATCH_RECOGNIZE (ONE ROW PER MATCH PARTITION BY name
PATTERN (X+ Y+ W+ Z+)
DEFINE X AS (price < PREV(price))
Y AS (price > PREV(price))
W AS (price < PREV(price))
Z AS (price > PREV(price)))
1 9 12 19
days
X
Y
W
Z
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Кто из абонентов послал 5 смс из определенного торгового центра
за 10 последних минут?
Oracle Event Processing in Turkcell
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
BIG DATA
Appliance
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
•Кластер из 18 узлов
– до 768GB на узел (по умолчанию 128GB) = 13824 GB RAM
– 36 ядер Intel на узле = 684ядер
– 48 TB дисков на узел = 864 TB
•40 Gb p/sec InfiniBand
•10 Gb p/sec Ethernet
•Может продаваться в конфигурации 1/3 и 2/3 стойки
Oracle Big Data Appliance
Машина для Hadoop и NoSQL DB
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Разные подходы – разные преимущества
61
0
1
2
3
4
5
Мощь инструментов
Встроенный функционал
ACID транизакции
Безопасность
Разнообразие форматов
данных
Разреженные данные
Простота ETL
Стоимость хранения
Простота загрузки
Взаимодействие с другими
системами
Hadoop
RDBMS
• У Hadoop свои плюсы
• У баз данных свои
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
0
1
2
3
4
5
Мощь инструментов
Встроенный функционал
ACID транизакции
Безопасность
Разнообразие форматов
данных
Разреженные данные
Простота ETL
Стоимость хранения
Простота загрузки
Взаимодействие с другими
системами
Hadoop
RDBMS
Цель
Есть ли возможность объединить два мира?
62
Как это сделать?
И как это использовать?
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 63
SQL
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 64
SQL работает уже 40 лет
SELECT dept, sum(salary)
FROM emp, dept
WHERE dept.empid = emp.empid
GROUP BY dept
YEAR 1974YEAR 2014
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Apache Hive
• Apache Hive
– Один из самых популярных проектов для обработки данных над
Hadoop
– Инфраструктура, эмулирующая реляционную СУБД над Hadoop
– Есть SQL-подобный язык HiveQL
– Позволяет строить аналог свербольших хранилищ данных в Hadoop
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
SQL on Hadoop – не только Hive
66
Stinger
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
HiveQL: SQL очень ограничен
• Basic functions
– round, sqrt, floor, ceiling, concat,
lower, upper, etc.
• Aggregate functions
– count, sum, min, max, avg,
variance, stddev, covar, etc.
• Windowing functions
– lag, lead, first, last, row_number,
dense_rank, cume_dist,
percent_rank, ntile
67
SQL
Ограничения:
• Подзапросы
• Объединения
• Стат функции
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 68
return attributes;
}
public void setState(String state) {
this.state = state;
}
public String getQuantity() {
return this.attributes[4];
}
public String setState(V0Line linePrev, V0Line lineNext) {
String q = this.getQuantity();
if (linePrev == null) {
prev = "";
} else {
prev = linePrev.getQuantity();
}
if (lineNext == null) {
next = "";
} else {
next = lineNext.getQuantity();
}
if (!q.isEmpty() && (prev.isEmpty() || (eq(q, prev) &&
gt(q, next)))) {
state = "S";
return state;
}
if (gt(q, prev) && gt(q, next)) {
state = "T";
return state;
}
if (lt(q, prev) && lt(q, next)) {
state = "B";
return state;
}
if (!q.isEmpty() && (next.isEmpty() || (gt(q, prev) &&
eq(q, next)))) {
state = "E";
return state;
}
if (q.isEmpty() || eq(q, prev)) {
state = "F";
return state;
}
return state;
}
private boolean eq(String a, String b) {
if (a.isEmpty() || b.isEmpty()) {
return false;
}
return a.equals(b);
}
private boolean gt(String a, String b) {
if (a.isEmpty() || b.isEmpty()) {
return false;
}
return Double.parseDouble(a) > Double.parseDouble(b);
}
private boolean lt(String a, String b) {
if (a.isEmpty() || b.isEmpty()) {
return false;
}
return Double.parseDouble(a) < Double.parseDouble(b);
10:00 10:05 10:10 10:15 10:20 10:25
Ограниченность языка заставляет писать много кода
250+ строк на Java
Поиск шаблона W в биржевых данных
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 69
10:00 10:05 10:10 10:15 10:20 10:25
Как сделать, чтобы можно было писать меньше кода?
Поиск шаблона W в биржевых данных
SELECT first_x, last_z
FROM ticker MATCH_RECOGNIZE (
PARTITION BY name ORDER BY time
MEASURES FIRST(x.time) AS first_x,
LAST(z.time) AS last_z
ONE ROW PER MATCH
PATTERN (X+ Y+ W+ Z+)
DEFINE X AS (price < PREV(price)),
Y AS (price > PREV(price)),
W AS (price < PREV(price)),
Z AS (price > PREV(price) AND
z.time - FIRST(x.time) <= 7 ))
12 строк на SQL
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Данные хранятся во многих местах
71
Транзакции
RelationalHadoop
Логи
NoSQL
Профили клиентов
SQL
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Big Data SQL
Новая технология для обращения к данным в Hadoop из Oracle Database
Запросы кOracle,
Hadoop иNoSQL
Oracle SQL
Oracle
NoSQLDB
HDFS
DataNode
Oracle
NoSQLDB
HDFS
DataNode
OracleDatabase
StorageServer
OracleDatabase
StorageServer
•Для пользователя не важно, где лежат данные – в
Oracle или в Hadoop
•Использование данных в Hadoop любыми BI
инструментами
•Все возможности языка SQL Oracle
•Использование наработок Exadata
•Интеграция Big Data Appliance и Exadata
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Возможности Exadata для Big Data
76
Минимизация перекачки данных Скорость
 Smart Scan
−Фильтрация данных на диске
 Storage Index
−Только нужные данные читаются
 Кеширование
−Часто запрашиваемые данные читаются быстрее
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 78
Oracle Big Data Discovery. Hadoop с человеческим лицом
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Технологии Oracle для Больших Данных
Поток Захват – Преобразование – Анализ
Oracle BI Foundation
Suite
Oracle Real-Time
Decisions
Big Data Discovery
Принятие решений
Oracle Event
Processing Oracle Big Data
Connectors
Oracle Data
Integrator
Oracle
Advanced
Analytics
Oracle
Database
Oracle Spatial
& Graph
Apache
Flume
Oracle
GoldenGate
Oracle NoSQL
Database
Cloudera
Hadoop
Oracle R
Distribution
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 88

Big data

  • 2.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Технологии и продукты Oracle для работы с Большими данными 2
  • 3.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Что такое Big Data? 4 •Нет четкого определения •Разные компании подразумевают разное •Определение 3 V (Velocity, Variety, Volume) недостаточно
  • 4.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Заблуждения о Big Data • Большие данные – это только неструктурированные данные • Большие данные – это только данные из социальных сетей • Большие данные – это принципиально новые данные, раньше их не было • Большие данные невозможно обрабатывать традиционными технологиями, такими как реляционные БД • Большие данные – это чистый маркетинг, за ними нет ничего • У нашей компании больших данных нет
  • 5.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Большие Данные и анализ данных о клиентах • Очень многие примеры о Big Data связаны с точечным маркетингом и персонализацией • Персонализированные предложения требуют очень большого количества данных о поведении клиентов. • Необходимость собирать данные из многих источников
  • 6.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | • Захват и анализ данных с сенсоров • Огромные объем данных в единицу времени Ускорение летных испытаний для сокращения времени поставки новых самолетов Ускорение летных испытаний Solution components: Real-Time Decisions, Event Processing Solution Components: BDA and NoSQL
  • 7.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Рецепты: Поиск ошибок и мошенничеств • 8 миллионов рецептов обрабатывается каждый день • Поиск неправильного использования препаратов • Интеграция структурированных и неструктурированных данных • Геоаналитика У мненьшение количества ошибок и мошенничеств Solution components:, BI Foundation, Endeca, Advanced Analytics – ‘R’ statistical analysis & data mining, Exalytics, Exadata
  • 8.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | • 18M учеников и 42 000 школ • Аналитика поведения учеников и учителей • Комбинация RDBMS и Hadoop • Цель – сделать образование более эффективным Улучшение аналитики для системы образования Трансформация образования в Турции Solution components: Real-Time Decisions, Event Processing Solution Components: 2 BDA, 2 Exadata, 2 Exalogic, 2 Exalytics, IDM
  • 9.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | • Аналитика и предложеия в реальном времени • Использование Event Processing • Сервис предоставляется внешним партнерам • Генерация новых доходов Геомаркетинг для предоставления новых услуг Монетизация данных
  • 10.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | •Как вам удалось изменить счет с 1-8 на 9-8? Oracle Big Data в Oracle Team USA Мы взломали код •300 сенсоров на яхте •выдают 2 ГБ данных за одну гонку
  • 11.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Подход Oracle к построению Big Data систем 19
  • 12.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | 21 Чем не устраивают обычные хранилища данных?
  • 13.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Exadata Database Machine
  • 14.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Oracle Exadata • Машина для СУБД Oracle – Хранилища данных – OLTP – Смешанные нагрузки – Консолидация • Высочайшая производительность СУБД Oracle – Exadata Software используется для предобработки данных прямо на уровне системы хранения
  • 15.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Масштабируемость Exadata Тысячи процессорных ядер Петабайты данных BIG DATA?
  • 16.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | BIG DATA
  • 17.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Почему о Больших Данных стали говорить? • Технологии, раньше используемые только в веб-проектах (Hadoop, NoSQL) стали достаточно зрелыми – Не обязательно держать штат программистов, чтобы ими пользоваться • Появились новые возможности для получения конкурентных преимуществ: – Глубокий анализ поведения клиентов – Высокоточная реклама – Объединение и анализ данных из многих источников, в том числе неструктурированных – Анализ мошенничеств – и т.д. • Big Data технологии позволяют существенно удешевить хранение и обработку данных
  • 18.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Почему удешевление так важно? • Самолеты совершили революцию в транспорте • Удешевление сотовой связи сделало ее доступной для всех • Увеличение объемов жестких дисков – хранение и воспроизведение видео на PC (начало 2000х) • Удешевление доступа в интернет – создало интернет революцию • Значительное удешевление часто помогает сделать качественный скачок к принципиально новым возможностям
  • 19.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Основные причины использования Big Data технологий • Big Data-технологии позволяют достичь нового уровня производительности и масштабируемости –Обработка десятков миллионов событий в секунду –Хранение многих петабайт данных –Обслуживание миллионов одновременно работающих пользователей • Удешевление хранения и обработки данных – Дешевле в расчете на терабайт данных – (!) Но часто засчет потери каких-то других возможностей по сравнению с традиционными системами. • Вопрос, насколько эти возможности важны для конкретного проекта?
  • 20.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Откуда берутся Большие данные? (1/2) Они были всегда, но не всегда обрабатываются • Традиционные данные из реляционных СУБД за прошлые годы • В самой сущности таких данных может не быть ничего нового, их просто очень много • Возникают вопросы о целесообразности хранения и обработки таких объемов в традиционных архитектурах • Это может быть просто дорого
  • 21.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Откуда берутся Большие данные? (2/2) Новые данные • Логи, данные телеметрии, датчиков, полуструктурированные данные и неструктурированные данные, записи в социальных сетях, вебсайты и т.д. • Данные, которые могут очень быстро накапливаться, при этом, обычно (но не всегда) информационная плотность их низкая. • Данные, которые очень дорого хранить и обрабатывать, используя традиционный подход
  • 22.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Apache Hadoop
  • 23.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | 32 Предпосылки появления Hadoop
  • 24.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Обычная архитектура
  • 25.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Традиционная кластерная архитектура
  • 26.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Подход Hadoop
  • 27.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Практически неограниченная масштабируемость.
  • 28.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Что такое Hadoop? • Apache Hadoop - распределенная вычислительная архитектура: – Open source (проект Apache Software Foundation) – Построен на принципах, разработанных в Google и опубликованных в 2004 году. – Включает в себя распределенную файловую систему HDFS – Может обрабатывать данные в массивно-параллельном режиме (MapReduce) – Спроектирован для работы на очень больших кластерах (сотни и даже тысячи узлов) на дешевом «железе» – Автоматически обрабатывает отказ узлов и перераспределение данных – Существует большое количество инструментов, построенных над Hadoop – Быстро развивается – Важно! Не является СУБД
  • 29.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | NoSQL Database
  • 30.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Oracle NoSQL Database Распределенная, масштабируемая key-value база данных • Простая модель данных • Пара Key-value с подходом major+sub-key • Операции read/insert/update/delete • Поддержка ACID и BASE транзакций • Масштабируемость • Динамическое партиционирование и перераспределение • Оптимизированный доступ к данным • Высокая доступность • Одна или более реплик • Катастрофоустойчивость засчет разнесения реплик • Устойчивость к отказу мастера • Нет одной точки отказа • Прозрачная балансировка нагрузки • Чтение с мастера или реплики • Драйвер знает о сетевой топологии и временах задержки Storage Nodes Data Center A Storage Nodes Data Center B NoSQLDB Driver Application NoSQLDB Driver Application
  • 31.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Что такое ключ-значение? • Таблицы из двух колонок – ключ и значение (Key,Value) – Все объединения производятся внутри приложения – Приложение знает структуру поля Value • Простые операции get, put, delete • Очень быстрые и масштабируемые Key Value 010101010 … 010101011 … … … Записи Customer Table Индекс
  • 32.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Для каких задач может использоваться Oracle NoSQL Database? • Построение быстрых многопетабайтных распределенных масштабируемых файловых хранилищ – С возможностью обработки данных в кластере • Построение систем, которые очень быстро накапливают огромное количество данных из многих источников – Десятки миллионов записей в секунду – Датчики, результаты испытаний, эксперименты • Интеграция с системами обработки событий – Накопление и обработка информации о событиях • Интернет-проекты с многими тысячами пользователей – Для обеспечения мгновенного доступа к профилям пользователя, продукта, информации о рекламной компании и т.д. Storage Nodes Data Center A Storage Nodes Data Center B NoSQLDB Driver Application NoSQLDB Driver Application
  • 33.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Event Processing
  • 34.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Oracle Event Processing • Технология обработки и анализа потока данных • Непрерывный поток, часто большого объема • Отсутствует конец потока • Упорядочен по времени • Нужно на лету уметь обнаруживать «шаблоны» • Невозможно или не эффективно обрабатывать/анализировать в реальном времени с применением баз данных
  • 35.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Oracle OEP: Выявление шаблонов Торговля на бирже – шаблон “W” SELECT FIRST(x.time), LAST(z.time) FROM ticker MATCH_RECOGNIZE (ONE ROW PER MATCH PARTITION BY name PATTERN (X+ Y+ W+ Z+) DEFINE X AS (price < PREV(price)) Y AS (price > PREV(price)) W AS (price < PREV(price)) Z AS (price > PREV(price))) 1 9 12 19 days X Y W Z
  • 36.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Кто из абонентов послал 5 смс из определенного торгового центра за 10 последних минут? Oracle Event Processing in Turkcell
  • 37.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | BIG DATA Appliance
  • 38.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | •Кластер из 18 узлов – до 768GB на узел (по умолчанию 128GB) = 13824 GB RAM – 36 ядер Intel на узле = 684ядер – 48 TB дисков на узел = 864 TB •40 Gb p/sec InfiniBand •10 Gb p/sec Ethernet •Может продаваться в конфигурации 1/3 и 2/3 стойки Oracle Big Data Appliance Машина для Hadoop и NoSQL DB
  • 39.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Разные подходы – разные преимущества 61 0 1 2 3 4 5 Мощь инструментов Встроенный функционал ACID транизакции Безопасность Разнообразие форматов данных Разреженные данные Простота ETL Стоимость хранения Простота загрузки Взаимодействие с другими системами Hadoop RDBMS • У Hadoop свои плюсы • У баз данных свои
  • 40.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | 0 1 2 3 4 5 Мощь инструментов Встроенный функционал ACID транизакции Безопасность Разнообразие форматов данных Разреженные данные Простота ETL Стоимость хранения Простота загрузки Взаимодействие с другими системами Hadoop RDBMS Цель Есть ли возможность объединить два мира? 62 Как это сделать? И как это использовать?
  • 41.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | 63 SQL
  • 42.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | 64 SQL работает уже 40 лет SELECT dept, sum(salary) FROM emp, dept WHERE dept.empid = emp.empid GROUP BY dept YEAR 1974YEAR 2014
  • 43.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Apache Hive • Apache Hive – Один из самых популярных проектов для обработки данных над Hadoop – Инфраструктура, эмулирующая реляционную СУБД над Hadoop – Есть SQL-подобный язык HiveQL – Позволяет строить аналог свербольших хранилищ данных в Hadoop
  • 44.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | SQL on Hadoop – не только Hive 66 Stinger
  • 45.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | HiveQL: SQL очень ограничен • Basic functions – round, sqrt, floor, ceiling, concat, lower, upper, etc. • Aggregate functions – count, sum, min, max, avg, variance, stddev, covar, etc. • Windowing functions – lag, lead, first, last, row_number, dense_rank, cume_dist, percent_rank, ntile 67 SQL Ограничения: • Подзапросы • Объединения • Стат функции
  • 46.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | 68 return attributes; } public void setState(String state) { this.state = state; } public String getQuantity() { return this.attributes[4]; } public String setState(V0Line linePrev, V0Line lineNext) { String q = this.getQuantity(); if (linePrev == null) { prev = ""; } else { prev = linePrev.getQuantity(); } if (lineNext == null) { next = ""; } else { next = lineNext.getQuantity(); } if (!q.isEmpty() && (prev.isEmpty() || (eq(q, prev) && gt(q, next)))) { state = "S"; return state; } if (gt(q, prev) && gt(q, next)) { state = "T"; return state; } if (lt(q, prev) && lt(q, next)) { state = "B"; return state; } if (!q.isEmpty() && (next.isEmpty() || (gt(q, prev) && eq(q, next)))) { state = "E"; return state; } if (q.isEmpty() || eq(q, prev)) { state = "F"; return state; } return state; } private boolean eq(String a, String b) { if (a.isEmpty() || b.isEmpty()) { return false; } return a.equals(b); } private boolean gt(String a, String b) { if (a.isEmpty() || b.isEmpty()) { return false; } return Double.parseDouble(a) > Double.parseDouble(b); } private boolean lt(String a, String b) { if (a.isEmpty() || b.isEmpty()) { return false; } return Double.parseDouble(a) < Double.parseDouble(b); 10:00 10:05 10:10 10:15 10:20 10:25 Ограниченность языка заставляет писать много кода 250+ строк на Java Поиск шаблона W в биржевых данных
  • 47.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | 69 10:00 10:05 10:10 10:15 10:20 10:25 Как сделать, чтобы можно было писать меньше кода? Поиск шаблона W в биржевых данных SELECT first_x, last_z FROM ticker MATCH_RECOGNIZE ( PARTITION BY name ORDER BY time MEASURES FIRST(x.time) AS first_x, LAST(z.time) AS last_z ONE ROW PER MATCH PATTERN (X+ Y+ W+ Z+) DEFINE X AS (price < PREV(price)), Y AS (price > PREV(price)), W AS (price < PREV(price)), Z AS (price > PREV(price) AND z.time - FIRST(x.time) <= 7 )) 12 строк на SQL
  • 48.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Данные хранятся во многих местах 71 Транзакции RelationalHadoop Логи NoSQL Профили клиентов SQL
  • 49.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Oracle Big Data SQL Новая технология для обращения к данным в Hadoop из Oracle Database Запросы кOracle, Hadoop иNoSQL Oracle SQL Oracle NoSQLDB HDFS DataNode Oracle NoSQLDB HDFS DataNode OracleDatabase StorageServer OracleDatabase StorageServer •Для пользователя не важно, где лежат данные – в Oracle или в Hadoop •Использование данных в Hadoop любыми BI инструментами •Все возможности языка SQL Oracle •Использование наработок Exadata •Интеграция Big Data Appliance и Exadata
  • 50.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Возможности Exadata для Big Data 76 Минимизация перекачки данных Скорость  Smart Scan −Фильтрация данных на диске  Storage Index −Только нужные данные читаются  Кеширование −Часто запрашиваемые данные читаются быстрее
  • 51.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | 78 Oracle Big Data Discovery. Hadoop с человеческим лицом
  • 52.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | Технологии Oracle для Больших Данных Поток Захват – Преобразование – Анализ Oracle BI Foundation Suite Oracle Real-Time Decisions Big Data Discovery Принятие решений Oracle Event Processing Oracle Big Data Connectors Oracle Data Integrator Oracle Advanced Analytics Oracle Database Oracle Spatial & Graph Apache Flume Oracle GoldenGate Oracle NoSQL Database Cloudera Hadoop Oracle R Distribution
  • 53.
    Copyright © 2014Oracle and/or its affiliates. All rights reserved. | 88