📄Работа №143026

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

Характеристики работы

Тип работы Дипломные работы, ВКР
Математика
Предмет Математика
📄
Объем: 34 листов
📅
Год: 2023
👁️
Просмотров: 144
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

Введение 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

📖 Аннотация

Работа посвящена реализации и оптимизации алгоритма автоматического поиска уникальных комбинаций колонок в рамках платформы наукоёмкого профилирования данных Desbordante. Актуальность задачи обусловлена необходимостью автоматического обнаружения таких закономерностей в табличных данных для решения прикладных проблем, включая интеграцию и сопоставление схем, когда метаданные об уникальности атрибутов изначально отсутствуют. В ходе исследования выполнен обзор существующих алгоритмов, на основе которого для реализации был выбран эффективный алгоритм HyUCC. Методология включала анализ родственного алгоритма поиска функциональных зависимостей HyFD для переиспользования кода, непосредственную интеграцию HyUCC в кодобазу платформы на C++ с созданием универсальных интерфейсов и модуля тестирования, а также последующую оптимизацию производительности через профилирование и внедрение многопоточности. В результате была разработана как обычная, так и модифицированная параллельная версия алгоритма. Экспериментальная оценка на синтетических и реальных наборах данных показала, что обычная реализация в Desbordante в среднем в 21 раз эффективнее аналога в платформе Metanome, а оптимизированная многопоточная версия превосходит обычную в 2.5 раза и потребляет в десять раз меньше памяти, чем параллельная реализация в Metanome. Практическая значимость работы заключается в существенном расширении функциональности открытой платформы Desbordante высокопроизводительным алгоритмом поиска UCC, что позволяет исследователям и инженерам данных эффективнее решать задачи анализа качества и структуры данных. Разработанный код открыт и интегрирован в публичный репозиторий проекта.

📖 Введение

Профилирование данных — это процесс анализа данных, направленный на извлечение метаданных [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

🖼 Скриншоты

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.
Предоставляемые услуги, в том числе данные, файлы и прочие материалы, подготовленные в результате оказания услуги, помогают разобраться в теме и собрать нужную информацию, но не заменяют готовое решение.
Укажите ник или номер. После оформления заказа откройте бота @workspayservice_bot для подтверждения. Это нужно для отправки вам уведомлений.

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