1 / 0
Инструменты обработки Big Data . Hadoop . NoSQL .
10 likes | 466 Vues
Инструменты обработки Big Data . Hadoop . NoSQL . Алексей Филановский Cloudera certified developer for Hadoop. <Insert Picture Here>. Поднимем занавес!. Поднимем занавес!. BigData. Поднимем занавес!. Application. NoSQL DB Driver. HDFS + MapReduce = Hadoop. BigData.
Télécharger la présentation
Инструменты обработки Big Data . Hadoop . NoSQL .
An Image/Link below is provided (as is) to download presentation
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.
Content is provided to you AS IS for your information and personal use only.
Download presentation by click this link.
While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
During download, if you can't get a presentation, the file might be deleted by the publisher.
E N D
Presentation Transcript
-
Инструменты обработки Big Data. Hadoop. NoSQL.
Алексей Филановский Cloudera certified developer for Hadoop - <Insert Picture Here> Поднимем занавес!
- Поднимем занавес! BigData
- Поднимем занавес! Application NoSQL DB Driver HDFS + MapReduce =Hadoop BigData
- <Insert Picture Here> Архитектура поисковика
- Общая архитектура поисковика Web
- Общая архитектура поисковика Web Crawler
- Общая архитектура поисковика Web LINK:www.oracle.com – CONTENT: "Oracle CRM On Demand has enabled us to provide faster customer service, more dynamic communication between our departments, and further flexibility for the customer relations department. Crawler Storage
- Общая архитектура поисковика Web Строим индекс! Crawler Storage
- Общая архитектура поисковика Web Application layer Crawler Storage
- <Insert Picture Here> Инвертированный индекс
- Инвертированный индекс Словарь: Инвертированный индекс: Анапа – 8, 9,111 ... Арбуз – 3, 5, 7,109... ........ 1 - Oracle.com 2 - Rbc.ru 3 – coca-cola.com Яблоко – 66,91...
- Инвертированный индекс Application layer 1,18 Купить самовар в санкт-петербурге Get(купить) Get(самовар) Storage Get(санкт-петербург) 1,18,34 1,18,197 1,8,18,220
- <Insert Picture Here> Масштабы «бедствия»
- Масштабы «бедствия» 1,000,000,000,000страниц Web Application layer Индекс – десятки петобайт 500 экзабайтов Crawler Storage
- <Insert Picture Here> Инструменты для решения задач BigData
- Инструменты решения задач BigData Карл Маркс и Фридрих Энгельс — это не муж и жена, а четыре совершенно разных человека
- Инструменты решения задач BigData Задачи BigData: 1) Обработка большого объема данных.Получить информацию из данных, либо структурировать неструктурированное(построение инвертированного индекса). Решение:парадигма MapReduce Изделие – информация или структурирование неструктурированного Сырье – неструктурированные даные Кузнец - MapReduce
- Инструменты решения задач BigData Задачи BigData: 2) Извлечение ничтожно малого объема данных из огромного колличества информации с низкой предсказуемой задержкой. Достать иголку из стога сена и очень быстро(поисковый запрос в google). Решение: парадигма NoSQL
- <Insert Picture Here> Реализация имени Big Data Appliance
- Реализация имени Big Data Appliance 1) Обработка большого объема данных.Получить информацию из данных, либо структурировать неструктурированное(построение инвертированного индекса). Решение:парадигма MapReduce Hadoop = распределенная файловая система + MapReduceобработчик файловой системы 2) Извлечение ничтожно малого объема данных из огромного колличества информации с низкой предсказуемой задержкой. Достать иголку из стога сена и очень быстро(поисковый запрос в google). Решение: парадигма NoSQL Oracle NoSQL Database – база данных типа NoSQL (key-value)
- Сухая выжимка
- Сухая выжимка
- Сухая выжимка
- <Insert Picture Here> Пакетная обработка. Hadoop
- Hadoop – инструмент пакетной обработки Application NoSQL DB Driver NoSQL HDFS + MapReduce =Hadoop BigData Hadoop
- Что такое Hadoop? <Insert Picture Here> Hadoopэто: - Среда распределенных вычислений MapReduce - Распределенная файловая система (одна файловая система на множество физических серверов)HDFS Предназначение: - Предварительная обработка неструктурированных данных - Хранение малоценных данных - Аналитика сверхбольшого объема данных
- <Insert Picture Here> Архитектура HDFS
- Архитектура HDFS
- Архитектура HDFS
- <Insert Picture Here> Запись файлов
- Запись файлов Hadoop Проверка наличия прав и существования файла Запроск NameNode на создание файла В ответе передается список DataNode
- Запись файлов Hadoop Блок 1 Блок 2 На стороне клиента файл разбивается на блоки
- Запись файлов Hadoop После записи всех блоков клиент рапортует NameNode о записанном файле От одной DataNode кдругой От одной DataNode кдругой Блок передается DataNode от клиента Подтверждение Подтверждение Ответ клиенту о том, что блок записан и успешно прореплицирован После записи блока 1 начинается запись блока 2 подобным образом
- <Insert Picture Here> Чтение файлов
- Чтение файлов Hadoop Клиент запрашивает NameNodeо том где располагаются блоки нужного файла Ответ NameNode – список DataNode Выбор DataNode – исходя из топологической близости
- <Insert Picture Here> Парадигма MapReduce
- Аналогия для MapReduceДано: 5 корзин. В каждой содержатся яблоки, груши и апельсиныНайти: сколько у меня яблок, груш и апельсинов (просто посчитать) Сервер 3 Сервер 3 Сервер 4 Сервер 4 Сервер 5 Сервер 5 Сервер 2 Сервер 2 Сервер 1 Сервер 1 Входные данные В каждой корзинке выделяем яблоки апельсины и груши. Это шаг Map
- Аналогия для MapReduce Сервер 5 Сервер 4 Сервер 2 Сервер 1 Сервер 3 Распределяем разные фрукты в разные кучки. Шаг Shuffle Сеть Сервер 4 Сервер 2 Сервер 1 Сервер 5 Сервер 3
- Аналогия для MapReduce Подсчет количества фруктов в каждой кучке. Шаг Reduce Сервер 5 Сервер 5 Сервер 4 Сервер 4 Сервер 2 Сервер 2 Сервер 1 Сервер 1 Сервер 3 Сервер 3 x28 x12 x30 Ответ пользователю 28 30 12
- <Insert Picture Here> Индексный доступ. Oracle NoSQL Database
- Новый продукт - Oracle NoSQL DB Распределенная, масштабируемая key-value база данных Application NoSQL DB Driver NoSQL HDFS + MapReduce =Hadoop BigData Hadoop
- Storage Nodes Data Center B Storage Nodes Data Center A Новый продукт - Oracle NoSQL DB Распределенная, масштабируемая key-value база данных Простая модель данных Пара Key-value с подходом major+sub-key Операции read/insert/update/delete Масштабируемость Оптимизированный доступ к данным Высокая доступность Одна или более реплик Отказоустойчивость засчет разнесения реплик Устойчивость к отказу мастера Нет одной точки отказа Прозрачная балансировка нагрузки Чтение с мастера или реплики Драйвер знает о сетевой топологии и временах задержки Application Application NoSQLDB Driver NoSQLDB Driver
- Как можно понимать пару ключ – значение?
- Как можно понимать пару ключ – значение? Key Value /Smith/Bob/-/birthdate /Smith/Bob/-/phonenumber /Smith/Bob/-/image /Smith/Patricia/-/birthdate /Smith/Patricia/-/phonenumber 01.01.1970 +1 – 111 -111… 02.02.1971 +1 – 222-… /Smith/Bob/-/Mobile +1 – 333-… Значение - просто набор байтов Ключ можно воспринимать как путь в файловой системе
- Логическое представлениеNoSQL DB Index Key1 – Value1 Key2 – Value2 Key4 – Value4 Key3 – Value3 Key5 – Value5 Key6 – Value6
- Физическое представление Стойка 2 Стойка 1 Key1 – Value1 Key1 – Value1 Key1 – Value1 Key2 – Value2 Key4 – Value4 Key4 – Value4 Key4 – Value4 Key3 – Value3 Key5 – Value5 Key6 – Value6 Key2 – Value2 Key2 – Value2 Key5 – Value5 Key5 – Value5 Key3 – Value3 Key3 – Value3 Key6 – Value6 Key6 – Value6
- Физическое представление Стойка 2 Стойка 1 Key1 – Value1 Key1 – Value1 Key4 – Value4 Key4 – Value4 Key2 – Value2 Key2 – Value2 Key5 – Value5 Key5 – Value5 Key3 – Value3 Key3 – Value3 Key6 – Value6 Key6 – Value6
- Архитектура хранилища Стойка 2 Стойка 1 Key1 – Value1 Key1 – Value1 Shard 1 (Replication Group1) Master Slave Key4 – Value4 Key4 – Value4 Storage Node Key2 – Value2 Key2 – Value2 Shard 2 (Replication Group2) Slave Master Key5 – Value5 Key5 – Value5 Key3 – Value3 Key3 – Value3 Shard 3 (Replication Group3) Master Slave Key6 – Value6 Key6 – Value6
- База данных Стойка 2 Стойка 1 Key1 – Value1 Key1 – Value1 Key4 – Value4 Key4 – Value4 Key2 – Value2 Key2 – Value2 База данных Key5 – Value5 Key5 – Value5 Key3 – Value3 Key3 – Value3 Key6 – Value6 Key6 – Value6
- В чем магия?
- Key-Value пара РСУБД Чем сложнее тем медленнее t, sec t, sec t0 + t1 + t2 + t3 + t4 + t5 Query Parser t0 + t1 + t2 + t3 + t4 Оптимизатор Словарь данных t0 + t1 + t2 + t3 Безопасность t0 + t1 + t2 Java API Кэширование, логирование, блокировки Кэширование, логирование, блокировки t0 + t1 Физический слой Произвольное чтение ~ 15 мкс Последовательное чтение ~ 100 Мб/сек
- <Insert Picture Here> Примеры совместного использования Big Data технологий
- Примеры совместного использования Big Data технологий Платежные системы
- Примеры совместного использования Big Data технологий Application NoSQL DB Driver Достаточно ли Средств на счете? Остаток на счете абонента X NoSQL
- Примеры совместного использования Big Data технологий Платежные системы Антифрод системы реального времени
- Примеры совместного использования Big Data технологий Application NoSQL DB Driver Фрод? Остаток на счете абонента X NoSQL HDFS, Hadoop В каких странах обычно совершаются транзакции? Какова средняя сумма покупки?
- Примеры совместного использования Big Data технологий Платежные системы Антифрод системы реального времени Накопление большого объема данных и последующая предобработка для бизнес аналитики
- Примеры совместного использования Big Data технологий 150 млн. держателей карты Application => Если одна запись около 11 кб => 6 Тб сутки 4 операции в день совершает каждый держатель NoSQL DB Driver => Около 7000 операций в секунду BigData Бизнес аналитика СУБД NoSQL HDFS, Hadoop MapReduce
- Примеры совместного использования Big Data технологий Платежные системы Антифрод системы реального времени Накопление большого объема данных и последующая предобработка для бизнес аналитики Рекомендательные системы он-лайн ресурсов (интернет банкинги, сайты крупных телекомов, сайты продаж)
- Примеры совместного использования Big Data технологий Oracle Exadata Oracle ExaLogic Логи приложения Oracle Exalytics Oracle Business Intelligence EE Endeca Information Discovery Пользовательский профайл Захват данных Oracle Big Data Appliance Oracle NoSQL DB Oracle Exadata Clustering/Market Basket Oracle AdvancedAnalytics Рекомендации полученные с помощью Advanced Analytics Загрузка рекомендаций HDFS Oracle Big DataConnectors Поток данных в HDFS через flume Загрузка данных Map Reduce ORCH - CF Recs. Map Reduce Pig - Sessionize Map Reduce Hive - Activities
- <Insert Picture Here> Интеграция с «наше все»
- Интеграция с «наше все» Oracle NoSQL Database – интеграция через препроцессор внешней таблицы Вместо файла данных указываем конфиг CREATE TABLE nosql_data (email VARCHAR2(30), gender CHAR(1), address VARCHAR2(40), phone VARCHAR2(20)) ORGANIZATION EXTERNAL (type oracle_loader default directory ext_tab access parameters (records delimited by newline preprocessor nosql_bin_dir:'nosql_stream' fields terminated by '|') LOCATION ('nosql.dat')) PARALLEL; oracle-nosql.blogspot.com
- Возможная архитектура Application Запись каких либо событий… NoSQL DB Driver Аналитический запрос Application Layer Select * from external_table put(/1294543/evant/:123456) Preprocessor run Data stream Store Layer
- SQL and NoSQL the best friends! Give me foto, which will make in 2010 on Nikon camera…. 1 2 3 4 5 Application NoSQL DB Driver Select key_path from ( Select rank() over(…) rk, pl_sql_function(col3) …. from tab_a left join tab_b… Where …. Order by ….) Where rk=1 Application Layer Get(/foto/nikon/id1/id5/-/some_id/) /foto/nikon/id1/id5/-/some_id/ Store Layer
- Интеграция с «наше все» Hadoop: ODHC: запрос к данным в hadoopчерез внешнюю таблицу Oracle (препроцессор) OLHзагрузчик данных из Hadoopв Oracle RDBMS Sqoopутилита импорта изреляционной базы данных в hadoop
- Hadoopи Oracle RDBMS ODCH OLH
- Hadoopи Oracle RDBMS. OLH Oracle Big Data Connectors Input1 MAP MAP Shuffle/Sort Shuffle/Sort MAP Reduce Reduce MAP Reduce MAP MAP Reduce MAP MAP Reduce LOG FILES Reduce MAP MAP Reduce Shuffle/Sort MAP MAP MAP MAP Input2 Oracle Database
- Oracle Loader for Hadoop Read target table metadata from the database Connect to the database from reducer nodes, load into database partitions in parallel (JDBC or direct path) Oracle Loader for Hadoop Partition, sort, and convert into Oracle data types on Hadoop MAP MAP Shuffle/Sort Features Offloads data pre-processing from the database server to Hadoop Works with a range of input data formats Handles skew in input data to maximize performance Online and offline modes (offline: create Oracle Data Pump files on HDFS) MAP Reduce Reduce MAP Shuffle/Sort Reduce MAP Reduce MAP Reduce
- Oracle Direct Connector for HDFS SQL access to HDFS External table view Data query or import Oracle Database HDFS SQL Query External Table DCH HDFS Client DCH DCH
- Hadoopи Oracle RDBMS. ODCH. Тесты vsFuse DFS Load speed comparison CPU usage comparison
- Загрузка данных в Hadoop. Sqoop Sqoop
- Как я познакомился с Hadoop Данные пересылались на сервер RDBMS Происходила загрузка в ходе которой выполнялась дедупликация данных, join 3.Было желание строить «ночную» статистику, но сервер БД не справлялся Data Source
- Как я познакомился с Hadoop Hadoop «С помойки» достали 9 «дохленьких» серверов (были списаны как морально устаревшие) 2. Данные попадают в Hadoop c источника 3.Hadoopочищает данные:дедупликация, join.. 4.Данные загружаются в RDBMS 5. “Ночная” статистика строится в Hadoop (агрегаты – select sum(a),b from … group by b), после чего загружаются RDBMS Data Source
- <Insert Picture Here> Результаты тестирований 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
- Результаты тестирований Big Data Appliance Инструмент: Hadoop Направление бизнеса: Телеком Задача: Обработка CDR (записи о звонках абонентов) для другого приложения
- Результаты тестирований Big Data Appliance Направление бизнеса: Компания занимающаяся оптимизацией сети сотовых операторов Задача: Обработка CDR (записи о звонках абонентов) запросами вида: Select function1(…), function2(…) from table Where … Group by … Результат: Среднее время обработки 1 Тб данных – 4 мин
- Результаты тестирований Big Data Appliance “Синтетические” тесты: 1) Сортировка 10 Тб данных 2 часа 35 мин => 4 Гб/сек 2) WordCount – подсчет уникальных слов в тексте 10 Тб – 3 часа 23 мин => 3Гб/сек 3) Запрос вида select func1(a),b from table group by b 1 Тб – 4 мин 2 сек 4) Запрос вида select func1(a),b from table where … group by b (условие where отсекает половину данных) 1 Тб - 2 мин 57 сек
- Если есть вопросы Alexey.Filanovskiy@oracle.com http://oracle-nosql.blogspot.com http://hadoop-hive.blogspot.com http://www.oracle.com/bigdata
- Вопросы
More Related