Тип работы:
Предмет:
Язык работы:


Реализация алгоритма поиска UCC в рамках платформы Desbordante

Работа №143026

Тип работы

Дипломные работы, ВКР

Предмет

математика

Объем работы34
Год сдачи2023
Стоимость4600 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
53
Не подходит работа?

Узнай цену на написание


Введение 4
1. Постановка задачи 6
2. Обзор 7
2.1. Поиск UCC 7
2.2. Алгоритм HyUCC 10
2.3. Платформа Desbordante 13
3. Реализация 16
3.1. Обычная версия HyUCC 16
3.2. Модифицированная версия HyUCC 20
4. Эксперименты 22
4.1. Методология 22
4.2. Экспериментальное исследование реализаций 24
Заключение 29
Список литературы 30

Профилирование данных — это процесс анализа данных, направленный на извлечение метаданных [1]. Его можно разделить на два типа: ненаукоёмкое и наукоёмкое [8]. Профилирование первого типа включает в себя поиск таких метаданных как, например, время создания данных и их авторство. Второй тип направлен на выявление такой гораздо более содержательной информации, как закономерности в данных. Анализируемые данные можно классифицировать на основе логической модели данных, к которой они относятся: графовые, табличные, транзакционные, пространственные и т. д. [3]. Модель данных определяет подходы, которые используются в алгоритмах поиска закономерностей. В данной работе будем рассматривать только табличные данные.
Существует множество способов формализации понятия закономерностей в табличных данных [4,5]. Одним из примеров такой формализации являются хорошо известные функциональные зависимости [11]. Такие формальные описания будем называть примитивами или просто зависимостями. Информация о закономерностях в данных используется для решения таких прикладных задач, как очистка данных (data cleaning), исследование данных (data exploration), реверс-инжиниринг баз данных (database reverse engineering) и оптимизация запросов в системах управления базами данных [1,15]. Поэтому были разработаны и продолжают разрабатываться алгоритмы автоматического поиска зависимостей.
Другим примером закономерности в табличных данных является уникальная комбинация колонок (Unique Column Combination, UCC) — набор атрибутов таблицы, проекция по которым не имеет одинаковых кортежей. UCC называется минимальной, если никакое подмножество ее атрибутов не является UCC. Важным свойством UCC является то, что уникальность комбинации колонок сохраняется при добавлении в неё любых других колонок. Это означает, что при автоматическим поиске UCC, достаточно находить только минимальные. Информация о том, какие комбинации колонок являются уникальными, необходима для решения таких задач, как сопоставление схем (schema matching) [19] или интеграция данных (data integration) [22]. Однако такая информация не всегда доступна, поэтому возможность поиска минимальных UCC над заданной таблицей является важной функциональностью любого профилировщика данных.
Платформа Desbordante [7] является наукоёмким профилировщиком данных с открытым исходным кодом. Она содержит алгоритмы поиска различных примитивов и предоставляет интерфейсы к ним, а также реализует сценарии решения прикладных задач анализа данных. Начальной мотивацией для создания Desbordante послужили недостатки существующей платформы Metanome [6], описанные в работе [8]. К ним относятся, например, не самая оптимальная производительность из-за использования Java в качестве основного языка программирования и отсутствие дружественных к пользователю интерфейсов. Более того, в Metanome алгоритмы поиска примитивов изолированы от реальных задач, то есть платформа не предоставляет ничего кроме самих алгоритмов, что уменьшает ее эффективность в применении к индустриальным задачам. Поэтому одной из целей Desbordante является предоставление возможностей по решению прикладных задач с помощью этих алгоритмов. В данный момент Desbordante активно развивается и нуждается в расширении набора поддерживаемых примитивов, в том числе в поддержке UCC. Это послужило мотивацией для задачи разработки высокопроизводительного алгоритма поиска уникальных комбинаций колонок, поставленной перед автором данной работы.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе работы были достигнуты следующие результаты.
1. Выполнен обзор существующих подходов к автоматическому поиску UCC и выбран один из наиболее эффективных алгоритмов поиска — HyUCC. С целью переиспользования имеющегося кода изучен алгоритм поиска функциональных зависимостей HyFD, как алгоритм того же класса, что и HyUCC, и его реализация в Desbordante.
2. Алгоритм HyUCC реализован для платформы Desbordante (C++). Созданы интерфейсы, общие для любых алгоритмов поиска UCC, модуль тестирования и интерфейс к HyUCC для взаимодействия через Python. При реализации были выделены в отдельные модули и переиспользованы общие части HyUCC и HyFD.
3. С помощью профилирования найдены узкие места и реализована модифицированная версия алгоритма с использованием многопоточности.
4. В рамках экспериментов использованы синтетические и реальные наборы данных, применявшиеся авторами Metanome. Были выявлены следующие факты:
• обычная версия HyUCC, реализованная в платформе Desbordante, в среднем в 21 раз эффективнее реализации в Metanome;
• модифицированная версия алгоритма в среднем в 2.5 раз эффективнее обычной реализации в платформе Desbordante, и в 17 раз — параллельной версии в Metanome;
• модифицированная версия алгоритма потребляет в десять раз меньше памяти, чем многопоточная реализация в Metanome.
Код реализации открыт и доступен в репозитории4.
4https://github.com/Mstrutov/Desbordante



[1] Abedjan Ziawasch, Golab Lukasz, Naumann Felix. Profiling Relational Data: A Survey // The VLDB Journal.— 2015. — aug.— Vol. 24, no. 4.— P. 557-581.— URL: https://doi.org/10.1007/ s00778-015-0389-y.
[2] Abedjan Ziawasch, Naumann Felix. Advancing the Discovery of Unique Column Combinations // Proceedings of the 20th ACM International Conference on Information and Knowledge Management. — CIKM ’11. — New York, NY, USA : Association for Computing Machinery, 2011.— P. 1565-1570. — URL: https://doi.org/10.1145/2063576.2063801.
[3] Aggarwal Charu C. Data Mining: The Textbook. — Springer Publishing Company, Incorporated, 2015.--ISBN: 3319141414.
[4] Caruccio Loredana, Deufemia Vincenzo, Polese Giuseppe. Relaxed Functional Dependencies—A Survey of Approaches // IEEE Transactions on Knowledge and Data Engineering. — 2016. — Vol. 28, no. 1. — P. 147-165.
[5] Data Dependencies Extended for Variety and Veracity: A Family Tree / Shaoxu Song, Fei Gao, Ruihong Huang, Chaokun Wang // IEEE Transactions on Knowledge and Data Engineering. — 2022. — Vol. 34, no. 10.-- P. 4717-4736.
[6] Data Profiling with Metanome / Thorsten Papenbrock,
Tanja Bergmann, Moritz Finke et al. // Proc. VLDB En
dow. — 2015. —aug. — Vol. 8, no. 12.-- P. 1860-1863.-- URL: https://doi.org/10.14778/2824032.2824086.
[7] Desbordante: a Framework for Exploring Limits of Dependency Discovery Algorithms / Maxim Strutovskiy, Nikita Bobrov, Kirill Smirnov, George A. Chernishev // 29th Conference of Open Innovations Association, FRUCT 2021, Tampere, Finland, May 12-14, 2021. — IEEE, 2021.— P. 344-354.— URL: https://doi.org/10.23919/ FRUCT52173.2021.9435469.
[8] Chernishev George, Polyntsov Michael, Chizhov Anton et al. Desbordante: from benchmarking suite to high-performance science-intensive data profiler (preprint). — 2023. — 2301.05965.
[9] Discovering All Most Specific Sentences / Dimitrios Gunopulos, Roni Khardon, Heikki Mannila et al. // ACM Trans. Database Syst.— 2003.—jun.— Vol. 28, no. 2.— P. 140-174.— URL: https: //doi.org/10.1145/777943.777945.
[10] Flach Peter A., Savnik Iztok. Database Dependency Discovery: A Machine Learning Approach // AI Commun. — 1999. — aug. — Vol. 12, no. 3. — P. 139-160.
[11] Functional Dependency Discovery: An Experimental Evaluation of Seven Algorithms / Thorsten Papenbrock, Jens Ehrlich, Jan- nik Marten et al. // Proc. VLDB Endow.— 2015.—jun.— Vol. 8, no. 10. — P. 1082-1093. — URL: https://doi.org/10.14778/2794367. 2794377.
[12] GORDIAN: Efficient and Scalable Discovery of Composite Keys / Yannis Sismanis, Paul Brown, Peter J. Haas, Berthold Reinwald // Proceedings of the 32nd International Conference on Very Large Data Bases. - VLDB ’06. - VLDB Endowment, 2006. - P. 691-702.
[13] Giannella C., Wyss C.M. Finding Minimal Keys in a Relation Instance. — 1999.
[14] Hitting Set Enumeration with Partial Information for Unique Column Combination Discovery / Johann Birnick, Thomas Blasius, Tobias Friedrich et al. // Proc. VLDB Endow. - 2020. - jul. - Vol. 13, no. 12. — P. 2270-2283. — URL: https://doi.org/10.14778/3407790. 3407824.
[15] Ilyas Ihab F., Chu Xu. Data Cleaning.— New York, NY, USA : Association for Computing Machinery, 2019. — ISBN: 978-1-4503-71520...22


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ