Модели процессов соединения таблиц хранилища данных по технологии MapReduce/Spark
Авторы: Пролетарская В.А., Григорьев Ю.А. | Опубликовано: 13.10.2019 |
Опубликовано в выпуске: #5(128)/2019 | |
DOI: 10.18698/0236-3933-2019-5-79-94 | |
Раздел: Информатика, вычислительная техника и управление | Рубрика: Математическое моделирование, численные методы и комплексы программ | |
Ключевые слова: Big Data, MapReduce, Apache Spark, Spark SQL, фильтр Блума, TPC-H, модели процессов, хранилище данных |
Разработана модель и получена оценка передаваемого по сети объема данных при дублировании таблицы по узлам и с использованием фильтра Блума в среде MapReduce/Spark. Созданы модели процессов выполнения запросов на соединение таблиц базы данных при каскадном использовании фильтра Блума в этой же среде. Рассмотрены два случая соединения таблиц: 1) несколько кустов с одним измерением в каждом; 2) один куст с несколькими измерениями (хранилище типа "звезда"). Получена оценка объема фильтра Блума, передаваемого по сети при соединении таблиц. На примере запроса Q3 из теста TPC-H выполнен анализ адекватности оценки выигрыша в объеме данных, передаваемых по сети при каскадном использовании фильтра Блум. Ошибка прогнозного значения составила 2 %
Литература
[1] Григорьев Ю.А., Плутенко А.Д., Плужников В.Л. и др. Теория и практика анализа параллельных систем баз данных. Владивосток, Дальнаука, 2015.
[2] Sadalage P., Fowler M. NoSQL Distilled: a brief guide to the emerging world of polyglot persistence. Addison Wesley Professional, 2013.
[3] Perkins L., Redmond E., Wilson J.R. Seven databases in seven weeks: a guide to modern databases and the NoSQL movement. Pragmatic Bookshelf, 2018.
[4] Burdakov A., Grigorev U., Ploutenko A., et al. Estimation models for NoSQL database consistency characteristics. 24th Euromicro Int. Conf. Parallel, Distributed, and Network-Based Processing (PDP), 2016, pp. 35--42. DOI: 10.1109/PDP.2016.23
[5] Aslett M. How will the database incumbents respond to NoSQL and NewSQL? Cs.brown.edu: веб-сайт. URL: http://cs.brown.edu/courses/cs227/archives/2012/papers/newsql/aslett-newsql.pdf (дата обращения: 20.03.2019).
[6] Pavlo A., Aslett M. What’s really new with NewSQL? Sigmod Rec., 2016, vol. 45, no. 2, pp. 45--55. DOI: 10.1145/3003665.3003674
[7] Dean J., Ghemawat S. MapReduce: simplified data processing on large clusters. CACM, 2008, vol. 51, iss. 1, pp. 107--113. DOI: 10.1145/1327452.1327492
[8] White T. Hadoop: The definitive guide. O’Reilly Media, 2015.
[9] Zaharia M., Clowdhury M., Franklin M.J., et al. Spark: cluster computing with working sets. Proc HotCloud, 2010, vol. 10, no. 10--10, pp. 1--7.
[10] Karau H., Konwinski A., Wendell P.,et al. Learning spark: lightning-fast big data analysis, O’Reilly Media, 2015.
[11] Karau H., Warren R. High performance Spark: best practices for scaling and optimizing Apache Spark, O’Reilly Media, 2017.
[12] Brito J.J., Mosqueiro T., Ciferri R.R., et al. Faster cloud Star Joins with reduced disk spill and network communication. Procedia Comput. Sci., 2016, vol. 80, pp. 74--85. DOI: https://doi.org/10.1016/j.procs.2016.05.299
[13] Bloom B.H. Space/time trade-offs in hash coding with allowable errors. CACM, 1970, vol. 13, iss. 7, pp. 422--426. DOI: 10.1145/362686.362692
[14] Tarkoma S., Rothenberg C.E., Lagerspetz E. Theory and practice of bloom filters for distributed systems. IEEE Commun. Surv. Tutor., 2012, vol. 14, iss. 1, pp. 131--155. DOI: 10.1109/SURV.2011.031611.00024
[15] Клеппман М. Высоконагруженные приложения. Программирование, масштабирование, поддержка. СПб., Питер, 2018.
[16] Григорьев Ю.А., Пролетарская В.А., Ермаков Е.Ю. Метод доступа к хранилищу данных по технологии SPARK с каскадным использованием фильтра Блума. Информатика и системы управления, 2017, № 1, с. 3--14.
[17] Григорьев Ю.А., Пролетарская В.А., Ермаков Е.Ю. Экспериментальная проверка эффективности метода доступа к хранилищу данных на платформе SPARK с каскадным использованием фильтра Блума. Информатика и системы управления, 2017, № 3, с. 3--16.
[18] Grigoriev Yu.A., Proletarskaya V.A., Ermakov E.Yu., et al. Efficiency analysis of the access method with the cascading Bloom filter to the data warehouse on the parallel computing platform. J. Phys.: Conf. Ser., 2017, vol. 913, no. 1, art. 012011. DOI: https://doi.org/10.1088/1742-6596/913/1/012011
[19] [SPARK-21039] [Spark Core] Use treeAggregate instead of aggregate in DataFrame.stat.bloomFilter #18263. github.com: веб-сайт. URL: https://github.com/apache/spark/pull/18263 (дата обращения: 03.04.2019).
[20] RDD.scala. github.com: веб-сайт. URL: https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/RDD.scala (дата обращения: 03.04.2019).
[21] Vavilapalli V.K., Murthy A., Douglas C., et al. Apache hadoop yarn: yet another resource negotiator. Proc. 4th ann. Symp. Cloud Computing. ACM, 2013, art. 5. DOI: 10.1145/2523616.2523633
[22] TPC-H. TPC.org: веб-сайт. URL: http://www.tpc.org/tpc_documents_current_versions/pdf/tpc-h_v2.17.2.pdf (дата обращения 03.04.2019).