SharpCoreDB.Distributed
1.9.7
See the version list below for details.
dotnet add package SharpCoreDB.Distributed --version 1.9.7
NuGet\Install-Package SharpCoreDB.Distributed -Version 1.9.7
<PackageReference Include="SharpCoreDB.Distributed" Version="1.9.7" />
<PackageVersion Include="SharpCoreDB.Distributed" Version="1.9.7" />
<PackageReference Include="SharpCoreDB.Distributed" />
paket add SharpCoreDB.Distributed --version 1.9.7
#r "nuget: SharpCoreDB.Distributed, 1.9.7"
#:package SharpCoreDB.Distributed@1.9.7
#addin nuget:?package=SharpCoreDB.Distributed&version=1.9.7
#tool nuget:?package=SharpCoreDB.Distributed&version=1.9.7
SharpCoreDB.Distributed
Distributed Database Extension for SharpCoreDB
Patch updates in v1.9.5
- ✅ Parameterized query binding fixed (Issue #336): named-parameter binding is token-aware, so parameter names that are prefixes of others (e.g.
@tvs@tid) no longer corrupt the SQL. - ✅ Server parameter pass-through fixed (Issue #337):
request.Parametersare forwarded on gRPC, the binary (PostgreSQL) protocol and WebSocket. - ✅ ULID encoding is now standards-compliant: ULIDs follow the official Crockford Base32 spec and are interchangeable with Python/Java/Go implementations.
- ✅ NuGet dependencies updated to their latest stable versions.
SharpCoreDB.Distributed extends SharpCoreDB with enterprise-scale distributed capabilities:
- Horizontal Sharding: Distribute data across multiple nodes
- Replication: Master-slave replication for high availability
- Backup Strategies: Automated backup and point-in-time recovery
- Distributed Queries: Cross-shard query execution
- Load Balancing: Intelligent request routing
Quick Start
using SharpCoreDB.Distributed;
// Configure sharding
var shardConfig = new ShardConfiguration
{
ShardCount = 4,
ShardKey = new HashShardKey("UserId"),
ReplicasPerShard = 2
};
var distributedDb = new DistributedDatabase(shardConfig);
// Create distributed table
await distributedDb.ExecuteAsync(@"
CREATE TABLE Users (
UserId INT PRIMARY KEY,
Name TEXT,
Email TEXT
) SHARDED BY UserId
");
// Data is automatically distributed across shards
await distributedDb.ExecuteAsync(
"INSERT INTO Users VALUES (1, 'Alice', 'alice@example.com')"
);
Features
Sharding Strategies
- Hash Sharding: Even distribution using hash functions
- Range Sharding: Partition by value ranges
- List Sharding: Explicit shard assignment
Replication
- Master-Slave: Automatic replication to read replicas
- Failover: Automatic promotion of healthy replicas
- Consistency: Configurable consistency levels
Backup & Recovery
- Incremental Backups: Efficient backup of changes only
- Point-in-Time Recovery: Restore to any point in time
- Validation: Automatic backup integrity checking
Distributed Queries
- Cross-Shard Joins: Join data across shard boundaries
- Aggregation: Distributed GROUP BY and aggregate functions
- Transactions: Two-phase commit across shards
Architecture
┌─────────────────┐ ┌─────────────────┐
│ Shard 1 │ │ Shard 2 │
│ ┌─────────────┐ │ │ ┌─────────────┐ │
│ │ Master DB │ │ │ │ Master DB │ │
│ │ └───────────┘ │ │ │ └───────────┘ │
│ │ ┌───────────┐ │ │ │ ┌───────────┐ │
│ │ │ Replica │ │ │ │ │ Replica │ │
│ │ └───────────┘ │ │ │ └───────────┘ │
│ └─────────────┘ │ │ └─────────────┘ │
└─────────────────┘ └─────────────────┘
│ │
└───────────────────────┘
Load Balancer
Performance
- 100+ Shards: Scale horizontally across multiple nodes
- Sub-second Queries: Cross-shard query performance
- Zero Downtime: Automatic failover and recovery
- Minimal Overhead: <1% performance impact for local operations
Use Cases
- High-Volume Applications: Handle millions of users/transactions
- Global Services: Distribute data across geographic regions
- Analytics Platforms: Parallel processing across shards
- IoT Systems: Scale to handle massive sensor data streams
Documentation
Requirements
- SharpCoreDB.Core v1.3.5+
- .NET 10.0+
- Network connectivity between shard nodes
License
MIT License - see LICENSE for details.
SharpCoreDB.Distributed v1.9.5
Enterprise Distributed Database Features
Multi-master replication, distributed transactions, and automatic sharding - Phase 10 complete with sub-100ms replication latency.
✨ What's New in v1.9.5
- ✅ Phase 10.2: Multi-master replication with vector clocks
- ✅ Phase 10.3: Distributed transactions with 2PC protocol
- ✅ Automatic conflict resolution (Last-Write-Wins, Merge, Custom)
- ✅ Horizontal sharding with automatic data distribution
- ✅ <100ms replication latency, 50K writes/sec throughput
🚀 Key Features
- Multi-Master Replication: Concurrent writes across nodes with vector clocks
- Distributed Transactions: 2PC protocol for ACID across shards
- Horizontal Sharding: Automatic data distribution and routing
- Conflict Resolution: LWW, merge, or custom strategies
- Failover: <5 second automatic failover
- Monitoring: Real-time replication health metrics
📊 Performance
- Replication Latency: <100ms across nodes
- Throughput: 50K writes/sec across 3 nodes
- Conflict Resolution: <100μs per conflict
- Failover Time: <5 seconds
🎯 Use Cases
- Distributed Applications: Multiple data centers, low-latency access
- High Availability: Survive node failures transparently
- Geo-Distribution: Serve users from closest region
- Multi-Tenant: Shard data by tenant for isolation
📚 Documentation
📦 Installation
dotnet add package SharpCoreDB.Distributed --version 1.9.5
Requires: SharpCoreDB v1.9.5+
Version: 1.9.5 | Status: ✅ Production Ready | Phase: 10 Complete
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.DependencyInjection (>= 10.0.11)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.11)
- Microsoft.Extensions.Logging (>= 10.0.11)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.11)
- Microsoft.Extensions.ObjectPool (>= 10.0.11)
- SharpCoreDB (>= 1.9.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0 | 0 | 9/1/2026 |
| 2.0.0-preview.3 | 35 | 8/30/2026 |
| 1.9.9 | 38 | 8/30/2026 |
| 1.9.8 | 47 | 8/29/2026 |
| 1.9.7 | 42 | 8/29/2026 |
| 1.9.6 | 39 | 8/28/2026 |
| 1.9.5 | 52 | 8/27/2026 |
| 1.9.4 | 91 | 8/22/2026 |
| 1.9.3 | 116 | 7/28/2026 |
| 1.9.2 | 124 | 6/7/2026 |
| 1.9.1 | 119 | 5/21/2026 |
| 1.9.0 | 108 | 5/20/2026 |
| 1.8.0 | 125 | 4/29/2026 |
| 1.7.2 | 143 | 4/28/2026 |
| 1.7.1 | 123 | 4/26/2026 |
| 1.6.0 | 143 | 3/23/2026 |
| 1.5.0 | 149 | 3/14/2026 |
| 1.4.1 | 132 | 2/28/2026 |
v1.9.7: Fixes the WHERE IN (...) regression (#340) for SQLite VALUES lists, tuple rows, multi-value parameters and OR-chained predicates; ExecuteNonQuery now returns real affected-row counts via IDatabase.GetLastChanges(); single-file (.scdb) mode now encrypts block data with AES-256-GCM when DatabaseOptions.EncryptionKey is set (#341) and wrong keys are rejected. Includes all v1.9.6 fixes (the critical WHERE IN (#339) regression that silently returned ALL rows: IN / NOT IN evaluated correctly across single-file and directory mode, single-file parameterized queries normalize @-prefixed parameter names, token-aware parameter binding, server parameter pass-through, standards-compliant ULID encoding, updated dependencies).