The task and the document structure for completion are attached to the project.
Supplement:
It is necessary for the freelancer to prepare a solution according to the specified requirements and be ready to explain all the details of the work, including architecture, settings, and approaches used.
Project for configuring a NoSQL database
1. Introduction
The project is dedicated to the development and configuration of a solution using a NoSQL database. The architecture, configuration, installation, and use of the database in a clustered environment will be described, as well as data analysis using Python.
2. Architecture
A NoSQL database will be deployed in a cluster using sharding and replication to ensure high availability. The configuration will be set up considering the CAP theorem to ensure a balance between consistency, availability, and partition tolerance.
Architecture diagram: The architecture will be described with all nodes and clusters indicated.
Configuration: Description of the setup of clusters, nodes, sharding, replication, and data persistence.
Security: Configuration of authentication and authorization to ensure security.
3. Functional solution
A solution will be prepared, deployed using Docker and docker-compose, which will automate the installation and configuration process of the database.
Structure: Description of all files and directories, including docker-compose.yml, which automates the deployment.
Installation: Step-by-step instructions for installing and running the system.
4. Use cases and case studies
It will be analyzed for which tasks the chosen NoSQL database is suitable, and three real case studies will be provided where such a database was used.
5. Advantages and disadvantages
The pros and cons of the chosen solution will be described, including scalability, performance, and usability.
6. Data
Three datasets will be used for analysis, one of which contains 5,000 records. Data analysis will be conducted using Python (Pandas, Numpy), including statistics and visualization.
7. Queries
Thirty complex queries will be presented using aggregation, sorting, grouping, and other capabilities of the chosen database.
8. Conclusion
Summarizing the work, describing what can be done with this solution, as well as possible improvements.
9. Sources
A list of materials and tools used.
10. Appendices
Data: Three datasets and Python scripts for their analysis.
Queries: All 30 queries with explanations.
Functional solution: docker-compose.yml and all necessary scripts.
Please note: it will be necessary to explain all the details of the implementation and configuration of the database.