MongoDbRepository.Extensions.DataMesh.Bridge
6.4.3
dotnet add package MongoDbRepository.Extensions.DataMesh.Bridge --version 6.4.3
NuGet\Install-Package MongoDbRepository.Extensions.DataMesh.Bridge -Version 6.4.3
<PackageReference Include="MongoDbRepository.Extensions.DataMesh.Bridge" Version="6.4.3" />
<PackageVersion Include="MongoDbRepository.Extensions.DataMesh.Bridge" Version="6.4.3" />
<PackageReference Include="MongoDbRepository.Extensions.DataMesh.Bridge" />
paket add MongoDbRepository.Extensions.DataMesh.Bridge --version 6.4.3
#r "nuget: MongoDbRepository.Extensions.DataMesh.Bridge, 6.4.3"
#:package MongoDbRepository.Extensions.DataMesh.Bridge@6.4.3
#addin nuget:?package=MongoDbRepository.Extensions.DataMesh.Bridge&version=6.4.3
#tool nuget:?package=MongoDbRepository.Extensions.DataMesh.Bridge&version=6.4.3
MongoDbRepository.Extensions.DataMesh.Bridge
Enables real-time, low-latency Change-Data-Capture (CDC) replication data pipelines that sync operational MongoDB transactional tables into decoupled column-oriented analytical datastores, reporting views, or search indexes (e.g., ClickHouse, Snowflake, Elastic) without degrading production database performance.
🌟 Features
- Zero Transaction Impact: Relies entirely on out-of-band MongoDB Change Streams to tail changes asynchronously away from your main transaction engine.
- Resilient Connection Standby: Persists resume tokens inside an
ObjectIdDocumentdatabase collection checkpoint layer to guarantee change-delivery tracking survives container recycles or pod updates. - Auto-Provisioned Infrastructure: Integrates index providers straight into the core assembly index pipeline (
AddAutomatedIndexes()) to establish unique data-mesh indexing fields automatically.
🚀 Quick Start
1. Model an Analytical Projection and Sink
Define the target reporting view model and implement the IDataMeshSink interface to push data to your analytical sink:
public record FinancialReportRow(string FacilityId, string CompanyName, decimal TotalExposure);
public class ClickHouseDataMeshSink : IDataMeshSink<FinancialReportRow>
{
public async Task ProjectUpsertAsync(FinancialReportRow projection, CancellationToken cancellationToken)
{
// Execute real-time batch insert/update against ClickHouse/Data Lake cluster
}
public async Task ProjectDeleteAsync(string entityId, CancellationToken cancellationToken)
{
// Execute eviction tracking logic inside data lake table spaces
}
}
2. Register the Bridge Engine Pipeline (Program.cs)
Map your rich corporate transactional entity into the lightweight analytical projection row using fluent LINQ selectors:
C#
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddMongoDbRepositoryCore(builder.Configuration.GetSection("MongoDb"));
// Bind a continuous CDC stream from 'CreditFacility' (transactional) into 'FinancialReportRow' (analytical)
builder.Services.AddDataMeshCdcBridge<CreditFacility, ObjectId, FinancialReportRow, ClickHouseDataMeshSink>(facility =>
new FinancialReportRow(
facility.Id.ToString(),
facility.CorporateId,
facility.ApprovedLimit
));
// Automatically builds structural checkpoint unique indexes across the system
builder.Services.AddAutomatedIndexes();
| 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
- MongoDbRepositoryCore (>= 6.4.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.