Русский
Русский
English
Статистика
Реклама

Сколько данных может обработать Raspberry Pi быстро

Время обработки данных в одном знакомом мне проекте энтерпрайз-хранилища данных с реляционной моделью составляет почти 6 часов. Много это или мало?

Заметка описывает эксперимент по созданию маленькой копии энтерпрайз-хранилища данных с сильно ограниченными техническими условиями. А именно, на базе одноплатного компьютера Raspberry Pi.
Модель и архитектура будут упрощёнными, но похожими на энтерпрайз-хранилище. Результатом является оценка возможности использования Raspberry Pi в области обработки и анализа данных.




1


Роль опытного и сильного игрока будет выполнять машина Exadata Х5 (один юнит) корпорации Оракл.
Процесс обработки данных включает в себя следующие шаги:

  • Чтение из файла 10,3 ГБ 350 миллионов записей за 180 минут.
  • Обработка и очистка данных 2 SQL запроса и 130 минут.
  • Загрузка измерений 10 минут.
  • Загрузка таблиц фактов 20 миллионами новых записей 5 SQL запросов и 35 минут.

Итого, интеграция 350 миллионов записей за 6 часов, что эквивалентно 990 тысячам записей в минуту, или примерно 17 тысячам записей исходных данных в секунду.

2


В роли экспериментального оппонента будет выступать Raspberry Pi 3 Model B+ с 4х-ядерным процессором 1.4 ГГц.
В качестве хранилища используется sqlite3, чтение файлов происходит с помощью PHP.

Модель данных в реляционной базе sqlite3 описана в статье о маленьком хранилище.

Тест первый


Исходный файл access.log 37 МБ с 200 тысячами записей.

  • Прочитать лог и записать в базу данных заняло 340 секунд.
  • Загрузка измерений с 5 тысячами записей длилась 5 секунд.
  • Загрузка таблиц фактов 90 тысячами новых записей 32 секунды.

Итого, интеграция 200 тысяч записей заняла почти 7 минут, что эквивалентно 28 тысячам записей в минуту, или 470 записям исходных данных в секунду. База данных занимает 7,5 МБ; всего 8 SQL запросов для обработки данных.

Тест второй


Файл более активного сайта. Исходный файл access.log 67 МБ с 290 тысячами записей.

  • Прочитать лог и записать в базу данных заняло 670 секунд.
  • Загрузка измерений с 25 тысячами записей длилась 8 секунд.
  • Загрузка таблиц фактов 240 тысячами новых записей 80 секунд.

Итого, интеграция 290 тысяч записей заняла чуть больше 12 минут, что эквивалентно 23 тысячам записей в минуту, или 380 записям исходных данных в секунду. База данных занимает 22,9 МБ

Вывод


Для получения данных в виде модели, которая позволит проводить эффективный анализ, необходимы значительные вычислительные и материальные ресурсы, и время в любом случае.
Например, один юнит Экзадаты обходится более чем в 100К. Один Raspberry Pi стоит 60 единиц.
Линейно их нельзя сравнивать, т.к. с увеличением объёмов данных и требований надёжности возникают сложности.

Однако, если представить себе случай, когда тысяча Raspberry Pi работают параллельно, то, исходя из эксперимента, они обработают около 400 тысяч записей исходных данных в секунду.
И если решение для Экзадаты оптимировать до 40 тысяч записей в секунду, то это ощутимо меньше, чем 400 тысяч. Это подтверждает внутреннее ощущение того, что цены энтерпрайз-решений завышены.

В любом случае, Raspberry Pi отлично справлятся с обработкой данных и реляционными моделями соответствующего масштаба.

Ссылка


Домашний Raspberry Pi был настроен как веб сервер. Эксперимент с его производительностью можно провести самостоятельно по адресу. Модель базы данных (DDL), процедуры загрузки (ETL) и саму базу данных можно там же скачать.
Источник: habr.com
К списку статей
Опубликовано: 02.07.2020 00:11:00
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Sql

Sqlite

Веб-аналитика

Разработка на raspberry pi

Хранилища данных

Sqlite3

Access log

Хранилище данных

Raspberry pi

Категории

Последние комментарии

© 2006-2020, personeltest.ru