Разработать NoSQL бенчмарк

20 000 руб. за проект
14 марта 2024, 09:22 • 2 отклика • 45 просмотров
Техническое задание:



Обзор задачи:

Разработать инструмент базового тестирования производительности NoSQL баз данных, способный выполнять операции CRUD (Create, Read, Update, Delete), моделировать сбои и восстановление, а также поддерживать дополнительные операции, такие как транзакции, агрегации, фильтрации и индексации.



Требования к функциональности:

1. Реализация базовых операций CRUD для трех NoSQL баз данных: MongoDB, Redis и Cassandra.

2. Возможность моделирования сбоев и восстановления, например, восстановление после сбоя сервера базы данных.

3. Реализация дополнительных операций для каждой базы данных:

- Транзакции: поддержка транзакций в MongoDB, Redis и Cassandra.

- Агрегации: возможность выполнять агрегационные запросы в MongoDB и Cassandra.

- Фильтрации: реализация фильтраций данных в MongoDB, Redis и Cassandra.

- Индексации: поддержка индексации данных для повышения производительности запросов в MongoDB, Redis и Cassandra.

4. Функционал мониторинга производительности, включая сбор и анализ данных о загрузке CPU, использовании памяти и дискового пространства.

5. Возможность анализа результатов тестирования и создание графиков для сравнения производительности различных баз данных.



Технические требования:

1. Разработка на языке программирования Python.

2. Использование сторонних библиотек для работы с базами данных (pymongo для MongoDB, redis-py для Redis, cassandra-driver для Cassandra), мониторинга производительности (psutil) и создания графиков (Matplotlib).

3. Предоставление полного исходного кода с подробной инструкцией по установке зависимостей и запуску приложения.

4. Наличие тестовых данных для проверки функциональности и примеров результатов.



Расписание:

5 дней на разработку

Примечания:

1. Необходимо обеспечить качество кода и его поддерживаемость, включая хорошую документацию и комментарии к коду.

2. Документация должна быть написана на понятном языке с примерами использования и подробными инструкциями.

3. При разработке функционала моделирования сбоев и восстановления следует учитывать различные сценарии сбоев и способы их обработки.