EXECUTION OF SQL-LIKE QUERIES IN DISTRIBUTED HETEROGENEOUS SYSTEMS BASED ON APACHE HADOOP
Authors: Данилов А.Д. , Саввин М.О. , Карачевцев А.Е. 
Published: September 2024

современные информационные системы оперируют большим количеством разнородных (гетерогенных) данных, которые необходимо не только эффективно хранить, но и записывать с достаточной скоростью, чтобы поспевать за высокими темпами появления новой информации в многочисленных первоисточниках, которые обеспечивают систему данными. Необходимость быстрой записи и дальнейшего хранения поступающих данных привела к появлению в структуре систем обработки больших данных выделенного слоя «сырых» данных, которые зачастую имеют непостоянную и гетерогенную структуру. Хранение таких данных в классических системах управления базами данных (СУБД) в исходных объемах не только неэффективно с точки зрения стоимости памяти хранилища, но и зачастую невозможно ввиду строгих требований к структуре, которые предъявляются к записываемым данным. Для решения этих проблем появились системы хранения разнородных данных, которые предъявляют гораздо меньшие требования к качеству записываемой информации, а иногда и вовсе ее не проверяют. С другой стороны, уход от реляционных СУБД создал необходимость использования низкоуровневых движков для выполнения запросов в их исходном виде. Рассмотрена проблема написания задач в распределенной среде Hadoop и существующие для этого решения SQL-On-Hadoop. Анализ инструментов трансляции SQL-подобных запросов продемонстрировал их преимущества с точки зрения уменьшения порога входа для пользователя, которое достигается с сохранением всех сильных сторон фреймворка Hadoop, таких как механизмы репликации, отказоустойчивость и параллельное выполнение задач в распределенной среде. В заключение сделан вывод о том, какие преимущества и недостатки есть у рассмотренных инструментов и в каких сценариях лучше отдавать предпочтение каждому из них, для того чтобы строить эффективную архитектуру платформы обработки больших данных
modern information systems operate with a large amount of heterogeneous data, which must not only be stored, but also recorded at a sufficient speed to keep up with the high rates of new information appearing in numerous primary sources that provide the system with data. The need for fast recording and further storage of incoming data has led to the emergence of a dedicated layer of "raw" data in the structure of big data processing systems, which often have an unstable and heterogeneous structure. Storing such data in classical DBMS in initial volumes is not only inefficient in terms of the cost of a storage unit, but is also often impossible due to the strict structure requirements imposed on the recorded data. To solve these problems, heterogeneous data storage systems were created, which place much lower demands on the quality of recorded information, and sometimes do not check it at all. On the other hand, moving away from relational databases has created the need to use low-level engines to execute queries in their original form. In this article, the authors examined the problem of writing tasks in a distributed Hadoop environment and the existing SQL-On-Hadoop solutions for this. The analysis of SQL-like query translation tools presented in the article demonstrated their advantage in terms of reducing the user's entry threshold, which is achieved while preserving all the advantages of the Hadoop framework, such as replication mechanisms, fault tolerance and parallel task execution in a distributed environment. In conclusion, it is demonstrated what advantages and disadvantages the considered tools have and in which scenarios it is better to give preference to each of them in order to build an effective architecture of the big data processing platform