dotnetcore/sharding-core
این یک راهحل سبک و بسیار کارآمد برای تقسیم جداول و پایگاهداده در Entity Framework Core است که از جداسازی خواندن و نوشتن دادهها نیز پشتیبانی میکند.
کاربرد:
این پروژه به تو اجازه میده تا بدون نیاز به تغییر در کدهای تجاری، از قابلیتهای شarding (تقسیم دادهها بین چندین جدول یا دیتابیس) بهرهمند بشی. مناسب پروژههایی با حجم بالای داده و ترافیک زیاد.
در چه شرایطی بهتره استفاده شود؟
وقتی با حجم بالای داده در یک سیستم مبتنی بر EF Core کار میکنی و نیاز داری دادهها رو بین چندین جدول یا دیتابیس تقسیم کنی تا عملکرد بهتری داشته باشی. همچنین اگر میخوای عملیات خواندن و نوشتن رو از هم جدا کنی (مثلاً از دیتابیسهای جداگانه برای read و write استفاده کنی)، این ابزار عالیه.
چند مثال از موارد استفاده:
- ذخیرهسازی دادههای کاربران در جداول جداگانه بر اساس آیدی کاربر (مثلاً User_001, User_002)
- تقسیم دادههای فروش بر اساس تاریخ (مثلاً Order_2023, Order_2024)
- استفاده از دیتابیسهای مختلف برای عملیات خواندن و نوشتن جهت کاهش بار سرور اصلی
- مدیریت دادههای حجیم در سیستمهای میکروسرویس بدون نیاز به تغییر در لایه دسترسی به داده
- ##sharding
- ##efcore
- ##dotnet
- ##readwriteseparation
- ##highperformance
- ##lightweight
- ##database
- ##microservices
- ##scalability
- ##csharp
