🎓 Характеристики Big Data
3V (або 5V) моделі
Volume (Обсяг): Величезні обсяги даних (терабайти, петабайти). Традиційні бази даних не справляються.
Velocity (Швидкість): Швидке надходження даних (real-time, near real-time). Потрібна обробка на льоту.
Variety (Різноманітність): Різні типи даних (структуровані, неструктуровані, напівструктуровані). JSON, текст, зображення, відео.
Veracity (Достовірність): Якість та надійність даних. Великі дані можуть бути шумними або неточними.
Value (Цінність): Видобування значущої інформації з великих обсягів. Дані без значення — марні витрати.
Джерела великих даних
Соціальні мережі: Пости, коментарі, лайки, події. Мильярди взаємодій щодня.
IoT: Сенсори, пристрої, автоматизовані системи. Генерують безперервні потоки даних.
E-commerce: Транзакції, перегляди, кліки, лог-файли. Величезні обсяги поведінкових даних.
Наука: Геномні дані, астрономічні спостереження, симуляції. Петабайти даних.
🔧 Технології та інструменти
Hadoop екосистема
HDFS (Hadoop Distributed File System): Distributed файлова система для зберігання великих файлів на кластері. Реплікація для надійності.
MapReduce: Програмна модель для обробки великих даних. Розбиває завдання на map та reduce етапи. Масштабується горизонтально.
YARN: Resource manager для керування ресурсами кластера. Дозволяє запускати різні додатки.
Hive: SQL-like інтерфейс для Hadoop. Дозволяє використовувати SQL для запитів до великих даних.
HBase: NoSQL база даних на основі HDFS. Підтримує random read/write доступ.
Apache Spark
Концепція: Швидша альтернатива MapReduce через обробку в пам'яті. Підтримує batch та stream processing.
Компоненти: Spark Core (основа), Spark SQL (SQL запити), Spark Streaming (real-time), MLlib (ML), GraphX (графи).
Переваги: Швидший за MapReduce (обробка в пам'яті), підтримує різні типи обробки, простий API (Python, Scala, Java).
Застосування: Batch обробка, stream processing, машинне навчання на великих даних, ETL pipelines.
NoSQL бази даних
Типи: Document (MongoDB), Key-Value (Redis), Column-family (Cassandra), Graph (Neo4j). Кожен для різних use cases.
Переваги: Масштабуються горизонтально, гнучкі схеми, швидкі для певних операцій, добре для неструктурованих даних.
Недоліки: Менш консистентні (eventual consistency), обмежені можливості для складних запитів, потрібна експертиза.
Stream Processing
Apache Kafka: Distributed streaming platform для публікації та підписки на потоки даних. Високий throughput, fault-tolerant.
Apache Flink: Stream processing framework з підтримкою batch. Низька latency, висока throughput.
Spark Streaming: Stream processing в Spark. Мікро-батчі для обробки потоків.
Застосування: Real-time аналітика, обробка подій, моніторинг, alerting, real-time рекомендації.
📊 Архітектури обробки
Lambda Architecture
Концепція: Комбінує batch та stream processing. Batch layer (точність), Speed layer (low latency), Serving layer (об'єднання).
Переваги: Балансує точність та швидкість, fault-tolerant, масштабується.
Недоліки: Складна архітектура, подвійна обробка, підтримка двох систем.
Kappa Architecture
Концепція: Тільки stream processing. Всі дані обробляються як потоки, batch = replay stream.
Переваги: Простіша архітектура, одна система обробки, менше коду для підтримки.
Недоліки: Вимагає швидкої stream processing системи, можливі проблеми з реплей.
Data Lake vs Data Warehouse
Data Lake: Сховище всіх даних у нативному форматі. Гнучкість, масштабованість, підтримка різних форматів.
Data Warehouse: Структуроване сховище для аналізу. Оптимізоване для SQL запитів, швидкий доступ.
Вибір: Data Lake для експериментів та різноманітних даних, Data Warehouse для структурованої аналітики.
📚 Практичні приклади та гайди
Приклад 1: Налаштування Spark кластера
Інфраструктура: Налаштувати кластер (standalone, YARN, Mesos, або Kubernetes). Визначити кількість вузлів та ресурси.
Конфігурація: Налаштувати Spark (пам'ять, cores, партиції). Оптимізувати для ваших workloads.
Дані: Завантажити дані в HDFS або S3. Використати ефективні формати (Parquet).
Обробка: Написати Spark job (Python/Scala). Використати RDD або DataFrame API.
Моніторинг: Використати Spark UI для моніторингу jobs, виявлення bottlenecks.
Приклад 2: Створення ETL pipeline
Extract: Зібрати дані з різних джерел (бази даних, APIs, файли). Використати connectors.
Transform: Очистити, обробити, агрегувати дані. Використати Spark для обробки.
Load: Завантажити оброблені дані в Data Warehouse або Data Lake.
Оркестрація: Використати Airflow для автоматизації pipeline, налаштувати розклад.
Моніторинг: Відстежувати успішність, обробляти помилки, налаштувати алерти.
© 2025 Науковий Симулятор. Всі права захищені.
Big Data: обробка масивних наборів даних
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Dimensionality Reduction: PCA, t-SNE & UMAP і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Dimensionality Reduction: PCA, t-SNE & UMAP