<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