1 / 0

Инструменты обработки Big Data . Hadoop . NoSQL .

Инструменты обработки Big Data . Hadoop . NoSQL . Алексей Филановский Cloudera certified developer for Hadoop. <Insert Picture Here>. Поднимем занавес!. Поднимем занавес!. BigData. Поднимем занавес!. Application. NoSQL DB Driver. HDFS + MapReduce = Hadoop. BigData.

imala
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


  1. Инструменты обработки Big Data. Hadoop. NoSQL.

    Алексей Филановский Cloudera certified developer for Hadoop
  2. <Insert Picture Here> Поднимем занавес!
  3. Поднимем занавес! BigData
  4. Поднимем занавес! Application NoSQL DB Driver HDFS + MapReduce =Hadoop BigData
  5. <Insert Picture Here> Архитектура поисковика
  6. Общая архитектура поисковика Web
  7. Общая архитектура поисковика Web Crawler
  8. Общая архитектура поисковика 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
  9. Общая архитектура поисковика Web Строим индекс! Crawler Storage
  10. Общая архитектура поисковика Web Application layer Crawler Storage
  11. <Insert Picture Here> Инвертированный индекс
  12. Инвертированный индекс Словарь: Инвертированный индекс: Анапа – 8, 9,111 ... Арбуз – 3, 5, 7,109... ........ 1 - Oracle.com 2 - Rbc.ru 3 – coca-cola.com Яблоко – 66,91...
  13. Инвертированный индекс Application layer 1,18 Купить самовар в санкт-петербурге Get(купить) Get(самовар) Storage Get(санкт-петербург) 1,18,34 1,18,197 1,8,18,220
  14. <Insert Picture Here> Масштабы «бедствия»
  15. Масштабы «бедствия» 1,000,000,000,000страниц Web Application layer Индекс – десятки петобайт 500 экзабайтов Crawler Storage
  16. <Insert Picture Here> Инструменты для решения задач BigData
  17. Инструменты решения задач BigData Карл Маркс и Фридрих Энгельс — это не муж и жена, а четыре совершенно разных человека
  18. Инструменты решения задач BigData Задачи BigData: 1) Обработка большого объема данных.Получить информацию из данных, либо структурировать неструктурированное(построение инвертированного индекса). Решение:парадигма MapReduce Изделие – информация или структурирование неструктурированного Сырье – неструктурированные даные Кузнец - MapReduce
  19. Инструменты решения задач BigData Задачи BigData: 2) Извлечение ничтожно малого объема данных из огромного колличества информации с низкой предсказуемой задержкой. Достать иголку из стога сена и очень быстро(поисковый запрос в google). Решение: парадигма NoSQL
  20. <Insert Picture Here> Реализация имени Big Data Appliance
  21. Реализация имени Big Data Appliance 1) Обработка большого объема данных.Получить информацию из данных, либо структурировать неструктурированное(построение инвертированного индекса). Решение:парадигма MapReduce Hadoop = распределенная файловая система + MapReduceобработчик файловой системы 2) Извлечение ничтожно малого объема данных из огромного колличества информации с низкой предсказуемой задержкой. Достать иголку из стога сена и очень быстро(поисковый запрос в google). Решение: парадигма NoSQL Oracle NoSQL Database – база данных типа NoSQL (key-value)
  22. Сухая выжимка
  23. Сухая выжимка
  24. Сухая выжимка
  25. <Insert Picture Here> Пакетная обработка. Hadoop
  26. Hadoop – инструмент пакетной обработки Application NoSQL DB Driver NoSQL HDFS + MapReduce =Hadoop BigData Hadoop
  27. Что такое Hadoop? <Insert Picture Here> Hadoopэто: - Среда распределенных вычислений MapReduce - Распределенная файловая система (одна файловая система на множество физических серверов)HDFS Предназначение: - Предварительная обработка неструктурированных данных - Хранение малоценных данных - Аналитика сверхбольшого объема данных
  28. <Insert Picture Here> Архитектура HDFS
  29. Архитектура HDFS
  30. Архитектура HDFS
  31. <Insert Picture Here> Запись файлов
  32. Запись файлов Hadoop Проверка наличия прав и существования файла Запроск NameNode на создание файла В ответе передается список DataNode
  33. Запись файлов Hadoop Блок 1 Блок 2 На стороне клиента файл разбивается на блоки
  34. Запись файлов Hadoop После записи всех блоков клиент рапортует NameNode о записанном файле От одной DataNode кдругой От одной DataNode кдругой Блок передается DataNode от клиента Подтверждение Подтверждение Ответ клиенту о том, что блок записан и успешно прореплицирован После записи блока 1 начинается запись блока 2 подобным образом
  35. <Insert Picture Here> Чтение файлов
  36. Чтение файлов Hadoop Клиент запрашивает NameNodeо том где располагаются блоки нужного файла Ответ NameNode – список DataNode Выбор DataNode – исходя из топологической близости
  37. <Insert Picture Here> Парадигма MapReduce
  38. Аналогия для MapReduceДано: 5 корзин. В каждой содержатся яблоки, груши и апельсиныНайти: сколько у меня яблок, груш и апельсинов (просто посчитать) Сервер 3 Сервер 3 Сервер 4 Сервер 4 Сервер 5 Сервер 5 Сервер 2 Сервер 2 Сервер 1 Сервер 1 Входные данные В каждой корзинке выделяем яблоки апельсины и груши. Это шаг Map
  39. Аналогия для MapReduce Сервер 5 Сервер 4 Сервер 2 Сервер 1 Сервер 3 Распределяем разные фрукты в разные кучки. Шаг Shuffle Сеть Сервер 4 Сервер 2 Сервер 1 Сервер 5 Сервер 3
  40. Аналогия для MapReduce Подсчет количества фруктов в каждой кучке. Шаг Reduce Сервер 5 Сервер 5 Сервер 4 Сервер 4 Сервер 2 Сервер 2 Сервер 1 Сервер 1 Сервер 3 Сервер 3 x28 x12 x30 Ответ пользователю 28 30 12
  41. <Insert Picture Here> Индексный доступ. Oracle NoSQL Database
  42. Новый продукт - Oracle NoSQL DB Распределенная, масштабируемая key-value база данных Application NoSQL DB Driver NoSQL HDFS + MapReduce =Hadoop BigData Hadoop
  43. 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
  44. Как можно понимать пару ключ – значение?
  45. Как можно понимать пару ключ – значение? 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-… Значение - просто набор байтов Ключ можно воспринимать как путь в файловой системе
  46. Логическое представлениеNoSQL DB Index Key1 – Value1 Key2 – Value2 Key4 – Value4 Key3 – Value3 Key5 – Value5 Key6 – Value6
  47. Физическое представление Стойка 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
  48. Физическое представление Стойка 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
  49. Архитектура хранилища Стойка 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
  50. База данных Стойка 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
  51. В чем магия?
  52. 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 Мб/сек
  53. <Insert Picture Here> Примеры совместного использования Big Data технологий
  54. Примеры совместного использования Big Data технологий Платежные системы
  55. Примеры совместного использования Big Data технологий Application NoSQL DB Driver Достаточно ли Средств на счете? Остаток на счете абонента X NoSQL
  56. Примеры совместного использования Big Data технологий Платежные системы Антифрод системы реального времени
  57. Примеры совместного использования Big Data технологий Application NoSQL DB Driver Фрод? Остаток на счете абонента X NoSQL HDFS, Hadoop В каких странах обычно совершаются транзакции? Какова средняя сумма покупки?
  58. Примеры совместного использования Big Data технологий Платежные системы Антифрод системы реального времени Накопление большого объема данных и последующая предобработка для бизнес аналитики
  59. Примеры совместного использования Big Data технологий 150 млн. держателей карты Application => Если одна запись около 11 кб => 6 Тб сутки 4 операции в день совершает каждый держатель NoSQL DB Driver => Около 7000 операций в секунду BigData Бизнес аналитика СУБД NoSQL HDFS, Hadoop MapReduce
  60. Примеры совместного использования Big Data технологий Платежные системы Антифрод системы реального времени Накопление большого объема данных и последующая предобработка для бизнес аналитики Рекомендательные системы он-лайн ресурсов (интернет банкинги, сайты крупных телекомов, сайты продаж)
  61. Примеры совместного использования 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
  62. <Insert Picture Here> Интеграция с «наше все»
  63. Интеграция с «наше все» 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
  64. Возможная архитектура Application Запись каких либо событий… NoSQL DB Driver Аналитический запрос Application Layer Select * from external_table put(/1294543/evant/:123456) Preprocessor run Data stream Store Layer
  65. 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
  66. Интеграция с «наше все» Hadoop: ODHC: запрос к данным в hadoopчерез внешнюю таблицу Oracle (препроцессор) OLHзагрузчик данных из Hadoopв Oracle RDBMS Sqoopутилита импорта изреляционной базы данных в hadoop
  67. Hadoopи Oracle RDBMS ODCH OLH
  68. 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
  69. 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
  70. 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
  71. Hadoopи Oracle RDBMS. ODCH. Тесты vsFuse DFS Load speed comparison CPU usage comparison
  72. Загрузка данных в Hadoop. Sqoop Sqoop
  73. Как я познакомился с Hadoop Данные пересылались на сервер RDBMS Происходила загрузка в ходе которой выполнялась дедупликация данных, join 3.Было желание строить «ночную» статистику, но сервер БД не справлялся Data Source
  74. Как я познакомился с Hadoop Hadoop «С помойки» достали 9 «дохленьких» серверов (были списаны как морально устаревшие) 2. Данные попадают в Hadoop c источника 3.Hadoopочищает данные:дедупликация, join.. 4.Данные загружаются в RDBMS 5. “Ночная” статистика строится в Hadoop (агрегаты – select sum(a),b from … group by b), после чего загружаются RDBMS Data Source
  75. <Insert Picture Here> Результаты тестирований Big Data Appliance
  76. 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
  77. Результаты тестирований Big Data Appliance Инструмент: Hadoop Направление бизнеса: Телеком Задача: Обработка CDR (записи о звонках абонентов) для другого приложения
  78. Результаты тестирований Big Data Appliance Направление бизнеса: Компания занимающаяся оптимизацией сети сотовых операторов Задача: Обработка CDR (записи о звонках абонентов) запросами вида: Select function1(…), function2(…) from table Where … Group by … Результат: Среднее время обработки 1 Тб данных – 4 мин
  79. Результаты тестирований 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 сек
  80. Если есть вопросы Alexey.Filanovskiy@oracle.com http://oracle-nosql.blogspot.com http://hadoop-hive.blogspot.com http://www.oracle.com/bigdata
  81. Вопросы
More Related