Вы находитесь на странице: 1из 22

Oracle и Hadoop.

Рецепты приготовления
блюд из этих двух
ингредиентов

Александр Кучеренко
ведущий инженер ЦТП «ФОРС»
Oracle Certified Master
support@fors.ru

www.fors.ru
Типы данных у бизнеса
Структурированные
(карточный процессинг,
биллинг услуг связи и т.п.)

Неструктурированные
(соцсети, измерительные
устройства, аудио- и
видеорегистрация, лог-файлы
серверов)

Вложенные объекты (файлы


документов)

www.fors.ru
Большие данные - тренд №2 в мире (Gartner)

История вопроса берет начало с


конца 2000-x.

Определение включает в себя


серию подходов и терминов

Заблуждения и предубеждения
связаны с разнообразным
трактованием методов

www.fors.ru
Что делать, если нужно всё и сразу?
Объединить. Обеспечить доступ к разным
типам данных в режиме «одного окна».

Классические средства ETL и т.п. дорого и не


всегда быстро.

Требуется адаптация приложений, а то и


написание новых.

Сложности при использовании ETL.

При решении этой задачи необходимы интеграция, организация и


управление разными типами данных.

А также управление процессами доступности и тем, как это всё


будет сосуществовать.

www.fors.ru
Где хранить и как управлять?
ПАК (Teradata, Exadata,
СУРБД Big Data Appliance и т.п.)
Транзакции

NoSQL
Профили

Hadoop
Логи

www.fors.ru
Hadoop. История
2004 – 2005 г. – парадигма
MapReduce представлена Google

2008 г. – Hadoop как проект начинает


развитие под эгидой Apache

2013 г. – YARN (Yet Another Resource


Negotiator)

Начиная с версии 0.23 – MapReduce пережил капитальный ремонт и теперь известен под
именем MapReduce v2 или YARN

www.fors.ru
Дистрибутивы
http://hadoop.apache.org
для истинных ценителей ручной установки, с
правкой конфигурационных файлов,
установкой пакетов и «танцев с бубном»

http://www.cloudera.com
любим Oracle, поставляется с Big Data
Appliance

http://www.hortonworks.com
наиболее приближен к оригиналу
использует в Hive – Tez

www.fors.ru
Основа Hadoop

• MapReduce
основной фреймворк Hadoop

• HDFS
распределенная кластерная
файловая система

www.fors.ru
MapReduce
Фреймворк по пакетной обработке данных

MapReduce состоит из двух фаз:

1. map — выполняется
параллельно и (по
возможности) локально
над каждым блоком
данных, всё, что не
требует перемешивания и
перемещения данных
(shuffle)

2. reduce — дополняет map


агрегирующими
операциями

www.fors.ru
Hadoop Distributed File System
Большое, горизонтально масштабируемое хранилище данных

• HDFS – это то, что обычно имеют


в виду, когда говорят о Hadoop

• HDFS – это как обычная


файловая система, только
больше

• Вместо таблицы файловых дескрипторов используется специальный сервер —


сервер имён (NameNode)

• Данные не сосредоточены в одном месте, а разбросаны по серверам данных


(DataNode)

• Данные разбиты на блоки (обычно по 64Мб или 128Мб), для каждого файла сервер
имён хранит его путь, список блоков и их реплик

www.fors.ru
YARN – новый взгляд на управление
• Основная идея MRv2 разделить две
основных функции JobTracker
• Управление ресурсами и Управление
задачами – 2 отдельных демона
• Глобальный ResourceManager и
выделенный ApplicationMaster
• Application – разовое задание в
классическом понимании заданий Map-
Reduce
• ResourceManager и NodeManager –
вычислительное ядро
• ApplicationMaster – взаимодействует с
RM и NM

www.fors.ru
SQL в Hadoop
Hive

Impala

SparkSQL

Apache Flink

www.fors.ru
Hive – SQL субд на платформе Hadoop
• Последняя версия – 2.0.0 от 15.02.2016г.

• Использует Tez в качестве фреймворка

• Есть CBO (cost-based optimizer)

• Есть Storage Indexes

• Поддерживает row level изменения и ACID


транзакции

• Простая интеграция с Oracle

www.fors.ru
NoSQL
HBase

• HBase – это распределённая версионированная нереляционная СУБД,


эффективно поддерживающая случайное чтение и запись

• главное – это. то, что HBase позволяет работать с отдельными записями в


реальном времени, и это важное дополнение к инфраструктуре Hadoop

• запросы к таблицам HBase можно делать напрямую из Hive и Impala

www.fors.ru
Задачи объединения-разделения
• Выгоднее перенести архивные данные из СУРБД на менее
дорогое хранилище Hadoop

• Из неструктурированных данных часто требуются отдельные


поля разных типов

www.fors.ru
Сравнение

Мощь инструментов
5
Взаимодействие с
Встроенный функционал
другими системами 4
3
2
Простота загрузки ACID транизакции
1
0

Стоимость хранения Безопасность

Разнообразие форматов
Простота ETL
данных
Разреженные данные
Hadoop

RDBMS

www.fors.ru
Одна голова хорошо, а две - лучше

Какие есть возможности сделать это? И как это использовать?

www.fors.ru
Load и Off-Load
Sqoop (пакетный обмен таблиц реляционных БД)

JDBC <-> HDFS инструмент для параллельного копирования


Возможно лучшее средство для пакетного перемещения данных

Flume (потоково-событийная интеграция данных)

Удобно собирать данные из нескольких источников


для дальнейшей загрузки их в Hadoop

Oracle Loader for Hadoop (OLH)

MapReduce задание, которое осуществляет


предобработку и конвертацию данных в формат
Oracle RDBMS, используя ресурсы узлов Hadoop

www.fors.ru
Коннекторы между Hadoop и Oracle
характеристики
Oracle SQL Connector ODBC gateway
for Hadoop

ODBC
Hive Преобразование Обработка
Gateway
IO +
filter

• Данные в Hadoop в Oracle


представлены как внешние Hadoop Oracle
таблицы

• Используется • Подходит для запросов из архивных


препроцессор данных

• Только прямое чтение из • Преобразование типов данных на


стороне Oracle
HDFS

www.fors.ru
Oracle Big Data SQL
Новая технология для
обращения к данным в Hadoop
из Oracle Database

• Для пользователя неважно,


где лежат данные
• Использование возможностей Exadata
• Полная поддержка всех
• Storage Cell на BDA
возможностей Oracle SQL
• iDB между BDA и Exadata

Oracle HDFS Oracle


NoSQL DB Data Node Database Server

www.fors.ru
Гибридный мир
Будущее – гибридный
мир, в котором не имеет
значения, где и какие
данные лежат.

www.fors.ru
Спасибо за
внимание!

www.fors.ru