Владимир Ревякин, Анна Рукавицына — Графовая БД ArangoDB для совместного доступа к документам

Опубликовано: 11 Май 2025
на канале: Heisenbug — конференция по тестированию
258
5

Ближайшая конференция — Heisenbug 2025 Autumn, 19—20 октября, Санкт-Петербург + online. Подробности и билеты: https://jrg.su/D6uGC9
— —
Скачать презентацию с сайта Heisenbug — https://jrg.su/7yFqfB

Для эффективной работы больших и распределенных бизнес-команд нужна возможность предоставлять доступ различного уровня к корпоративным документам и директориям. Реализация такой функциональности зависит от выбора базы данных для хранения метаданных о файлах, пользователях и других объектах.

В сервисной платформе «МойОфис Частное Облако» функциональность «шаринга» реализована на основе документоориентированной графовой базы данных ArangoDB. В открытых русскоязычных источниках мало информации об этой базе данных, построении и тестировании приложения на ее основе.

Расмотрели варианты использования ArangoDB и ее интеграции с приложением, а также особенности функционального и нагрузочного тестирования. Обсудили:

1. Логику работы с данными на основе ArangoDB, отличия от классической документоориентированной базы данных.

2. Реализацию предоставления совместного доступа на примере PostgreSQL и ArangoDB.

3. Особенности тест-дизайна и автоматизации функционального тестирования, связанные с ArangoDB.

4. Инструменты и сценарии нагрузочного тестирования «шаринга».

5. Проблемы и технические ограничения ArangoDB, с которыми столкнулись в ходе тестирования и разработки, и как мы их решали.

Рассмотрели реальные кейсы тестирования, возникающих ошибок, багов и реализованных фиксов. Затронули проблемы производительности, обнаруженные в ходе нагрузочного тестирования, и возможные пути оптимизации.

Инструменты, технологии и подходы: Gatling, Scala, Docker, Robot Framework, Python, Golang, Docker, Unix-cистемы, REST, микросервисная архитектура, SOLID-подход.

Будет полезно начинающим и опытным инженерам по функциональному и нагрузочному тестированию, работающим с графовыми и другими базами данных, а также разработчикам и архитекторам продуктов.