title: Implementation of inclusion dependency discovery algorithm on Desbordante platform
metadata.name: dc.contributor.advisor
metadata.value: Смирнов Кирилл Константинович
metadata.lang: ru_RU
metadata.name: dc.contributor.advisor
metadata.value: Smirnov Kirill Konstantinovic
metadata.lang: en_GB
metadata.name: dc.contributor.author
metadata.value: Смирнов Александр Андреевич
metadata.lang: ru_RU
metadata.name: dc.contributor.author
metadata.value: Smirnov Aleksandr Andreevic
metadata.lang: en_GB
metadata.name: dc.contributor.editor
metadata.value: Михайлова Елена Георгиевна
metadata.lang: ru_RU
metadata.name: dc.contributor.editor
metadata.value: Mihajlova Elena Georgievna
metadata.lang: en_GB
metadata.name: dc.date.accessioned
metadata.value: 2023-07-26T12:45:01Z
metadata.lang: -
metadata.name: dc.date.available
metadata.value: 2023-07-26T12:45:01Z
metadata.lang: -
metadata.name: dc.date.issued
metadata.value: 2023
metadata.name: dc.identifier.other
metadata.value: 077328
metadata.lang: en_GB
metadata.name: dc.identifier.uri
metadata.value: http://hdl.handle.net/11701/42845
metadata.lang: -
metadata.name: dc.description.abstract
metadata.value: Зависимость включения --- одна из закономерностей, которые могут удерживаться между столбцами таблицы. Задача поиска таких закономерностей в данных широко известна как среди ученых, так и в индустриальной среде. Эта задача алгоритмически сложная, и для её решения были разработаны различные алгоритмы. Однако исследования в этом направлении в большей степени изучают только алгоритмическую составляющую, не акцентируя внимание на деталях реализации.
  В даннной работе предложен подход к эффективной реализации алгорима Faida --  приближенного алгоритма поиска зависимостей включения. В подходе применяются четыре оптимизации: подбор хеш-таблицы, буферизация, SIMD-вычисления и распраллеливание.
  Чтобы выяснить, как предложенные оптимизации влияют на производительность, алгоритм был реализован на C++ в рамках Desbordante --- профайлера данных с открытым исходным кодом. Эксперименты показали, что все оптимизации улучшают производительность. Также было проведено сравнение с существующей Java-реализацией алгоритма из Metanome. Было выяснено, что оптимизированная C++-версия работает в среднем в 3.7 раз быстрее Java-версии.
metadata.lang: ru_RU
metadata.name: dc.description.abstract
metadata.value: Inclusion dependency is a relation between attributes of tables that indicates possible Primary Key--Foreign Key references. Automatic discovery of inclusion dependencies is a relevant problem for both academic and industrial communities. The core concern for this problem is the efficiency of discovery process since it is a computationally expensive task. However, existing studies only address the algorithmic side, while leaving out the implementation aspect. At the same time, engineering details are at least as important as the algorithmic ones for achieving good performance.
  In this work the techniques for efficient implementation of the Faida algorithm for discovery of inclusion dependencies has been described. Faida is the state-of-the-art approximate algorithm, which has been approached by applying four types of optimizations: data buffering, SIMD-enabled execution, careful hash-table selection and parallelization.
  In order to experimentally evaluate proposed techniques, Faida have been implemented in Desbordante --- an open-source science-intensive data profiler written in C++. It has been demonstrated that all optimization techniques yield results. The implementation has been also compared with Metanome --- a Java-based data profiler. Overall, in terms of run time reduction the 3.7x on average improvement has been achieved.
metadata.lang: en_GB
metadata.name: dc.language.iso
metadata.value: ru
metadata.name: dc.subject
metadata.value: зависимости включения
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: ограничения целостности
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: профилирование данных
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: извлечение знаний
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: проектирование алгоритмов
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: inclusion dependency
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: database constraints
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: data profiling
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: knowledge discovery
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: algorithm design
metadata.lang: en_GB
metadata.name: dc.title
metadata.value: Implementation of inclusion dependency discovery algorithm on Desbordante platform
metadata.lang: en_GB
metadata.name: dc.title.alternative
metadata.value: Реализация алгоритма для поиска зависимостей включения в рамках платформы Desbordante
metadata.lang: ru_RU
resources.filename: diploma.pdf
resources.url: https://dspace.spbu.ru/bitstream/11701/42845/2/diploma.pdf
resources.format: Adobe PDF
resources.description: Article
resources.size: 306,31 kB
resources.filename: reviewSV_st077328_Smirnov_Aleksandr_Andreevic_(supervisor)(Ru).txt
resources.url: https://dspace.spbu.ru/bitstream/11701/42845/3/reviewSV_st077328_Smirnov_Aleksandr_Andreevic_%28supervisor%29%28Ru%29.txt
resources.format: Text
resources.description: ReviewSV
resources.size: 4,77 kB