0

我使用 Azure SQL 数据库在 azure 上托管了 APPS 服务,其中包含大约 15 个表: - 帮助 - 用户 - 事件日志等。

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

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

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

你有什么建议最好吗?

4

2 回答 2

0

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

于 2017-09-07T16:14:01.770 回答
0

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

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

您还可以使用 Power BI 创建仪表板,如此所述。

希望这可以帮助。

于 2017-09-07T19:28:34.990 回答