Введение 3
1 Процесс анализа больших данных 6
1.1 Роль больших данных в развитии Data Science 6
1.2 Понятие и особенности больших данных 13
1.3 Процесс Big Data 16
2 Архитектуры построения систем хранения и анализа больших данных 20
2.1 Виды архитектурных решений больших данных 20
2.2 Экосистема больших данных 24
2.3 Обобщенная архитектура систем хранения и анализа больших данных 26
2.4 Виды и области применения NoSQL баз данных 33
2.4.1 Столбцовые БД 37
2.4.2 NoSQL базы данных «ключ-значение» 38
2.4.3 Документальные NoSQL базы данных 38
2.4.4 Графовые NoSQL базы данных 39
2.5 Дистрибутивы для развертывания систем хранения и анализа больших
данных 40
3 Алгоритмы систем хранения и анализа больших данных 44
3.1 Методы получения, обработки и анализа больших данных 45
3.2 Способы и технологии получения больших данных 48
3.2.1 Вэб-скрепинг 51
3.2.2 Веб-сканирование 52
3.2.3 Доступ к данным через API Интернет ресурсов 57
3.3 Очистка данных 65
3.4 Загрузка данных в систему хранения и анализа больших данных 73
Заключение 77
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 79
Приложение А Код веб-скрепинга 86
Приложение Б Код веб-сканера 87
Приложение В Код просмотра набора данных портала открытых данных РФ . 90
Приложение Г Код загрузки набора данных с портала открытых данных РФ .. 91
Приложение Д Код приложений для анализа и чтения CSV файлов 93
Большие данные - это общий термин для любого набора наборов данных, настолько больших или сложных, что становится трудно обрабатывать их с использованием традиционных методов управления данными, таких как, системы управления реляционными базами данных. Долгое время реляционные системы управления базами данных (РСУБД) считались универсальным решением, но экспоненциально растущие объемы, скорость и неоднородность данных показали непригодность РСУБД для использования в системах хранения и анализа больших данных. Наука о данных предполагает использование методов для анализа огромных объемов данных и извлечения содержащихся в них знаний.
В соответствии с национальной программой «Цифровая экономика Российской Федерации» количество опорных центров обработки данных должно быть увеличено с двух в 2018 году к восьми в 2024 [1, 2]. Общий объем финансирования программы составляет 1634,9 млрд. руб. Выполнение указанной программы основано на структуре из шести федеральных проектов, среди которых присутствуют следующие:
• Информационная инфраструктура;
• Информационная безопасность;
• Цифровые технологии;
• Цифровое государственное управление.
В соответствии с паспортами указанных проектов предполагается значительное увеличение объемов хранимых и анализируемых данных.
Тольяттинский государственный университет в 2018 году включён в перечень организаций, рекомендованных для присвоения статуса Федеральной инновационной площадки. Проект «Умный университет», предложенный ТГУ, признан одним из наиболее значимых инновационных образовательных проектов в 2018 году и предполагает цифровую трансформацию процессов вуза [62]. Кроме того, программа трансформации университета предусматривает широкое внедрение цифровых технологий и становление ТГУ как цифрового университета. Однако, в университете отсутствует достаточный опыт практического использования технологий хранения и анализа больших данных.
Таким образом, актуальность магистерской работы обусловлена необходимостью апробации технологий и систем хранения и анализа больших данных.
Объектом исследования процессы хранения и анализа больших данных.
Предметом исследования является системы хранения и анализа больших данных.
Целью работы является апробация этапов доступа, очистки и загрузки в системы хранения и анализа больших данных и выдача практических рекомендаций по реализации указанных этапов.
Для достижения поставленной цели были выделены следующие задачи:
• проанализировать процесс анализа и хранения больших данных;
• проанализировать подходы к построению систем хранения и анализа больших данных;
• провести исследование способов выполнения этапов доступа, очистки и загрузки данных с использованием Java технологий;
• дать практические рекомендации по реализации и выполнению этапов доступа, очистки и загрузки в систему хранения и анализа больших данных с использованием Java технологий.
Методы исследования. В процессе исследования были использованы следующие методы: методы системного анализа, экспертной оценки, методы объектно-ориентированного анализа и проектирования.
Новизна исследования заключается в разработке практических рекомендаций по реализации этапов доступа, очистки и загрузки данных в систему хранения и анализа больших данных.
Практическая значимость исследования заключается в возможности практического применения апробированных технологий хранения и анализа больших данных.
Теоретической основой диссертационного исследования являются научные труды российских и зарубежных ученых, занимающихся проблемами хранения и анализа больших данных.
На защиту выносятся:
• результаты анализа способов построения систем хранения и анализа больших данных;
• результаты апробации реализации этапов доступа, очистки и загрузки в системы хранения и анализа больших данных.
Публикации. По результатам проведённого исследования подготовлена к печати научная статья.
Диссертация состоит из введения, трех разделов, заключения, списка используемой литературы и приложений.
В первом разделе проанализирована актуальность применения технологий хранения и анализа больших данных. Описаны и проанализированы особенные характеристики больших данных. Рассмотрен процесс Data Science применительно к большим данным.
Во втором разделе выполнен анализ архитектурных и программных решений при построении систем хранения и анализа больших данных. Произведены обзор и анализ применимости NoSQL баз данных.
Третий раздел посвящена апробации использования стандартных и сторонних библиотек языка Java при реализации этапов доступа, очистки и загрузки в системы хранения и анализа больших данных.
В заключении приводятся результаты исследования.
Работа изложена на 86 страницах, включает 44 рисунка и 5 приложений.
Магистерская диссертация выполнена по заданию Центра IT Student Тольяттинского государственного университета.
Целью магистерской диссертации является разработка практических рекомендаций по построению систем хранения и анализа больших данных, а также по выполнению первых этапов процесса Data Science: доступа, очистки и загрузки.
Выполненные в работе научные исследования представлены следующими основными результатами:
1. Проведен анализ архитектур построения систем хранения и анализа больших данных. Показано, что на начальных этапах целесообразно использовать дистрибутивы для развертывания рассматриваемых систем с учетом пакетной или потоковой обработки данных.
2. Произведен обзор применимости четырех видов NoSQL баз данных. Рассмотрены области их применимости.
3. С использованием стандартных и сторонних Java библиотек апробированы методы веб-сканирования и веб-скрепинга, как дополнительные методы получения внешних данных.
4. Апробирован доступ к российским Интернет источникам открытых данных с использованием JSON и CSV технологий. Разработаны алгоритмы получения информации об открытых наборах данных, скачивания наборов и их очистки.
5. Апробированы два способа загрузки данных в распределенную файловую систему Hadoop системы хранения и анализа больших данных, развернутой на основе Hortonworks HDP.
Исследованный комплекс технологий, алгоритмов и их реализаций на языке Java показал свою работоспособность и возможность его применения при дальнейших исследованиях в области больших данных.
Таким образом, в представленной магистерской диссертации решена актуальная научно-практическая проблема построения системы хранения и анализа больших данных, а также решены практические вопросы работы по технологии больших данных на первых этапах процесса Data Science.
Результаты проведенного исследования имеют значимый практический интерес и могут быть использованы при проведении научных и прикладных исследований в области больших данных в Центре IT Student, в частности, и в Тольяттинском государственном опорном университете в целом.
1. Паспорт национальной программы «Цифровая экономика Российской
Федерации» [Электронный ресурс] Режим доступа:
http: //static. government.ru/media/files/urKHm0 gTPPnzJlaKw3M5 cNLo6gczMkPF. p df (дата обращения 27.06.2019).
2. Информационные материалы о национальной программе «Цифровая экономика Российской Федерации» [Электронный ресурс] - Режим доступа: http://static.government.ru/media/files/3b1AsVA1v3VziZip5VzAY8RTcLEbdCct.pd f (дата обращения 27.06.2019).
Научная и методическая литература
3. Кукарцев, В. В. Теория баз данных [Электронный ресурс] : учебник / В. В. Кукарцев, Р. Ю. Царев, О. А. Антамошкин. — Электрон. текстовые данные. — Красноярск : Сибирский федеральный университет, 2017. — 180 c. — 978-5-7638-3621-9. — Режим доступа: http: //www.iprbookshop.ru/84153. html
4. Киселева Т. В. Программная инженерия. Часть 1 [Электронный
ресурс] : учебное пособие / Т. В. Киселева. — Ставрополь : Северо-Кавказский федеральный университет, 2017. — 137 c. — Режим доступа:
http://www.iprbookshop.ru/69425.html (дата обращения 15.03.2019 г.).
Электронные ресурсы
5. Accenture. Россия. Инновации в действии. [Электронный ресурс] - Режим доступа: https: //www.accenture.com/ru-ru (дата обращения 27.05.2019 г.).
6. Amazon DynamoDB [Электронный ресурс] - Режим доступа:
https://aws.amazon.com/ru/dynamodb/ (дата обращения 27.05.2019 г.).
7. Analytics Comes of Age. [Электронный ресурс] - Режим доступа: https://www.mckinsey.com/~/media/McKinsey/Business%20Functions/McKinsey%2 0Analytics/Our%20Insights/Analytics%20comes%20of%20age/Analytics-comes-of- age.ashx (дата обращения 27.05.2019 г.).
8. Apache Cassandra. [Электронный ресурс] - Режим доступа:
http://cassandra.apache.org/ (дата обращения 27.05.2019 г.).
9. Apache CouchDB. [Электронный ресурс] - Режим доступа:
http://couchdb.apache.org/ (дата обращения 27.05.2019 г.).
10. Apache HBase - Apache HBase™ Home. [Электронный ресурс] - Режим доступа: https: //hbase.apache.org/ (дата обращения 27.05.2019 г.).
11. ArangoDB: Multi-model highly available NoSQL database. [Электронный
ресурс] - Режим доступа: https://www.arangodb.com/ (дата обращения
27.05.2019 г.).
12. Azure Cosmos DB. Мультимодельная, глобально распределенная служба базы данных для любого масштаба [Электронный ресурс] - Режим доступа: https://azure.microsoft.com/ru-ru/services/cosmos-db/ (дата обращения 27.05.2019 г.).
13. Biehn Neil. The Missing V’s in Big Data: Viability and Value / Neil Biehn.
[Электронный ресурс] - Режим доступа:
https://www.wired.com/insights/2013/05/the-missing-vs-in-big-data-viability-and- value/ (дата обращения 27.05.2019 г.).
14. Big Data Analytics Landscape 2019. [Электронный ресурс] - Режим доступа: https://www.learnbigdatatools.com/big-data-analytics-landscape-2019 (дата обращения 27.05.2019 г.).
15. Big Data Executive Survey 2017. Executive Summary of Findings.
[Электронный ресурс] - Режим доступа: http ://newvantage. com/wp-
content/uploads/2017/01/Big-Data-Executive-Survey-2017 -Executive- Summary.pdf (дата обращения 27.05.2019 г.).
16. Bigtable - Scalable NoSQL Database Service. [Электронный ресурс] - Режим доступа: https://cloud.google.com/bigtable/ (дата обращения 27.05.2019 г.).
17. ClickHouse. [Электронный ресурс] - Режим доступа:
https://github.com/yandex/ClickHouse/releases (дата обращения 27.05.2019 г.).
18. Cloudera CDH. [Электронный ресурс] - Режим доступа:
https://www.cloudera.com/products/open-source/apache-hadoop/key-cdh- components.html (дата обращения 27.05.2019 г.).
19. Columbus L. 10 Charts That Will Change Your Perspective Of Big Data's
Growth / Louis Columbus. [Электронный ресурс] - Режим доступа:
https://www.forbes.com/sites/louiscolumbus/2018/05/23/10-charts-that-will-change- your-perspective-of-big-datas-growth/#432b11a29268 (дата обращения 27.05.2019 г.).
20. Data sets - Data.gov [Электронный ресурс] - Режим доступа:
http://catalog.data.gov/dataset (дата обращения 27.05.2019 г.).
21. Data.gov.ru | открытые данные России [Электронный ресурс] - Режим доступа: https://data.gov.ru/ (дата обращения 27.05.2019 г.).
22. DB-Engines Ranking [Электронный ресурс] - Режим доступа:
https://db-engines.com/en/ranking (дата обращения 27.05.2019 г.).
23. Elasticity (cloud computing). From Wikipedia, the free encyclopedia.
[Электронный ресурс] - Режим доступа:
https://en.wikipedia.org/wiki/Elasticity(cloud computing) (дата обращения
27.05.2019 г.).
24. European Data Portal [Электронный ресурс] - Режим доступа:
https://www.europeandataportal.eu/ (дата обращения 27.05.2019 г.).
25. Generate data. [Электронный ресурс] - Режим доступа:
http: //www.generatedata.com/ (дата обращения 27.05.2019 г.).
26. Get Started with Hortonworks Sandbox [Электронный ресурс] - Режим
доступа: https://www.cloudera.com/downloads/hortonworks-sandbox.html#install
(дата обращения 27.05.2019 г.).
27. Global Market Research Reports Company. Statistic MRC. [Электронный ресурс] - Режим доступа: https: //www.strate gymrc.com (дата обращения 27.05.2019 г.).
28. Greenfield D. How Technology and People Are Steering Manufacturing's Future David Greenfield / David Greenfield [Электронный ресурс] - Режим
доступа: https: //www.automationworld.com/how-technolo gy-and-people-are-
steering-manufacturings-future (дата обращения 27.05.2019 г.).
29. Hadoop. [Электронный ресурс] - Режим доступа:
https://ru.wikipedia.org/wiki/Hadoop (дата обращения 27.05.2019 г.).
30. HDFS shell [Электронный ресурс] - Режим доступа:
https://github.com/avast/hdfs-shell (дата обращения 27.05.2019 г.).
31. HDInsight. Простая экономичная служба аналитики корпоративного
уровня с открытым кодом. [Электронный ресурс] - Режим доступа:
https://azure.microsoft.com/ru-ru/services/hdinsight/ (дата обращения 27.05.2019 г.).
32. Home - Wikibon research. [Электронный ресурс] - Режим доступа: https://wikibon.com/ (дата обращения 27.05.2019 г.).
33. Hypertable [Электронный ресурс] - Режим доступа:
http://www.hypertable.org/ (дата обращения 27.05.2019 г.).
34. IMF DATA. [Электронный ресурс] - Режим доступа:
https://www.imf.org/en/Data (дата обращения 27.05.2019 г.).
35. Lambda architecture. From Wikipedia, the free encyclopedia.
[Электронный ресурс] - Режим доступа:
https: //en.wikipedia. org/wiki/Lambda architecture (дата обращения 27.05.2019 г.).
36. MapR Converged Data Platform. [Электронный ресурс] - Режим
доступа: https://mapr.com/datasheets/mapr-converged-data-platform/ (дата
обращения 27.05.2019 г.).
37. Marr Bernard. Big Data And AI: 30 Amazing (And Free) Public Data Sources For. / Bernard Marr 2018 [Электронный ресурс] - Режим доступа: https://www.forbes.com/sites/bernardmarr/2018/02/26/big-data-and-ai-30-amazing- and-free-public-data-sources-for-2018/#57d218e05f8a (дата обращения 27.05.2019 г.).
38. McNulty Eileen. Understanding Big Data: The Seven V’s / Eileen
McNulty. [Электронный ресурс] - Режим доступа:
http://dataconomy.com/2014/05/seven-vs-big-data/ (дата обращения 27.05.2019 г.).
39. Memcached - a distributed memory object caching system. [Электронный ресурс] - Режим доступа: https://memcached.org/ (дата обращения 27.05.2019 г.).
40. Min Chen, Shiwen Mao, Yin Zhang, Victor C.M. Leung. Big Data. Related
Technologies, Challenges, and Future Prospects. - Spinger, 2014. - [Электронный ресурс] - Режим доступа: http://lab.ilkom.unila.ac.id/ebook/e-
books%20Big%20Data/2014%20Big%20Data%20Related%20Technologies,%20Ch allenges%20and%20Future%20Prospects.pdf (дата обращения 27.05.2019 г.).
41. MongoDB: The most popular database for modern apps. [Электронный ресурс] - Режим доступа: https: //www. mongodb .com/ (дата обращения 27.05.2019 г.).
42. Neo4j Graph Platform - The Leader in Graph Databases. [Электронный ресурс] - Режим доступа: https://neo4j.com/ (дата обращения 27.05.2019 г.).
43. Open Source Search & Analytics Elasticsearch. [Электронный ресурс] - Режим доступа: https://www.elastic.co/ (дата обращения 27.05.2019 г.).
44. OpenCSV. [Электронный ресурс] - Режим доступа:
http://opencsv.sourceforge.net (дата обращения 27.05.2019 г.).
45. OpenLink Virtuoso Universal Server. [Электронный ресурс] - Режим доступа: https://virtuoso.openlinksw.com/ (дата обращения 27.05.2019 г.).
46. OrientDB: Graph Database | Multi-Model Database. [Электронный ресурс] - Режим доступа: https://orientdb.com/ (дата обращения 27.05.2019 г.).
47. Reddis. [Электронный ресурс] - Режим доступа: https://redis.io/ (дата обращения 27.05.2019 г.).
48. Tech pundits' tenuous but intriguing prognostications about 2016 and
beyond. The Economist. [Электронный ресурс] - Режим доступа:
https://www. economist. com/business/2015/12/31 /tech-pundits-tenuous-but- intriguing-prognostications-about-2016-and-beyond (дата обращения 11.05.2019 г.).
49. Third platform. From Wikipedia, the free encyclopedia. [Электронный
ресурс] - Режим доступа: https://en.wikipedia.org/wiki/Third platform (дата
обращения 27.05.2019 г.).
50. Vaseekaran Gowthamy. Big Data Battle: Batch Processing vs Stream Processing / Gowthamy Vaseekaran [Электронный ресурс] - Режим доступа: https://medium.com/@gowthamy/big-data-battle-batch-processing-vs-stream- processing-5d94600d8103 (дата обращения 27.05.2019 г.).
51. World Bank Open Data. Free and open access to global development data
[Электронный ресурс] - Режим доступа: https: //data. worldbank.org/ (дата
обращения 27.05.2019 г.).
52. Большие данные - Википедиа. [Электронный ресурс] - Режим
доступа: https://ru.wikipedia.org/wiki/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0 %B8%D0%B5%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5 (дата
обращения 27.05.2019 г.).
53. Большие данные (Big Data). [Электронный ресурс] - Режим доступа:
http://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C% D1 %8F: %D0%91 %D0%BE%D0%BB%D 1 %8C%D 1 %88%D0%B8%D0%B5%D0 %B4%D0%B0%D0%BD%D0%BD%D 1 %8B%D0%B5(Big Data) (дата
обращения 27.05.2019 г.).
54. Бородаенко В., Ермаков А. Универсальная платформа обработки
больших данных / Виктор Бородаенко, Александр Ермаков // «Открытые системы. СУБД» 2017, № 03 [Электронный ресурс] - Режим доступа:
https://www.osp.ru/os/2017/03/13052699/ (дата обращения 27.05.2019 г.).
55. Мейер Б. Объектно-ориентированное программирование и
программная инженерия [Электронный ресурс] / Б. Мейер. — М. : Интернет- Университет Информационных Технологий (ИНТУИТ), Ай Пи Эр Медиа, 2019. — 285 c. — Режим доступа: http://www.iprbookshop.ru/79706.html (дата
обращения 15.03.2019 г.).
56. Мэрия Москвы купила у сотовых операторов данные о перемещении
жителей. [Электронный ресурс] - Режим доступа:
https://sobesednik.ru/tehnologii/20190304-meriya-moskvy-kupila-u-sotovyh- operatorov-dannye-o-peremeshenii-zhitelej (дата обращения 27.05.2019 г.).
57. Открытые данные Росстата [Электронный ресурс] - Режим доступа: http: //www.gks .ru/opendata/ (дата обращения 27.05.2019 г.).
58. Открытые данные ФНС России [Электронный ресурс] - Режим
доступа: https: //www.nalog.ru/opendata/ (дата обращения 27.05.2019 г.).
59. Портал открытых данных правительства Москвы [Электронный ресурс] - Режим доступа: https://data.mos.ru/ (дата обращения 27.05.2019 г.).
60. Правила и рекомендации. Открытые данные России. [Электронный ресурс] - Режим доступа: https: //data.gov.ru/pravila-i-rekomendacii (дата обращения 27.05.2019 г.).
61. Сайт аналитической компании IDC [Электронный ресурс] - Режим доступа: http://idc.com (дата обращения 15.03.2019 г.).
62. Тольяттинский государственный опорный университет. Официальный сайт. [Электронный ресурс] - Режим доступа: https://www.tltsu.ru (дата обращения 27.05.2019 г.).
Литература на иностранном языке
63. Cielen D., Meysman A., Ali M. Introducing data science: big data, machine learning, and more, using Python tools. - Manning Publications Co., 2016.
64. Erik Meijer. The world according to linq. Communications of the ACM, 54(10):45-51, 2011.
65. Larman C. “Applying UML and patterns: An Introduction to Object- Oriented Analysis and Design and Iterative Development”, (New Jersey: Prentice Hall), 2004, p. 736.
66. Mehta R. Big Data Analytics with Java / R. Mehta. Packt Publishing, 2017. - 418 C.
67. Olive A. “Conceptual Modeling of Information Systems”, 2007.
68. Paul Zikopoulos, Chris Eaton, et al. Understanding big data: Analytics for enterprise class hadoop and streaming data. McGraw-Hill Osborne Media, 2011.
69. Sawant N., Shah H. Big Data Application Architecture //Big data Application Architecture Q & A. - Apress, Berkeley, CA, 2013. - С. 9-28.