Аналіз методів представлення ієрархічної інформації в документо-орієнтованих базах даних
DOI:
https://doi.org/10.33216/1998-7927-2025-287-1-5-11Ключові слова:
документо-орієнтовані бази даних, MongoDB, ієрархічна інформація, тестування швидкодії, Microsoft Azure, одиниці запитуАнотація
Вибір ефективного методу представлення ієрархічної інформації у базах даних є важливим завданням при проєктуванні програмних систем, оскільки ієрархічні структури даних використовуються в багатьох сферах, зокрема у системах рекомендацій, управлінні ланцюгами поставок та аналітичних рішеннях. У статті аналізуються різні методи зберігання ієрархічних структур у документо-орієнтованих базах даних на прикладі MongoDB та порівнюється їх ефективність.
При роботі з невеликою кількістю ієрархічних даних майже будь-який метод буде функціонувати з прийнятною швидкістю. Однак у випадках, коли система працює з сотнями і навіть тисячами ієрархій, неправильний вибір способу їх зберігання може суттєво вплинути на продуктивність системи, збільшити операційні витрати та ускладнити обробку даних.
У рамках дослідження проаналізувані методи представлення ієрархічних структур у документо‑орієнтованих базах даних, виявлені їх переваги, недоліки та визначена їх швидкодія у реальних сценаріях використання.
Документо-орієнтовані бази даних, такі як MongoDB, надають гнучкі можливості для зберігання ієрархічних даних. У MongoDB можна використовувати кілька підходів до представлення ієрархій: метод збереження матриці суміжності, метод матеріалізованих маршрутів та метод вкладених множин.
У статі наведені результати тестування швидкодії зазначених методів для двох сценаріїв, а саме при використанні бази даних, встановленої на власний сервер, а також при використанні бази даних хмарного сервісу Microsoft Azure.
Вибір методу залежить від конкретних вимог до швидкості вибірки, задіяних операцій з ієрархіями та складності реалізації.
Метод збереження матриці суміжності показав себе набагато краще, ніж при роботі з реляційними базами даних і може використовуватися в багатьох сценаріях, оскільки він є найпростішим в реалізації. Але якщо для програмної системи характерні часті вибірки ієрархії або їх частин, то можна рекомендувати використання методу матеріалізованого маршруту оскільки він працює значно швидше, хоча і є більш складним у реалізації, та потребує більше пам’яті для збереження ієрархічної інформації. Метод вкладених множин не надає відчутних переваг для найбільш типових сценаріїв роботи. Дослідження є корисним для розробників, які проєктують системи, що працюють з великими обсягами ієрархічної інформації.
Посилання
1. Dionysius: A Framework for Modeling Hierarchical User Interactions in Recommender Systems / J. Wang, K. Kenthapadi, K. Rangadurai, D. Hardtke. // arXiv preprint, 2017. DOI: https://doi.org/10.48550/arXiv.1706.03849
2. Miller T. Hierarchical Operations and Supply Chain Planning. Springer London, London, 2001. DOI: http://dx.doi.org/10.1007/978-1-4471-0305-9
3. Дьомін М.К. Методи представлення ієрархічної інформації в реляційних базах даних інформаційно-управлінських архітектур. // Радіоелектроніка. Інформатика. Управління, Запоріжжя: ЗНТУ, 2007, №1(17). С. 56-62.
4. Danich V.N. Information-administrative architecture conception and principles of their modeling. / V.N. Danich, M.K. Domin// TEKA. Commision of motorization and energetics in agriculture. – Lublin University of Technology, Volodymyr Dahl East-Ukrainian National University in Lugansk, 2012. Vol. 12. No 4. P. 2330.
5. Benymol J. Performance analysis of NoSQL and relational data bases with MongoDB and MySQL./ J. Benymol, A. Sajimon // Materials-Today-ProceedingsVolume 24, Part 3, 2020, p. 2036-2043. DOI: https://doi.org/10.1016/j.matpr.2020.03.634
6. Model Tree Structures. [Електронний ресурс]. – Режим доступу: //https://www.mongodb.com/docs/manual/applications/data-models-tree-structures/
7. Celko J. A Lookat SQL Trees / JoeCelko // DBMS online [Electronic resource] / Miller Freeman, Inc– Electronicmag. [USA]: DBM Sand Internet Systems, 1996. March. DB [Електронний ресурс]. – Режим доступу: http://www.dbmsmag.com/9603d06.html, free. – Title from screen
8. Aggregation Pipeline. MongoDB Manual. [Електронний ресурс]. – Режим доступу: https://www.mongodb.com/docs/manual/core/aggregation-pipeline/
9. What is MongoDB Atlas? [Електронний ресурс]. – Режим доступу: https://www.mongodb.com/docs/atlas/
10. Request Unitsin Azure Cosmos DB [Електронний ресурс]. – Режим доступу: https://learn.microsoft.com/en-us/azure/cosmos-db/request-units?utm_source=chatgpt.com