More Related Content
More from mikeshagiev (20)
Big data
- 2. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Технологии и продукты Oracle для
работы с Большими данными
2
- 3. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Что такое Big Data?
4
•Нет четкого определения
•Разные компании подразумевают
разное
•Определение 3 V (Velocity, Variety,
Volume) недостаточно
- 4. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Заблуждения о Big Data
• Большие данные – это только неструктурированные данные
• Большие данные – это только данные из социальных сетей
• Большие данные – это принципиально новые данные, раньше их не
было
• Большие данные невозможно обрабатывать традиционными
технологиями, такими как реляционные БД
• Большие данные – это чистый маркетинг, за ними нет ничего
• У нашей компании больших данных нет
- 5. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Большие Данные и анализ данных о клиентах
• Очень многие примеры о Big
Data связаны с точечным
маркетингом и персонализацией
• Персонализированные
предложения требуют очень
большого количества данных о
поведении клиентов.
• Необходимость собирать данные
из многих источников
- 6. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• Захват и анализ данных с сенсоров
• Огромные объем данных в единицу
времени
Ускорение летных испытаний для сокращения
времени поставки новых самолетов
Ускорение летных испытаний
Solution components: Real-Time Decisions, Event Processing
Solution Components: BDA and NoSQL
- 7. 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
- 8. 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
- 9. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• Аналитика и предложеия в реальном
времени
• Использование Event Processing
• Сервис предоставляется внешним
партнерам
• Генерация новых доходов
Геомаркетинг для предоставления новых услуг
Монетизация данных
- 10. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
•Как вам удалось изменить счет с 1-8 на 9-8?
Oracle Big Data в Oracle Team USA
Мы взломали код
•300 сенсоров на яхте
•выдают 2 ГБ данных за одну гонку
- 11. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Подход Oracle к построению Big Data
систем
19
- 12. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 21
Чем не устраивают
обычные хранилища
данных?
- 13. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Exadata
Database Machine
- 14. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Exadata
• Машина для СУБД Oracle
– Хранилища данных
– OLTP
– Смешанные нагрузки
– Консолидация
• Высочайшая производительность СУБД Oracle
– Exadata Software используется для предобработки данных
прямо на уровне системы хранения
- 15. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Масштабируемость Exadata
Тысячи процессорных ядер
Петабайты данных
BIG DATA?
- 16. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
BIG DATA
- 17. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Почему о Больших Данных стали говорить?
• Технологии, раньше используемые только в веб-проектах (Hadoop, NoSQL) стали
достаточно зрелыми
– Не обязательно держать штат программистов, чтобы ими пользоваться
• Появились новые возможности для получения конкурентных преимуществ:
– Глубокий анализ поведения клиентов
– Высокоточная реклама
– Объединение и анализ данных из многих источников, в том числе неструктурированных
– Анализ мошенничеств
– и т.д.
• Big Data технологии позволяют существенно удешевить хранение и обработку
данных
- 18. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Почему удешевление так важно?
• Самолеты совершили революцию в транспорте
• Удешевление сотовой связи сделало ее доступной для всех
• Увеличение объемов жестких дисков – хранение и воспроизведение видео на PC
(начало 2000х)
• Удешевление доступа в интернет – создало интернет революцию
• Значительное удешевление часто помогает сделать качественный скачок к
принципиально новым возможностям
- 19. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Основные причины использования Big Data технологий
• Big Data-технологии позволяют достичь нового уровня
производительности и масштабируемости
–Обработка десятков миллионов событий в секунду
–Хранение многих петабайт данных
–Обслуживание миллионов одновременно работающих
пользователей
• Удешевление хранения и обработки данных
– Дешевле в расчете на терабайт данных
– (!) Но часто засчет потери каких-то других возможностей по сравнению с
традиционными системами.
• Вопрос, насколько эти возможности важны для конкретного проекта?
- 20. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Откуда берутся Большие данные? (1/2)
Они были всегда, но не всегда обрабатываются
• Традиционные данные из реляционных СУБД за прошлые
годы
• В самой сущности таких данных может не быть ничего нового,
их просто очень много
• Возникают вопросы о целесообразности хранения и
обработки таких объемов в традиционных архитектурах
• Это может быть просто дорого
- 21. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Откуда берутся Большие данные? (2/2)
Новые данные
• Логи, данные телеметрии, датчиков, полуструктурированные данные
и неструктурированные данные, записи в социальных сетях,
вебсайты и т.д.
• Данные, которые могут очень быстро накапливаться, при этом,
обычно (но не всегда) информационная плотность их низкая.
• Данные, которые очень дорого хранить и обрабатывать, используя
традиционный подход
- 22. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Apache
Hadoop
- 23. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 32
Предпосылки появления Hadoop
- 24. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Обычная архитектура
- 25. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Традиционная кластерная архитектура
- 26. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Подход Hadoop
- 27. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Практически неограниченная масштабируемость.
- 28. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Что такое Hadoop?
• Apache Hadoop - распределенная вычислительная архитектура:
– Open source (проект Apache Software Foundation)
– Построен на принципах, разработанных в Google и опубликованных в 2004 году.
– Включает в себя распределенную файловую систему HDFS
– Может обрабатывать данные в массивно-параллельном режиме (MapReduce)
– Спроектирован для работы на очень больших кластерах (сотни и даже тысячи узлов) на
дешевом «железе»
– Автоматически обрабатывает отказ узлов и перераспределение данных
– Существует большое количество инструментов, построенных над Hadoop
– Быстро развивается
– Важно! Не является СУБД
- 29. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
NoSQL Database
- 30. 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
- 31. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Что такое ключ-значение?
• Таблицы из двух колонок – ключ и значение (Key,Value)
– Все объединения производятся внутри приложения
– Приложение знает структуру поля Value
• Простые операции get, put, delete
• Очень быстрые и масштабируемые
Key Value
010101010 …
010101011 …
… …
Записи
Customer Table
Индекс
- 32. 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
- 33. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Event
Processing
- 34. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle Event Processing
• Технология обработки и анализа
потока данных
• Непрерывный поток, часто большого объема
• Отсутствует конец потока
• Упорядочен по времени
• Нужно на лету уметь обнаруживать «шаблоны»
• Невозможно или не эффективно
обрабатывать/анализировать в реальном
времени с применением баз данных
- 35. 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
- 36. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Кто из абонентов послал 5 смс из определенного торгового центра
за 10 последних минут?
Oracle Event Processing in Turkcell
- 37. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
BIG DATA
Appliance
- 38. 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
- 39. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Разные подходы – разные преимущества
61
0
1
2
3
4
5
Мощь инструментов
Встроенный функционал
ACID транизакции
Безопасность
Разнообразие форматов
данных
Разреженные данные
Простота ETL
Стоимость хранения
Простота загрузки
Взаимодействие с другими
системами
Hadoop
RDBMS
• У Hadoop свои плюсы
• У баз данных свои
- 40. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
0
1
2
3
4
5
Мощь инструментов
Встроенный функционал
ACID транизакции
Безопасность
Разнообразие форматов
данных
Разреженные данные
Простота ETL
Стоимость хранения
Простота загрузки
Взаимодействие с другими
системами
Hadoop
RDBMS
Цель
Есть ли возможность объединить два мира?
62
Как это сделать?
И как это использовать?
- 41. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 63
SQL
- 42. 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
- 43. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Apache Hive
• Apache Hive
– Один из самых популярных проектов для обработки данных над
Hadoop
– Инфраструктура, эмулирующая реляционную СУБД над Hadoop
– Есть SQL-подобный язык HiveQL
– Позволяет строить аналог свербольших хранилищ данных в Hadoop
- 44. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
SQL on Hadoop – не только Hive
66
Stinger
- 45. 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
Ограничения:
• Подзапросы
• Объединения
• Стат функции
- 46. 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 в биржевых данных
- 47. 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
- 48. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Данные хранятся во многих местах
71
Транзакции
RelationalHadoop
Логи
NoSQL
Профили клиентов
SQL
- 49. 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
- 50. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Возможности Exadata для Big Data
76
Минимизация перекачки данных Скорость
Smart Scan
−Фильтрация данных на диске
Storage Index
−Только нужные данные читаются
Кеширование
−Часто запрашиваемые данные читаются быстрее
- 51. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 78
Oracle Big Data Discovery. Hadoop с человеческим лицом
- 52. 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