165_OracleAppsForum_Igor_Sherbakov_ BigData

advertisement
<Insert Picture Here>
Oracle BIG DATA Appliance
Игорь Щербаков
Ведущий консультант, Oracle Казахстан
<Insert Picture Here>
Big Data
Что такое Big Data?
Что такое Big Data?
• Данные, которые могут очень быстро накапливаться,
при этом, обычно (но не всегда) информационная
плотность их низкая.
• Логи, данные телеметрии, датчиков, полуструктурированные
данные и неструктурированные данные, записи в социальных
сетях, вебсайты и т.д.
• Данные, которые хранить очень дорого
• Часто компании держат в хранилище данные только за
последние несколько месяцев или год не потому, что им
больше не нужно, а потому, что это дорого
Общие принципы построения Big Data систем
• Построены из большого количества (до десятков тысяч)
узлов, на основе относительно дешевого оборудования
• Каждый узел является сервером и хранения и обработки
данных
• Обработка данных ведется в массивно-параллельном
режиме
• MapReduce
• Данные хранятся в нескольких копиях (обычно в трех) и
отказ узла или двух не ведет к потере данных
• Система практически неограниченно масштабируется
Современные технологии обработки Big Data
• Not Only SQL – СУБД, часто построенные по принципу «ключNoSQL DB
значение»
•Быстрая запись и выборка по ключу
MapReduce
• Фреймворк для распределенных вычислений и обработки
данных на тысячах узлах
• Можно использовать через SQL-подобные инструменты
• Лидирующая реализация MapReduce (проект Apache)
Hadoop
• Масштабируемая пакетная обработка
• Большое количество существующих наработок
HDFS
• Hadoop Distributed File System
• Для построения дешевых, распределенных,
масштабируемых хранилищ
5
Что такое NoSQL СУБД? (2/2)
• Целостность даных может поддерживаться не так жестко, как в
традиционных RDBMS
• Что может не подходить для некоторых задач, где целостность
важна
• Но применяется для множества других задач
• Не требуют структурированной схемы
• Часто данные хранятся в схеме Key-Value
• Расшифровывает структуру данных опять-таки приложение
• Нет стандартов
• Существует около 130 NoSQL СУБД, очень многие OpenSource
Что такое СУБД ключ-значение?
Customer Table
Index
Key
Records
Value
010101010
…
…
…
…
…
010101011
…
…
…
…
…
…
…
…
…
…
…
Opaque Data Structures
• Таблицы из двух колонок – ключ и значение (Key,Value)
• Все объединения производятся внутри приложения
• Приложение знает структуру поля Value
• Простые операции get, put, delete
• Очень быстрые и масштабируемые
Новый продукт - Oracle NoSQL DB
Распределенная, масштабируемая key-value база данных
Простая модель данных
• Пара Key-value с подходом major+sub-key
• Операции read/insert/update/delete
Application
NoSQLDB Driver
• Масштабируемость
• Динамическое партиционирование и перераспределение
• Оптимизированный доступ к данным
• Высокая доступность
• Одна или более реплик
• Катастрофоустойчивость засчет
разнесения реплик
• Устойчивость к отказу мастера
Storage Nodes
Data Center A
• Нет одной точки отказа
• Прозрачная балансировка нагрузки
• Чтение с мастера или реплики
• Драйвер знает о сетевой топологии и временах задержки
•
Application
NoSQLDB Driver
Storage Nodes
Data Center B
Что такое Hadoop?
• Apache Hadoop - это распределенная вычислительная
архитектура:
•
•
•
•
•
Open source (проект Apache Software Foundation)
Включает в себя распределенную файловую систему HDFS
Служит для пакетной обработки и ETL
Обрабатывает данные в массивно-параллельном режиме (MapReduce)
Работает на очень больших кластерах (от сотен до тысяч узлов) на
дешевом «железе»
• Автоматически обрабатывает отказ узлов, и перераспределение данных
• Используется во многих известных проектах
• Yahoo – более 10000 узлов на Linux, для обработки поиска
• Кроме этого – Apple, Twitter, LinkedIn, Amazon, Last.fm и др.
• Facebook – более 30PB на Hadoop
Что такое HDFS?
Распределенная файловая система, где один файл
«распиливается» по множеству узлов
Что такое MapReduce?
• Данные распределены по множеству серверов
• Необходимы процессы, которые будут
выбирать и агрегировать данные,
распределенные по множеству серверов
• Нужно сделать так, чтобы и выборка и
особенно агрегация данных равномерно
использовала множество узлов
• MapReduce позволяет просто писать
программы распределенных вычислений
Аналогия для MapReduce
Дано: 5 корзин. В каждой содержатся яблоки, груши и апельсины
Найти: сколько у меня яблок, груш и апельсинов (просто
посчитать)
Сервер 1
Сервер 2
Сервер 3
Сервер 4
Сервер 5
Входные
данные
Сервер 1
Сервер 2
Сервер 3
Сервер 4
Сервер 5
Шaг MAP
В каждой корзинке
выделяем яблоки
апельсины и груши.
Аналогия для MapReduce
Сервер 1
Сервер 2
Сервер 3
Сервер 4
Сервер 5
Шаг Shuffle
Сеть
Распределяем разные
фрукты в разные кучки.
Сервер 1
Сервер 2
Сервер 3
Сервер 4
Сервер 5
Аналогия для MapReduce
Сервер 1
Сервер 2
Сервер 3
Сервер 5
Сервер 4
Шаг Reduce
Подсчет количества
фруктов
в каждой кучке.
x30
Сервер 1
Сервер 2
30
x28
Сервер 3
28
x12
Сервер 5
Сервер 4
12
Ответ клиенту
Как работают программы в Hadoop MapReduce?
• Язык программирования - Java
• Процесс Map описывает извлечение данных, хранимых на данном
узле
• Пример: Определение типа фрукта
• Map формирует последовательность типа Key-Value и по ключу
происходит перераспределение данных для процессов Reduce
• Key-Value – (Яблоко,1 )
• Reduce-процессы принимают значения определенных ключей,
которые собираются со всех процессов Map
• В данном примере ключом является тип фрукта. Все появления
конкретного фрукта на всех узлах пересылаются на один
Reduce для каждого фрукта.
Предпосылки для Big Data Аppliance
• Oracle NoSQL DB, Hadoop,
доступны к скачиванию и
использованию
• Однако, даже несмотря на то, что
Hadoop – Open Source, настройка
и конфигурирование кластера из
десятков узлов требует высокой
квалификации
• Для того, чтобы помочь заказчикам использовать
преимущества работы с Big Data, Oracle создает
оптимизированный комплекс Big Data Appliance
Oracle Big Data Appliance Hardware
•18 Sun X4270 M2 Servers
– 48 GB memory per node = 864 GB memory
– 12 Intel cores per node = 216 cores
– 36 TB storage per node = 648 TB storage
•40 Gb p/sec InfiniBand
•10 Gb p/sec Ethernet
Oracle Big Data Appliance Software
• Oracle Linux 5.6
• Java Hotspot VM
• Cloudera Hadoop Distribution
Hadoop Core, HDFS, Hive, HBase, Zookeeper, Oozie,
Mahout, Sqoop,
Administration Tools
• R Distribution
• Oracle Loader for Hadoop
• Oracle NoSQL Database
• Oracle Adapters for Hadoop:
Oracle R Connector for Hadoop
Oracle SQL to HDFS Connector
Oracle Data Integrator Application Adapter
Hadoop
Oracle Loader for Hadoop
Подходы к обработке данных
Разнообразие
данных
Неструктурированные
Нет Схемы
Есть Схема
Информационная
плотность
NoSQL
Distributed
File Systems
Гибкость
Специализированность
Ориентация на
разработчиков
MapReduce
Transaction
(Key-Value)
Stores
DBMS
(OLTP)
Сбор
ETL
DBMS
(DW)
Организация
Advanced
Analytics
Анализ
SQL
Доверие
Безопасность
Администрирование
Решения Oracle
Разнообразие
данных
Неструктурированные
Схема
Информационная
плотность
HDFSData Appliance
Big
Hadoop
• Hadoop
Oracle Loader for
Oracle
NoSQLDatabaseHadoop
• NoSQL
DB
• Oracle
Loader for
hadoop
Oracle
• Oracle DataData
Integrator
Integrator
Oracle
Database
(OLTP)
In-DB
Analytics
“R”
Mining
Text
Graph
Spatial
Oracle ExadataOracle
• OLTP & DW Database
• Data Mining & Oracle
(DW) R
Организация
• Аналитика со
скоростью
мысли
Oracle
BI EE
• Semantics
• Spatial
Сбор
Exalytics
Анализ
Возможная архитектура
InfiniBand
Поток
Сбор
Oracle
Exalytics
Oracle
Exadata
Oracle
Big Data Appliance
Организация
InfiniBand
Анализ и визуализация
Кому нужен Big Data Аppliance?
• Веб-проекты
• Розница - интернет или традиционные бизнесы с
большой нагрузкой на вебсайты или с потребностью
анализировать логи
• Банки – анализ мошенничеств, анализ предпочтений
клиентов
• Производство – сбор и обработка данных с датчиков
• Безопасность – накапливание и обработка огромных
объемов различных данных по запросам
Questions
Download