What Is Database Sharding? Architecture and Use Cases 🚀
Introduction
As businesses grow, their applications generate increasingly large amounts of data. Websites, e-commerce platforms, social media applications, and financial systems must handle millions of records and thousands of requests efficiently.
When a database grows beyond the capacity of a single server, query performance, storage capacity, and workload management can become challenging.
One technique used to address these challenges is Database Sharding.
Database sharding divides a large database into smaller, independent partitions called shards. These shards can be distributed across multiple database servers, allowing applications to scale horizontally and distribute workloads.
In this blog, we will explore what database sharding is, how its architecture works, the major types of sharding, its benefits and challenges, and its real-world use cases.
1. What Is Database Sharding? 🗄️
Database sharding is a database architecture technique that divides a large dataset into smaller parts and distributes them across multiple database servers.
Each part is called a shard. Every shard stores a portion of the overall dataset, and all shards work together to support the application.
For example, imagine an e-commerce application with one million customer records. The application could divide the data into four shards:
- Shard 1: Customer IDs 1–250,000
- Shard 2: Customer IDs 250,001–500,000
- Shard 3: Customer IDs 500,001–750,000
- Shard 4: Customer IDs 750,001–1,000,000
Each shard manages a portion of the customer data instead of storing the entire dataset.
This is a simplified example. In production systems, data may be distributed using customer IDs, hash values, geographic regions, or other shard keys.
The primary goal of sharding is to distribute data and workloads across multiple servers instead of relying on a single database server.
2. How Does Database Sharding Work? ⚙️
Database sharding relies on a shard key and routing logic to determine where data should be stored and retrieved.
Step 1: Choose a Shard Key 🔑
A shard key is a field or combination of fields used to determine which shard stores a particular record.
Common examples include:
- Customer ID
- User ID
- Order ID
- Geographic region
- Tenant ID in a multi-tenant application
Choosing the right shard key is essential because it affects query performance, workload distribution, and future scalability.
Step 2: Distribute the Data 📊
The database system distributes records across multiple shards according to the selected sharding strategy.
For example, an application may distribute customer records based on customer ID ranges or a hash function.
Step 3: Route Queries to the Correct Shard 🔍
When a user requests information, the application or query router determines which shard contains the required data.
If the query includes the shard key, the system may be able to send the request directly to the relevant shard.
Step 4: Process the Query ⚡
The selected shard processes the query and returns the result.
If a query requires data from multiple shards, the system may need to collect, combine, filter, or sort the results before returning them to the application.
Step 5: Scale the Database 📈
As data volume and traffic increase, additional shards or database resources can be introduced.
However, adding shards may require redistributing existing data. This process is known as rebalancing or resharding.
3. Database Sharding Architecture 🏗️
A typical sharded database architecture consists of an application layer, a query router, multiple database shards, and supporting configuration or metadata.
The general request flow is:
Application → Query Router → Shard 1 / Shard 2 / Shard 3 / Shard 4
Application Layer 💻
The application layer receives user requests. It may be a website backend, mobile application server, or business application.
Query Router 🔀
The query router determines which shard should receive a request. Depending on the technology, routing logic may exist in the application, a middleware service, or the database platform.
Database Shards 🗄️
Each shard stores and processes a portion of the complete dataset. Shards may run on separate database servers or infrastructure resources.
Shard Metadata and Configuration ⚙️
The system may maintain a mapping that identifies which shard contains particular records or data ranges. This information helps the router direct requests correctly.
Replication and Backup 🔐
Production systems commonly use replication, backups, monitoring, and recovery procedures to protect data and maintain availability.
It is important to understand that replication and sharding serve different purposes. Sharding divides data, while replication maintains additional copies of data.
4. Types of Database Sharding 📚
There are several approaches to distributing data across shards. The most common strategies include range-based, hash-based, geographic, and directory-based sharding.
A. Range-Based Sharding
Range-based sharding distributes records according to ranges of a shard key.
For example:
- Shard 1: Customer IDs 1–1,000
- Shard 2: Customer IDs 1,001–2,000
- Shard 3: Customer IDs 2,001–3,000
Advantages:
- Range queries can be directed to relevant shards.
- Data distribution rules are relatively easy to understand.
- Records within a range may be easier to manage together.
Challenges:
- Some ranges may receive significantly more traffic than others.
- Frequently accessed ranges can become hotspots.
- Data growth may create an uneven workload.
B. Hash-Based Sharding
Hash-based sharding applies a hash function to a shard key to determine where a record should be stored.
For example, a system may calculate a hash value from a user ID and use the result to select a shard.
Advantages:
- Can distribute records more evenly across shards.
- Helps reduce concentration of data in a single range.
- Works well for many ID-based access patterns.
Challenges:
- Range queries may require accessing multiple shards.
- Adding shards can change data placement.
- Data migration may be necessary when the shard layout changes.
Consistent hashing and other partitioning techniques can help reduce the amount of data that must be redistributed.
C. Geographic Sharding 🌍
Geographic sharding distributes data according to the region associated with users or records.
For example:
- India region: Indian customer data
- Europe region: European customer data
- North America region: North American customer data
Advantages:
- Can reduce latency for regional users.
- Supports region-specific infrastructure strategies.
- May help address certain data residency requirements.
Challenges:
- Traffic and data volumes may differ between regions.
- Cross-region queries can be more complicated.
- Regulatory and data residency requirements need careful planning.
D. Directory-Based Sharding
Directory-based sharding uses a lookup table or metadata service to identify the shard containing a particular record.
For example, a lookup service might map Customer A to Shard 2 and Customer B to Shard 4.
Advantages:
- Provides flexible control over data placement.
- Can support moving selected records between shards.
- Allows routing decisions to use an explicit mapping.
Challenges:
- The lookup service must remain reliable and available.
- Mapping updates need to be handled consistently.
- Additional routing infrastructure can increase complexity.
5. Benefits of Database Sharding ✨
Database sharding offers several benefits when implemented appropriately.
Horizontal Scalability
Additional shards and servers can increase the total data capacity of a system.
Workload Distribution
Queries and data storage can be distributed across multiple database resources rather than concentrated on a single server.
Improved Query Performance
Queries directed to a specific shard may process less data, potentially improving response times.
Large Dataset Management
Dividing a large dataset into smaller partitions can make storage and workload management more manageable.
Regional Optimization
Geographic sharding can place data closer to the users or services that access it most frequently.
Independent Resource Allocation
Some architectures allow individual shards to receive additional computing resources based on their workloads.
These benefits are not automatic. Actual performance depends on the shard key, data distribution, query patterns, network latency, and infrastructure configuration.
6. Challenges and Limitations of Database Sharding ⚠️
Although sharding can improve scalability, it also introduces additional engineering complexity.
Choosing the Right Shard Key
A poorly selected shard key can create uneven data distribution or concentrate too many requests on a single shard.
This issue is commonly known as a hotspot problem.
Cross-Shard Queries
Queries that require data from multiple shards may involve additional network communication and result aggregation.
Operations such as global sorting, joins, and reporting can become more complicated.
Distributed Transactions
Transactions spanning multiple shards may require coordination mechanisms to maintain the required consistency and atomicity guarantees.
Data Rebalancing
Adding or removing shards may require moving data while maintaining application availability and correctness.
Monitoring and Maintenance
Each shard needs appropriate monitoring, backups, replication management, capacity planning, and recovery procedures.
Application Complexity
Applications may need additional routing logic and strategies for handling shard failures, cross-shard requests, and schema changes.
Before introducing sharding, teams should evaluate simpler alternatives such as indexing, query optimization, caching, read replicas, and vertical scaling.
7. Real-World Use Cases of Database Sharding 🌐
E-Commerce Platforms 🛒
Large e-commerce applications may shard customer, order, or product data to manage increasing traffic and storage requirements.
For example, an online shopping platform could distribute customer records across shards based on a customer identifier.
Social Media Applications 📱
Social media platforms generate large volumes of user profiles, posts, comments, and interactions. Sharding can help distribute these datasets across multiple database resources.
The specific strategy depends on how the platform accesses user activity and relationships.
Banking and Financial Applications 💳
Large financial systems may use sharding to distribute customer or transaction-related data.
These systems require careful handling of transaction consistency, security, auditing, and regulatory requirements.
Online Gaming Platforms 🎮
Multiplayer gaming systems can generate substantial volumes of player profiles, session data, and activity records. Sharding may help distribute these workloads.
SaaS Applications ☁️
Multi-tenant software applications may distribute data across shards based on tenant IDs or customer groups.
This approach can help manage growth while allowing teams to allocate resources according to customer workloads.
IoT and Sensor Systems 🌡️
IoT devices continuously generate sensor readings and event records. Data may be partitioned using device identifiers, time ranges, or geographic regions.
The best strategy depends on data ingestion rates, retention requirements, and query patterns.
8. Database Sharding vs. Replication 🔄
Sharding and replication are different database techniques, although they are frequently used together.
| Feature | Sharding | Replication |
|---|---|---|
| Primary purpose | Distributes data into separate partitions | Maintains additional copies of data |
| Data placement | Each shard holds a portion of the dataset | Replicas contain copies of the same data or partition |
| Main benefit | Horizontal scaling and workload distribution | Availability and fault tolerance |
| Example | Dividing customers across four shards | Maintaining a replica of each shard on another server |
A production system may use both techniques: sharding distributes the dataset, while replication provides additional copies of each shard.
9. When Should You Use Database Sharding? 🤔
Sharding is not necessary for every application.
It may be worth considering when:
- The database is approaching the practical storage or processing limits of a single server.
- Database workload remains a bottleneck after query optimization and indexing.
- The application has substantial data growth or consistently high traffic.
- Data can be distributed using a suitable shard key.
- The engineering team can manage distributed database operations.
For smaller applications, traditional database optimization, caching, read replicas, or vertical scaling may be simpler and more cost-effective.
A useful rule is to introduce sharding when measurable scaling requirements justify the additional complexity—not simply because an application is expected to grow.
10. How to Design a Basic Sharded Database System 💻
Developers planning a sharded database architecture should follow a structured approach.
Step 1: Analyze the workload. Identify the most frequent queries, write operations, storage requirements, and performance bottlenecks.
Step 2: Select a shard key. Choose a key that supports common access patterns and distributes data and requests appropriately.
Step 3: Choose a sharding strategy. Decide whether range-based, hash-based, geographic, or directory-based partitioning fits the application.
Step 4: Implement query routing. Ensure requests reach the correct shard and that cross-shard queries are handled safely.
Step 5: Plan for failures. Define replication, backup, recovery, monitoring, and failover procedures.
Step 6: Test scalability. Evaluate query latency, throughput, data distribution, and rebalancing behavior under realistic workloads.
Step 7: Monitor and optimize. Track hotspots, shard utilization, and query performance as the application grows.
The objective is to build a system that can scale while remaining reliable, maintainable, and secure.
Conclusion 🎯
Database sharding is an important database architecture technique for applications that need to manage large datasets and distribute workloads across multiple servers.
By dividing data into smaller partitions, sharding can support horizontal scalability and improve performance for suitable workloads. Range-based, hash-based, geographic, and directory-based strategies offer different approaches to data distribution.
Database Sharding क्या है? Architecture और इसके Use Cases को समझें 🚀
Introduction परिचय 📌
आज के Digital World में Websites, Mobile Applications और Online Platforms पर हर दिन लाखों Users Data Generate करते हैं। जैसे-जैसे किसी Application के Users और Data की मात्रा बढ़ती है, वैसे-वैसे Database को Manage करना और Fast Performance बनाए रखना चुनौतीपूर्ण हो जाता है।
मान लीजिए, आपकी E-Commerce Website पर लाखों Customers हैं और हर दिन हजारों Orders Place होते हैं। यदि पूरा Data एक ही Database Server पर रखा जाए, तो समय के साथ उस Server पर अधिक Load पड़ सकता है। इससे Query Processing धीमी हो सकती है और Application की Performance प्रभावित हो सकती है।
इस समस्या को हल करने के लिए इस्तेमाल की जाने वाली महत्वपूर्ण Database Techniques में से एक है Database Sharding।
इस Blog में हम आसान Hinglish और हिंदी भाषा में समझेंगे कि Database Sharding क्या है, यह कैसे काम करती है, इसकी Architecture कैसी होती है और इसका इस्तेमाल कहाँ किया जाता है।
1. Database Sharding क्या है? 🗄️
Database Sharding एक ऐसी Technique है, जिसमें बड़े Database को कई छोटे हिस्सों में बाँटकर अलग-अलग Servers पर Store किया जाता है। इन हिस्सों को Shards कहा जाता है।
हर Shard में पूरे Database के बजाय Data का एक विशेष हिस्सा होता है। सभी Shards मिलकर पूरे Dataset को संभालते हैं।
उदाहरण के लिए, मान लीजिए किसी Online Shopping Application में 10 लाख Customers का Data है। इस Data को चार Shards में बाँटा जा सकता है:
- Shard 1: Customer IDs 1 से 2,50,000 तक
- Shard 2: Customer IDs 2,50,001 से 5,00,000 तक
- Shard 3: Customer IDs 5,00,001 से 7,50,000 तक
- Shard 4: Customer IDs 7,50,001 से 10,00,000 तक
इस उदाहरण में प्रत्येक Shard Customer Data के एक हिस्से को संभालता है।
ध्यान दें कि यह केवल समझाने के लिए दिया गया उदाहरण है। वास्तविक Sharding में Data को बाँटने के लिए Customer ID, Geographic Region, Hash Value या किसी अन्य Shard Key का उपयोग किया जा सकता है।
2. Database Sharding कैसे काम करती है? ⚙️
Database Sharding में सबसे महत्वपूर्ण भूमिका Shard Key और Routing Logic की होती है।
Step 1: Shard Key चुनना 🔑
Shard Key वह Field होती है, जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि Data किस Shard में Store होगा।
उदाहरण:
- Customer ID
- User ID
- Order ID
- Region या Location
Shard Key का चुनाव Application के Data Access Pattern और Query Requirements के अनुसार करना चाहिए।
Step 2: Data को विभाजित करना 📊
Application की आवश्यकता के अनुसार Data को अलग-अलग Shards में बाँटा जाता है।
उदाहरण के लिए, यदि User ID के आधार पर Sharding की गई है, तो अलग-अलग User Records अलग-अलग Shards में Store हो सकते हैं।
Step 3: Query को सही Shard तक पहुँचाना 🔍
जब User कोई Request करता है, तो Application या Database Routing Layer यह निर्धारित करती है कि संबंधित Data किस Shard में मौजूद है।
यदि Query में Shard Key उपलब्ध है, तो System अक्सर सीधे संबंधित Shard तक पहुँच सकता है।
Step 4: Query Processing ⚡
संबंधित Shard Query को Process करता है और Result वापस भेजता है।
यदि Query के लिए कई Shards से Data चाहिए, तो System को अलग-अलग Results एकत्र करके Combine करने पड़ सकते हैं।
Step 5: Scaling करना 📈
जब Data और Traffic बढ़ते हैं, तो आवश्यकता के अनुसार अतिरिक्त Shards या Database Resources जोड़े जा सकते हैं।
हालाँकि, नए Shards जोड़ने पर Data को दोबारा वितरित करना पड़ सकता है। इस प्रक्रिया को Rebalancing या Resharding कहा जाता है।
3. Database Sharding Architecture कैसी होती है? 🏗️
Database Sharding Architecture में Application, Query Router और कई Database Shards मिलकर काम करते हैं।
इसका सामान्य Structure कुछ इस प्रकार होता है:
Application → Query Router → Shard 1 / Shard 2 / Shard 3 / Shard 4
इस Architecture के मुख्य Components निम्नलिखित हैं:
1. Application Layer 💻
यह वह हिस्सा है जहाँ से User Requests आती हैं। उदाहरण के लिए, किसी Website का Backend या Mobile App का Server।
2. Query Router 🔀
Query Router यह निर्धारित करता है कि Request किस Shard पर भेजी जानी चाहिए। यह Application में Implement किया जा सकता है या Database Platform की Routing Capabilities का हिस्सा हो सकता है।
3. Database Shards 🗄️
हर Shard अपने हिस्से का Data Store और Process करता है। ये Shards अलग-अलग Database Servers या Infrastructure पर हो सकते हैं।
4. Shard Metadata और Configuration ⚙️
System को यह जानकारी रखनी पड़ सकती है कि कौन-सा Data किस Shard में मौजूद है। यह Mapping Routing और Data Management में मदद करती है।
5. Replication और Backup 🔐
Production Systems में प्रत्येक Shard के लिए Replication, Backup और Recovery की व्यवस्था भी महत्वपूर्ण होती है। ध्यान रखें कि Replication और Sharding अलग-अलग Concepts हैं: Sharding Data को विभाजित करती है, जबकि Replication उसकी अतिरिक्त Copies बनाए रखती है।
4. Database Sharding के मुख्य प्रकार 📚
Database Sharding कई तरीकों से Implement की जा सकती है। सबसे सामान्य Strategies निम्नलिखित हैं।
A. Range-Based Sharding
इसमें Data को किसी Key की Range के आधार पर अलग-अलग Shards में बाँटा जाता है।
उदाहरण:
- Shard 1: Customer ID 1–1000
- Shard 2: Customer ID 1001–2000
- Shard 3: Customer ID 2001–3000
फायदा: Range-Based Queries को संबंधित Shard पर Execute करना आसान हो सकता है।
चुनौती: यदि एक Range में अधिक Traffic या Data आ जाए, तो कुछ Shards पर अधिक Load पड़ सकता है।
B. Hash-Based Sharding
इसमें Shard Key पर Hash Function लागू करके यह तय किया जाता है कि Data किस Shard में Store होगा।
उदाहरण के लिए, किसी User ID की Hash Value के आधार पर उसे Shard 1, Shard 2 या Shard 3 में भेजा जा सकता है।
फायदा: सही Hash Strategy के साथ Data और Load का वितरण अधिक समान हो सकता है।
चुनौती: नए Shards जोड़ने पर Data Mapping बदल सकती है। Consistent Hashing जैसी Techniques इस समस्या को कम करने में मदद कर सकती हैं।
C. Geographic Sharding 🌍
इसमें Data को Users के Geographic Region के आधार पर बाँटा जाता है।
उदाहरण:
- India के Users का Data: India Region
- Europe के Users का Data: Europe Region
- North America के Users का Data: North America Region
फायदा: क्षेत्रीय Users के लिए Latency कम हो सकती है और कुछ Data Residency Requirements को पूरा करना आसान हो सकता है।
चुनौती: अलग-अलग Regions में Traffic और Data की मात्रा समान नहीं होती। Cross-Region Queries और Compliance Requirements को भी ध्यान में रखना पड़ता है।
D. Directory-Based Sharding
इस Strategy में एक Lookup Table या Metadata Service यह बताती है कि कौन-सा Record किस Shard में Store है।
उदाहरण के लिए, User ID 105 का Data Shard 2 में और User ID 220 का Data Shard 4 में हो सकता है।
फायदा: Data को Flexible तरीके से अलग-अलग Shards में Map किया जा सकता है।
चुनौती: Lookup System की Availability, Performance और Consistency को बनाए रखना जरूरी होता है।
5. Database Sharding के फायदे ✨
Database Sharding का सही तरीके से इस्तेमाल करने पर कई फायदे मिल सकते हैं:
- Horizontal Scaling: अतिरिक्त Shards और Servers के माध्यम से Data Capacity बढ़ाई जा सकती है।
- Load Distribution: Database Workload को कई Shards में बाँटा जा सकता है।
- Improved Performance: सही Routing और Data Distribution से कुछ Queries तेज हो सकती हैं।
- Large Data Management: बहुत बड़े Datasets को अलग-अलग हिस्सों में Manage करना आसान हो सकता है।
- Regional Optimization: Geographic Sharding के माध्यम से क्षेत्रीय Users के लिए Latency कम की जा सकती है।
- Independent Resource Scaling: कुछ Architectures में अधिक Traffic वाले Shards को अतिरिक्त Resources दिए जा सकते हैं।
हालाँकि, इन सभी फायदों की गारंटी नहीं होती। वास्तविक Performance Shard Key, Query Design, Workload और Infrastructure पर निर्भर करती है।
6. Database Sharding की चुनौतियाँ ⚠️
Sharding Scaling में मदद करती है, लेकिन इससे System Architecture अधिक जटिल भी हो सकती है।
1. सही Shard Key चुनना
गलत Shard Key से Data कुछ ही Shards में अधिक जमा हो सकता है। इसे Uneven Distribution या Hotspot Problem कहा जाता है।
2. Cross-Shard Queries
यदि किसी Query को कई Shards से Data चाहिए, तो Results को एकत्र करना और Sort करना अधिक जटिल हो सकता है।
3. Transactions की जटिलता
एक ही Shard के अंदर Transactions को Manage करना अपेक्षाकृत आसान हो सकता है। लेकिन कई Shards में फैले Transactions के लिए अतिरिक्त Coordination की आवश्यकता पड़ सकती है।
4. Data Rebalancing
नए Shards जोड़ने या पुराने Shards की Capacity बदलने पर Data को दोबारा वितरित करना पड़ सकता है।
5. Monitoring और Maintenance
हर Shard की Performance, Storage, Replication, Backup और Availability को Monitor करना जरूरी होता है।
6. Application Complexity
Application को यह समझना पड़ सकता है कि Data कहाँ Store है और अलग-अलग Shards से प्राप्त Results को कैसे Combine करना है।
इसलिए Sharding लागू करने से पहले यह देखना चाहिए कि Database Indexing, Query Optimization, Caching या Vertical Scaling से समस्या हल हो सकती है या नहीं।
7. Database Sharding के Real-World Use Cases 🌐
E-Commerce Platforms 🛒
बड़े Online Shopping Platforms Customers, Orders या Product Data को अलग-अलग Shards में बाँट सकते हैं। इससे बढ़ते Traffic और Data Volume को Manage करने में मदद मिलती है।
Social Media Applications 📱
Social Media Platforms में Users, Posts, Comments और Interactions की मात्रा बहुत अधिक हो सकती है। Sharding इन Datasets को अलग-अलग हिस्सों में बाँटने की Strategy हो सकती है।
Banking और Financial Applications 💳
बड़े Financial Systems में Customer Records या अन्य Data को विभाजित करने के लिए Sharding का उपयोग किया जा सकता है। लेकिन Transaction Integrity, Security और Regulatory Requirements का विशेष ध्यान रखना पड़ता है।
Gaming Platforms 🎮
Online Games में Players, Game Sessions और Activity Records का Data अलग-अलग Shards में बाँटा जा सकता है। Sharding Strategy Game Architecture और Player Distribution पर निर्भर करती है।
SaaS Applications ☁️
Multi-Tenant SaaS Applications में अलग-अलग Customers या Customer Groups का Data विभिन्न Shards में रखा जा सकता है, जिससे बढ़ती हुई Usage को Manage करना आसान हो सकता है।
IoT और Sensor Data 🌡️
IoT Devices लगातार Data Generate करते हैं। Time, Device ID या Region के आधार पर Data Distribution बड़ी मात्रा में Sensor Records को Manage करने में मदद कर सकती है।
8. Sharding और Replication में क्या अंतर है? 🔄
इन दोनों Concepts को अक्सर एक जैसा समझ लिया जाता है, लेकिन इनके उद्देश्य अलग हैं।
| Feature | Sharding | Replication |
|---|---|---|
| मुख्य उद्देश्य | Data को अलग-अलग हिस्सों में बाँटना | Data की Copies बनाए रखना |
| Data Structure | प्रत्येक Shard में Data का एक हिस्सा | Replicas में एक ही Data की Copies |
| मुख्य लाभ | Horizontal Scaling और Load Distribution | Availability और Fault Tolerance |
| उदाहरण | Users का Data कई Shards में बाँटना | एक Shard की Replica Copy दूसरे Server पर रखना |
कई Production Systems में Sharding और Replication दोनों का उपयोग साथ में किया जाता है।
9. Database Sharding कब इस्तेमाल करनी चाहिए? 🤔
हर Application को Sharding की जरूरत नहीं होती।
Sharding पर विचार करना उपयोगी हो सकता है जब:
- Database का Data एक Server की Practical Capacity से आगे बढ़ रहा हो।
- लगातार बढ़ते Traffic के कारण Database Bottleneck बन रहा हो।
- Query Optimization और Indexing के बाद भी Scaling की जरूरत बनी हुई हो।
- Application का Data स्पष्ट Shard Key के आधार पर बाँटा जा सकता हो।
- Team के पास Distributed Database को Manage करने के लिए पर्याप्त Engineering Resources हों।
यदि Application छोटी है या Database का Workload अभी Manage किया जा सकता है, तो Indexing, Caching और Vertical Scaling अधिक सरल समाधान हो सकते हैं।
Conclusion – निष्कर्ष 🎯
Database Sharding एक महत्वपूर्ण Database Architecture Technique है, जो बड़े Data को छोटे हिस्सों में बाँटकर अलग-अलग Servers पर Store करने में मदद करती है।
Range-Based, Hash-Based, Geographic और Directory-Based Sharding जैसी Strategies अलग-अलग प्रकार की Applications के लिए उपयोगी हो सकती हैं।
