Skip to content

A project focused on implementing and benchmarking database scalability techniques, including sharding, replication, and partitioning. Built with Laravel, Docker, and tools for database monitoring and load testing, this project evolves through Git Flow branches to demonstrate real-world performance improvements.

Notifications You must be signed in to change notification settings

JLanky/Scalable-Database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 

Repository files navigation

Scalable Database Project

This project demonstrates database scalability techniques by implementing sharding, replication, and partitioning in a step-by-step approach. The goal is to explore the performance benefits of each technique and document the results through load testing and monitoring.

πŸš€ Key Features

  • Single Database Setup: Initial baseline configuration with a single database server.
  • Sharding: Horizontal partitioning of data across multiple database instances.
  • Replication: Master-slave replication for data redundancy and read scalability.
  • Partitioning: Vertical partitioning to organize data efficiently for queries.
  • Load Testing: Performance benchmarking using tools like k6 or Apache JMeter.
  • Monitoring: Real-time database monitoring with Prometheus and Grafana.

πŸ› οΈ Technologies Used

  • Framework: Laravel for backend development.
  • Database: MySQL/PostgreSQL.
  • Containerization: Docker & Docker Compose.
  • Load Testing: Apache JMeter/k6.
  • Monitoring: Prometheus, Grafana.

πŸ“‚ Branch Structure

This repository follows the Git Flow methodology:

  • main: Contains the single-database implementation.
  • develop: Active development branch.
  • feature/sharding: Implements sharding for horizontal scalability.
  • feature/replication: Adds replication to the database layer.
  • feature/partitioning: Introduces partitioning for efficient data organization.

πŸ”§ Setup Instructions

  1. Clone the repository:
    git clone https://github.com/your-username/scalable-database-project.git
    cd scalable-database-project

About

A project focused on implementing and benchmarking database scalability techniques, including sharding, replication, and partitioning. Built with Laravel, Docker, and tools for database monitoring and load testing, this project evolves through Git Flow branches to demonstrate real-world performance improvements.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published