C# 对SQL Server事务数据执行实时聚合的设计

C# 对SQL Server事务数据执行实时聚合的设计,c#,sql-server,mapreduce,C#,Sql Server,Mapreduce,我有一个.NET应用程序在SQL Server中触发事件并存储滴答数据。事务数据约为每天5 GB。由于与数据源相关的原因,我只能很难修改正在处理事件以执行聚合的.NET应用程序 我正试图找出最佳的实时方法,最好是使用C#(尽管我也知道Python)方法来实时自动聚合数据 有人对此有什么想法吗?我考虑过地图缩小,但似乎会有延迟。我确实希望避免构建.NET应用程序,因为我无法使用Visual Studio进行调试。您需要多大的实时性?显而易见的解决方案是每隔一分钟左右运行一次作业,以聚合最新的详细信

我有一个.NET应用程序在SQL Server中触发事件并存储滴答数据。事务数据约为每天5 GB。由于与数据源相关的原因,我只能很难修改正在处理事件以执行聚合的.NET应用程序

我正试图找出最佳的实时方法,最好是使用C#(尽管我也知道Python)方法来实时自动聚合数据


有人对此有什么想法吗?我考虑过地图缩小,但似乎会有延迟。我确实希望避免构建.NET应用程序,因为我无法使用Visual Studio进行调试。

您需要多大的实时性?显而易见的解决方案是每隔一分钟左右运行一次作业,以聚合最新的详细信息数据并将其加载到汇总表中


您还可以使用触发器或甚至触发器在加载数据时维护聚合。

这是一个广泛的问题。什么样的数据,有多少聚合,有多复杂,有多少历史数据,等等。勾选数据,需要执行一些计算来构建机器学习消费的功能。这些特征将存储在同一数据库的汇总表中。这些计算并不复杂,但可能是基于人们的需求。您能否澄清一下使用C#而不是通过.NET应用程序的意思?你的意思是像Sql Server中的CLR过程一样?我需要毫秒。我想到了触发器,但担心会影响写入速度。这两种解决方案都会对写入速度产生一定影响。对于加法聚合,必须使用U形锁读取聚合行,然后添加插入值并减去删除值。这将序列化对组的写入,降低对表的并行写入速度。