Разработка программного комплекса для управления базой данных в поисковом сервисе с применением организационных систем
Authors: Пекишев Д.В. , Коваленко А.В. 
Published: February 2025

В статье рассмотрена реализация системы управления базой данных, которая интересна тем, что позволяет производить быстрый поиск по статичным и неизменяемым данным, в том числе при большом объеме этих данных. Для получения результатов были с нуля разработаны программы для обработки и унификации файлов, их объединения и индексирования, а также для поиска по проиндексированным данным. Использованы методы распараллеливания, бинарного поиска, интерполяционного поиска, mmap-отображения, кластеризации, кэширования, прямой и обратной индексации, слияния, LZ-архивирования и B-деревьев. Была создана поисковая система, позволяющая выполнять тысячи поисковых запросов в секунду и работать с базами данных, размером в несколько терабайт. Актуальность исследования обусловлена необходимостью выполнения большого числа операций поиска по большим массивам данных. В связи с этим данная статья направлена на раскрытие и реализацию наиболее эффективных механизмов такого поиска. Ведущим подходом к исследованию данной проблемы является практическая реализация различных поисковых алгоритмов и их дальнейшая оптимизация для получения наиболее быстрых методов поиска. Представлены готовые алгоритмы обработки данных и дальнейших методов поиска по ним. Материалы статьи представляют собой практическую ценность для специалистов, решающих задачи, связанные с большими данными и выполняющие поисковые запросы по ним. В настоящее время такая разработка по усовершенствованию баз данных необходима из-за постоянно увеличивающегося потока цифровой информации, которую надо правильно собирать, обрабатывать, анализировать и хранить.
The article discusses the implementation of a database management system, which is interesting because it allows for fast searches of static and unchangeable data, including large volumes of this data. To obtain the results, programs for processing and unifying files, combining and indexing them, as well as for searching by indexed data were developed from scratch. The methods of parallelization, binary search, interpolation search, mmap-mapping, clustering, caching, direct and reverse indexing, merging, LZ archiving and B-trees were used. A search engine was created that allows performing thousands of search queries per second and working with databases of several terabytes in size. The relevance of the study is due to the need to perform a large number of search operations on large arrays of data. In this regard, this article is aimed at disclosing and implementing the most effective mechanisms for such a search. The leading approach to the study of this problem is the practical implementation of various search algorithms and their further optimization to obtain the fastest search methods. Ready-made algorithms for data processing and further methods of searching on them are presented. The materials of the article are of practical value for specialists solving problems related to big data and performing search queries on them. At present, such development for improving databases is necessary due to the constantly increasing flow of digital information that must be correctly collected, processed, analyzed and stored.