В современном мире, каждый человек постоянно производит огромное количество информации, которая накапливается в облачных хранилищах социальных сетей, на серверах мобильных операторов или банков. Используя эту информацию компании научились рекомендовать
нам наиболее подходящую рекламу, музыку в дорогу или просто фильмы на вечер, то есть бизнес все больше и больше пытается принимать
решения основываясь на данных, собираемых ими или даже покупаемыми у других организаций.
В таком мире очень важным становится умение эффективно управлять данными, так как в случае успеха это дает огромное конкурентное
преимущество перед другими компаниями, не имеющих отлаженных
процессов для работы с информацией.
Однако управление информацией – это комплексный процесс, согласно [7] он включает в себя извлечение, хранение, контроль и повышение ценности информационных активов. Конечной целью управления
данными является именно извлечение полезной бизнесу информации из
них, ведь до этого момента данные не несут в себе никакой ценности
сами по себе.
Платформа управления данными (англ. Data Managment Platform,
DMP) – как раз и является инструментом, главная задача которого повысить эффективность управления данными внутри компании. Управление данными включает в себя целый ряд различных процессов, начинающихся с их сбора и обработки и заканчивающихся хранением и
обеспечением доступности.
Так как стоимость данных велика, а задержки в их поставках
могут принести существенные убытки компании, то платформа управлениями данными должна предоставлять различные инструменты мониторинга процессов работы с данными, для того чтобы человек мог
оперативно реагировать на все отклонения от нормы и быстро исправлять возникающие ошибки.
По мере роста количества пользователей и процессов работы с
4данными, существующая на данный момент система мониторинга начала устаревать и уже давно не поддерживается в полной мере. Она
не удобна и обладает лишь базовым набором функциональностей, не
позволяющим на сегодняшний день полностью решать возникающие у
пользователей задачи. Для решения этой проблемы в данной работе
будет произведен обзор существующей архитектуры системы мониторинга платформы управления данными, создаваемой в Яндекс Такси, а
также описаны подходы к повышению эффективности работы с ошибками на всем их жизненном цикле, начинающемся с возникновения и
заканчивающийся их исправлением.
Целью данной работы являлась модернизация системы мониторинга
ошибок в различных процессах внутри платформы управления данными в Яндекс Такси путем доработки существующего процесса сбора ошибок и разработки новой системы мониторинга вместо текущего
устаревшего решения. В результате проделанной работы были успешно
решены следующие задачи:
1. Произведен обзор текущей реализации процесса сбора и отправки
ошибок в платформе.
2. Определены требования к новой системе мониторинга, путем опроса пользователей и других заинтересованных лиц.
3. Спроектировано и реализовано решение, на основе собранных требований к системе.
4. Произведено тестирование, разворачивание реализованного решения и апробация полученного результата.
Благодаря реализованному решению, пользователи получили возможность в удобном формате отслеживать состояние своих процессов поставки данных, а также самостоятельно решать возникающие в них
проблемы. Это значительно повысило эффективность работы с инцидентами со стороны пользователей, а также снизило затраты разработчиков платформы на поддержку.
Веб-интерфейс реализованного решения можно увидеть в Приложении А.
Весь код проекта находится под соглашением о неразглашении,
поэтому не может быть представлен читателю.
[1] Karasov Nikolay, Khvorov Aleksandr, Vasiliev Roman, Gol¬ubev Yaroslav, and Bryksin Timofey. Aggregation of Stack Trace Sim¬ilarities for Crash Report Deduplication. — 2022.—04.
[2] Modani Natwar, Gupta Rajeev, Lohman Guy, Syeda-Mahmood Tan¬veer, and Mignet Laurent. Automatically Identifying Known Software Problems. — 2007. — 05. — P. 433 - 441.
[3] Campbell Hazel, Santos Eddie, and Hindle Abram. The unreasonable effectiveness of traditional information retrieval in crash report dedu¬plication.—2016.—05.—P. 269-280.
[4] Haryono Edward Manopo, Gunawan Indra, Hidayanto Achmad Nizar, Rahardja Untung, et al. Comparison of the E-LT vs ETL method in data warehouse implementation: A qualitative study // 2020 Interna¬tional Conference on Informatics, Multimedia, Cyber and Information System (ICIMCIS) / IEEE. — 2020. — P. 115-120.
[5] El-Sappagh Shaker H. Ali, Hendawi Abdeltawab M. Ahmed, and El Bastawissy Ali Hamed. A proposed model for data warehouse ETL processes // Journal of King Saud University - Computer and Information Sciences. — 2011. — Vol. 23, no. 2. — P. 91-104. — Access mode: https://www.sciencedirect.com/science/article/ pii/S131915781100019X.
[6] Bartz Kevin, Stokes Jack, Platt John, Kivett Ryan, Grant David, Cali- noiu Silviu, and Loihle Gretchen. Finding Similar Failures Using Call¬stack Similarity. — 2008. — 01.
[7] International Dama. DAMA-DMBOK: data management body of knowledge.—Technics Publications, LLC, 2017.
[8] Jeff Sauro. Measuring Usability with the System Usability Scale (SUS). — Access mode: https://measuringu.com/sus/ (online; ac¬cessed: 2024-03-25).
[9] Lerch J. and Mezini M. Finding Duplicates of Your Yet Unwritten Bug Report // 2011 15th European Conference on Software Mainte¬nance and Reengineering. — Los Alamitos, CA, USA : IEEE Com¬puter Society. — 2013. — mar. — P. 69-78. — Access mode: https: //doi.ieeecomputersociety.org/10.1109/CSMR.2013.17.
[10] Gong Liang, Zhang Hongyu, Seo Hyunmin, and Kim Sunghun. Locat¬ing Crashing Faults based on Crash Stack Traces. — 2014. — 04.
[11] OpenAPI specification documentation. — Last accessed 3 Decem¬ber 2023. Access mode: https://spec.openapis.org/oas/latest. html.
[12] PostreSQL documentation. — Access mode: https://www.
postgresql.org/docs/ (online; accessed: 2024-04-20).
[13] Khvorov Aleksandr, Vasiliev Roman, Chernishev George, Ro¬drigues Irving, Koznov Dmitry, and Povarov Nikita. S3M: Siamese Stack (Trace) Similarity Measure. — 2021. — 03.
[14] Sivabalan S and Minu RI. Heterogeneous Data Integration with ELT and Analytical MPP Database for Data Analysis Application // 2021 Innovations in Power and Advanced Computing Technologies (i- PACT) / IEEE. —2021. —P. 1-5.
[15] Srivastava Apoorva, Bhardwaj Sukriti, and Saraswat Shipra. SCRUM model for agile methodology // 2017 International Conference on Com¬puting, Communication and Automation (ICCCA) / IEEE. — 2017. — P. 864-869.
[16] Tayade Dipti M. Comparative study of ETL and E-LT in data ware¬housing // Int. Res. J. Eng. Technol. — 2019.—Vol. 6. — P. 2803¬2807.
[17] Rodrigues Irving, Khvorov Aleksandr, Aloise Daniel, Vasiliev Roman, Koznov Dmitry, Fernandes Eraldo, Chernishev George, Luciv Dmitry, and Povarov Nikita. TraceSim: An Alignment Method for Computing
Stack Trace Similarity // Empirical Software Engineering. — 2022. — 03.—Vol. 27.
[18] TraceSim implementation. — Access mode: https://github.com/ traceSimSubmission/ (online; accessed: 2024-01-25).
[19] Wijaya Rahmadi and Pudjoatmodjo Bambang. An overview and im¬plementation of extraction-transformation-loading (ETL) process in data warehouse (Case study: Department of agriculture) // 2015 3rd International Conference on Information and Communication Technol¬ogy (IColCT) / IEEE. —2015. —P. 70-74.
[20] pytest package documentation. — Last accessed 3 December 2023. Ac¬cess mode: https://docs.pytest.Org/en/7.4.x/.