SQL服务器 - 实时和历史仪表板读取表单表

时间:2017-09-07 12:46:26

标签: c# sql-server azure azure-sql-database warehouse

我使用Azure SQL数据库托管在azure上的APPS服务,大约有15个表:   - 援助   - 用户   - eventLogs 等

目前我有大约150k的记录,而且每天我的数据库正在接收大约2000个与新用户相关的新援助。在我的应用程序上,我有一个cron,它每隔1分钟对所有表进行大量操作(更新,插入等)。

现在我的目标是创建一个漂亮的仪表板,它将显示管理员的数据(如援助状态,援助数量延迟等) - 基本上从这些表中读取数据。它应该提供按日期过滤的可能性(从 - 到目前为止) - 因此在最坏的情况下,很少有用户可以在同一时间生成月份报告(aprox .60k记录)。我害怕直接在我的prod数据库上做这件事,因为事实上,我已经进行了很多操作,所以我担心锁定。

我的想法是:   - sql数据库仓库 - >最大的问题是它的成本。   - 复制到第二个DB,用于查询仪表板的数据。 - 我不相信这个解决方案。   - 复制到noSQL数据库(仅推送重要信息)并将其用作仪表板源。 - 到目前为止,我没有这种解决方案的经验。

你有什么建议可能是最好的吗?

2 个答案:

答案 0 :(得分:0)

最后,我使用了Azure的Geo-replication选项,它使用了快照隔离功能,所以非常棒!甚至MS Azure建议使用此地理复制数据库作为用于只读操作的第二个数据库!我已经测试并且工作得非常好:)

答案 1 :(得分:0)

您可以使用Azure自动化来安排每分钟运行的任务,而不是从应用程序执行此操作。您可以了解有关Azure自动化here的更多信息。

考虑使用SQL Azure Data Sync,而不是使用地理复制。使主数据库成为“中心”数据库,并使用副本进行报告。您可以了解有关SQL数据同步here的更多信息。

您还可以按照here所述使用Power BI来创建仪表板。

希望这有帮助。