You are on page 1of 32

Методи та засоби

обробки великих даних


Література
1. Zgurovsky M.Z., Zaychenko Y.P. Big Data: Conceptual Analysis and Applications.
Springer, 2020. – 298 p.
2. R. Buyya, R. N. Calheiros, A. V. Dastjerdi. Big Data Principles and Paradigms. –
Elsevier, 2016. – 496 p.
3. T. Erl. Big Data Fundamentals. — Prentice Hall, 20216. – 235 p.
4. Олійник А. О. Інтелектуальний аналіз даних : навчальний посібник. —
Запоріжжя :ЗНТУ, 2012. — 278 с.
5. Ситник В.Ф., Краснюк М.Т. Інтелектуальний аналіз даних (дейтамайнінг):
Навч. пос. — К:КНЕУ,2007 — 376 с.
6. David Dietrich. Data Science & Big Data Analytics. —John Wiley & Sons, Inc, 2015.
– 435 p.
7. D. K. Panda. High-Performance Big Data Computing. — The MIT Press, 2022. —
275 p.
8. B. Chambers . Spark: The Definitive Guide. — O’Reilly Media,2018. — 601 p.
Оцінювання
r= 7*Rл.р+ Rмкр+Rе
R л.р - бали за лабораторні завдання (максимум 5)
Rмкр- бали за модульну контрольну роботу (максимум 15)
Rе – бали за екзамен (максимум 50).
Основні поняття великих
даних
Що таке великі дані
Нові технології, пристрої та соціальні мережі з кожним роком
експоненціально збільшують обсяг цифрових даних.
Великі дані - це набір сукупностей даних, які є величезними або
доволі швидко змінюються і накопичуються, або складаються з
різних типів даних. Тобто будь-які дані, що перевищують
можливості традиційних сховищ даних (реляційних СУБД),
алгоритмів збереження, обробки, аналізу.
Джерелами великих даних є:
• Інтернет
• Торгівля
• Промисловість
• Наука
Застосування великих даних
Деякі сфери застосування роботи з великими даними:
• Аналіз соціальних мереж (SNA): таргетування реклами, товарів;
прогнозування соціальних трендів;
• Банківська справа та фінанси : аналіз фондового ринку, управління ризиками,
виявлення шахрайства;
• Транспорт: логістична оптимізація, оптимізація потоку трафіку в реальному
часі тощо.
• Охорона здоров'я: аналіз медичних записів, моніторинг пацієнтів тощо.
• Телекомунікації: виявлення загроз і т.д.
• Розваги: анімація, 3D -рендеринг відео тощо.
• Оптимізація роботи системи (апаратне/програмне забезпечення)
• Підвищення працездатності у спорті
• Поліпшення безпеки та правоохоронних органів.
Застосування великих даних
Зрештою, обробка та вилучення інформації з великих даних має
призвести до
• підвищення продуктивності бізнесу.
• підвищення операційну ефективність, зменшити ризик та
допомогти в прийманні стратегічних рішення в управлінні.
• полегшення наукових досліджень.
Характеристики великих даних
Об’єм (volume): більше даних, більш точні рішення
Швидкість (velocity):
Неперервні (потокові) дані обробляються в вікнами. Ці потокові
дані повинні бути оброблені в режимі реального часу перед їх
постійним зберіганням. Реляційна СУБД не підходить для швидкої
передачі даних, оскільки їй потрібно індексувати дані перед
доступом. Прикладами застосунків, що повинні працювати в
реальному часі, є застосунки для виявлення загроз у
телекомунікаціях, виявлення шахрайства в банківській сфері,
система рекомендацій у застосунках для соціальних мереж та
електронної торгівлі.
Характеристики великих даних
Різноманітність (variety): один інструмент для обробки різних типів
даних
Великі дані можуть складатися зі структурованих,
напівструктурованих та неструктурованих даних. Структуровані дані
в СУБД лінійно зростають у банківських та інших галузях бізнесу.
Неструктуровані та напівструктуровані дані зростають у
геометричній прогресії через зростання кількості інтернет-
застосунків та поширення інтернету речей.
Характеристики великих даних
• Структуровані дані: створення таблиці перед збором даних
називається структуруванням даних. Це означає, що можливо
організовано керувати набором даних за допомогою фрейму
(таблиці). Зміна таблиці після накопичення масивних даних є
тривалим процесом у СУБД.

• Неструктуровані дані: позначає організацію даних з динамічною


схемою або без неї. Приклад: користувачі Facebook завантажують
зображення, відео, аудіо, текст (чат, статус, коментар). Такі
гетерогенні дані не можна зберігати в СУБД, оскільки зміна схеми
вимагає багато ресурсів для даних різного розміру.
Характеристики великих даних
• Напівструктуровані дані: вони менш структуровані, ніж реляційні
бази даних. Приклад:
• Веб -сторінки мають невелику структуру з тегами, але не мають
обмежень щодо даних всередині тегів.
• Логи, створені машинами/програмним забезпеченням/програмами.

Структуровані дані - банківська справа, фінанси, розділи бізнесу


тощо. Напівструктуровані дані-дані журналу з
обладнання/програмного забезпечення/програм, електронних
листів, веб-сторінок (XML/HTML) тощо. Неструктуровані дані-аудіо,
відео та текстові документи тощо .
Характеристики великих даних
Достовірність (veracity): невизначеність точності та достовірності
даних, «якості» даних, присутності шуму
Дані, взяті з загальнодоступних джерел, таких як соціальні мережі,
можуть бути здебільшого неточними.

Значення (value): при збільшенні об’ємів даних, здатність


алгоритмів видобувати корисну інформацію падає
Характеристики великих даних
Змінність (variability) даних відноситься до динамічної, постійно
змінної поведінки джерел генерації даних.
Нестабільність (volatility) визначає, як довго дані є дійсними і як
довго вони повинні зберігатися. Важко визначити, коли саме дані
втрачають свою корисність для аналізу.
Видимість (visibility) потрібно мати повну картину даних, щоб
приймати рішення
Складність (complexity) означає нестабільну кількість змінних у
наборі даних та їх складний взаємозв’язок. Це ускладнює
виділення точних знань з даних.
Характеристики великих даних
Існує два класи систем великих даних:
• Оперативна система великих даних (відповідь у режимі
реального часу від великих даних)
• Аналітична система або система підтримки прийняття рішень
(пакетна обробка)
Характеристики великих даних
База даних, яка виконує поточні операції (такі як вставлення,
оновлення, видалення) називається операційною базою даних.
Вона широко використовується у веб-додатках таких як Facebook,
WhatsApp тощо. Бази даних NoSQL називаються оперативними
базами даних. Приклад: MongoDB, Big Table (Google), Cassandra
(Facebook), HBase тощо.
Характеристики великих даних
Аналіз великих даних - це послідовність кроків (збір, зберігання,
управління, обробка, аналітика, візуалізація/інтерпретація та
розуміння), що виконуються для виявлення невідомих прихованих
шаблонів/тенденцій/відносин/асоціацій та іншої корисної
інформації з великих даних для прийняття рішення з
використанням статистичних, ймовірнісних алгоритмів, алгоритмів
інтелектуального аналізу даних та машинного навчання економічно
ефективним способом. Обробка даних здійснюється пакетно.
Характеристики великих даних
Аналітичні системи можуть бути представлені у вигляді:
• Централізоване сховище даних (DWH), що зберігає заздалегідь
надані структуровані дані, надає відповіді на раніше визначені
запити.
• Розподілене сховище, таке як розподілена файлова система
Hadoop (HDFS), S3, Azure blob, Swift тощо для зберігання
напів/неструктурованих даних без заздалегідь визначених запитів.
Характеристики великих даних
Характеристика Оперативна система Аналітична система

Затримка 1-100мс 1-100 хвилин

Одночасність 1000-100 000 користувачів 1-10 користувачів

Послідовність дій Запис, читання, оновлення Початковий запис, читання,


без оновлення

Запити Вибіркові Пакетні

Кінцевий користувач Клієнт Дослідник даних

Технологія NoSQL DWH, Hadoop, Spark


Етапи роботи з великими даними
1 Постановка задачі
2 Ідентифікація даних
3 Отримання даних та фільтрація
4 Перевірка та очищення даних
5 Агрегація даних
6 Аналіз даних
7 Візуалізація даних
8 Використання результатів аналізу
Засоби аналізу великих даних
1 Data Mining
2 Статистичний аналіз
3 Машинне навчання
4 Семантичний аналіз
5 Візуальний аналіз
6 Штучний інтелект
Зберігання великих даних
У традиційної розподіленої системи є деякі недоліки, які
обмежують продуктивність існуючої архітектури обробки даних.
• Масштабованість є обмеженою і не лінійною. Це означає, що при
збільшенні кількості серверів у кластері обчислень, загальна
продуктивність зменшується через синхронізацію та координацію.
• Потрібна велика пропускна спроможність мережі між кластерами
для обчислювання і зберігання.
• Потрібні дорогі сервери, і масштабування вгору/вниз ускладнене.
• Ймовірність виходу з ладу апаратного забезпечення висока,
оскільки 1000 вузлів знаходяться в кластері. Тому втрати даних та
обчислень неминучі і важко компенсувати ці втрати.
Зберігання великих даних
Переміщення даних із кластера зберігання в обчислювальний
кластер потребує значної пропускної здатності локальної мережі.
Тому, замість управління сховищем і обчислювальним кластером
окремо, краще розгортати лише обчислювальний кластер, у якому
кожна машина має своє сховище даних. Для виконання аналізу
потрібно відправити програму на вузол, який має необхідні дані та
отримати результати.
Зберігання великих даних
Для обробки даних розміром порядку терабайт можна звернутись
до центру обробки даних (хмарного) та завантажити дані туди.
Хоча для роботи з ними їх все ще потрібно завантажувати на
локальну машину, що вимагає значної пропускної здатності та
займає багато часу.
Цю проблему можна вирішити, якщо створити програму локально
та надіслати її до дата-центру для дистанційної обробки даних.
Хмарний дата-центр обробляє дані та надсилає результати назад.
Зберігання великих даних
Типова розподілена система повинна задовольняти наступні
вимоги, щоб функціонувати більш ефективно:
1. Відмовостійкість - здатність відновити дані, завдання та вузол
після збою.
2. Послідовність - збій вузла під час виконання завдання не
повинен впливати на результат роботи.
3. Масштабованість - додавання вузлів повинно призвести до
лінійного збільшення продуктивності.
4. Часткова помилка - збій вузла повинен призвести до поступового
зменшення продуктивності програми, але не до збою всієї системи.
5. Відновлення вузла – якщо вузол, що вийшов з ладу, відновити, то
він повинен знову легко під ’єднатись до кластера.
Фреймворк для обробки даних
Дані обробляються по-різному в залежності від джерела даних та
типу даних. В технологіях обробки даних використовуються різні
інструменти для різних цілей.

Технологія обробки Інструменти Характеристики


даних
Пакетна обробка MapReduce, Spark, Dryad, Об’єм, різноманітність
Data MPI
Обробка в реальному часі Strom, S4, Spark streaming, Швидкість
Heron, Flink
Обробка в пам’яті (для Spark-SQL, Hive, HBase Об’єм, різноманітність,
інтерактивних, швидкість
ітеративних і потокових
процесів)
Фреймворк для обробки даних
Складові фреймворку:
• Сховище даних
• База даних
• Управління ресурсами
• Виконувач
• Мова запитів/скриптів
• Система потокової обробки
• Обробник графів
• Модуль для машинного навчання
Фреймворк для обробки даних
Як вибрати основу та інструмент для вирішення проблеми великих
даних? Рішення залежить від
• розміру даних
• пропускної здатності
• швидкості передачі даних
Hadoop
Hadoop - це проект з відкритим кодом, що містить широкий набір
інструментів для зберігання та обробки великих даних у
розподіленому середовищі через кластер серверів за допомогою
простої моделі програмування. Він розроблений для
масштабування від одного вузла до тисяч вузлів, кожен із яких
пропонує свою обчислювальну потужність та ємність зберігання.
Завдання полягає не в збереженні масивних даних, а в швидкості
обробки та розробці розподілених алгоритмів.
Hadoop
Hadoop не підходить для наступних задач:
• для обробки транзакцій (СУБД краще для транзакцій). Тому що
індекс наводиться лише для блоків даних, а не для їхнього вмісту.
• для обробки з низькою затримкою (для кожної задачі потрібно
обробити весь об’єм даних).
• для великої кількості невеликих файлів (розмір метаданих
збільшується).
• для обчислювальних програм, які включають блокування,
синхронізацію та комунікацію між процесами.
• для інтерактивної, ітераційної та потокової обробки.
• для задач, які неможливо розпаралелити.
Hadoop
Hadoop оптимізовано для
• паралельної обробки величезної кількості даних.
• обробки структурованих/неструктурованих/напівструктурованих
даних.
• роботи на недорогих серверах.
• масштабування кластера.
Hadoop
Hadoop
Складові Hadoop:
Основні:
• Розподілена файлова система (Hadoop Distributed File System (HDFS))
• YARN (Yet Another Resource Negotiator)
• MapReduce (MR)
Додаткові:
Hive, Pig, HBase, Mahout і т.д.

You might also like