我们有一个应用程序(规则引擎),它在内存中有很多表格来执行某些业务规则。这个引擎也用于需要时写回数据库。
DB结构是非正规化的,我们有5个事务性表格,有时还需要查询报告。
问题在于,我们想将数据缓存到应用程序中,以便在应用程序启动时加载,然后仅在DB更改时才进行更改。
有什么建议吗?
我们倾向于创建一个DB服务,处理所有插入、更新和删除,并将它们排队以减少DB服务器的负载(事务表格也有许多索引)。此外,我们考虑使DB服务可以坐在上面,为需要直接DB访问的所有报告/其他应用程序提供服务。
当然,这里的目的是减少每个请求的选择查询的DB击数,并优先处理交易。同时确保访问应用程序的人不会使DB服务器崩溃。
规则引擎是一个C#桌面应用程序,报告和其他应用程序基于Web。
如何最好地解决这个问题?我也想过从我的事务表中删除所有索引,并设置触发器插入到一个新表中,该表是副本,但用于报告检索的索引。
DB结构是非正规化的,我们有5个事务性表格,有时还需要查询报告。
问题在于,我们想将数据缓存到应用程序中,以便在应用程序启动时加载,然后仅在DB更改时才进行更改。
有什么建议吗?
我们倾向于创建一个DB服务,处理所有插入、更新和删除,并将它们排队以减少DB服务器的负载(事务表格也有许多索引)。此外,我们考虑使DB服务可以坐在上面,为需要直接DB访问的所有报告/其他应用程序提供服务。
当然,这里的目的是减少每个请求的选择查询的DB击数,并优先处理交易。同时确保访问应用程序的人不会使DB服务器崩溃。
规则引擎是一个C#桌面应用程序,报告和其他应用程序基于Web。
如何最好地解决这个问题?我也想过从我的事务表中删除所有索引,并设置触发器插入到一个新表中,该表是副本,但用于报告检索的索引。