用于报告和日常交易的数据库

2023-12-29

我有一个保存大量数据的系统。使用的数据库是SQL Server。其中一张表大约有 300000 行,而且这种大小的表数量相当多。该表会定期更新 - 我们将其称为发生事务的“事务数据库”。

现在,我们需要实现报告功能。一些架构师提出了一个不同的数据库,它是该数据库的副本+一些用于报告的附加表。他们提出这一点是因为他们不想破坏事务数据库功能。为此,必须经常将数据移至报告数据库。我的问题是,是否真的需要为此目的拥有第二个数据库?我们可以使用事务数据库本身来进行报告吗?由于数据必须移动到不同的数据库,因此会涉及延迟,但如果使用事务数据库本身进行报告则不会出现这种情况。 期待一些专家的建议。


您需要对 ETL、数据仓库和报告数据库进行一些研究,因为我认为您的架构师可能会以一种很好的方式解决这个问题。由于您没有提供实际报告的详细信息,我将尝试回答一般情况。

(免责声明:我在这个领域工作,我们有适合这个领域的产品)

事务数据库针对读取/更新/插入之间的良好平衡进行了优化,并且索引和表规范化旨在实现这一效果。

报告数据库的设计目标是非常非常适合读取访问,而不是其他所有事情。这意味着应用于事务数据库的“正常”规范化规则将不适用。事实上,高度的非规范化可以使报告查询更高效、更易于管理。

在事务数据库上运行复杂的(尤其是扩展数据范围(例如历史时间范围)的聚合)查询可能会影响性能,从而导致数据库的关键用户(事务生成器)可能受到负面影响。

尽管您的情况可能不需要报告数据库,但您可能会发现将两个用例分开会更简单。

您对数据延迟的担忧是真实存在的。这只能由使用报告的业务用户来回答。人们经常说“我们想要实时信息”,而事实上,他们的很多(如果不是全部)需求都包含在非实时信息中。数据陈旧的可接受程度只能由他们来回答

事实上,我建议您进一步进行研究,并针对您的报告问题考虑多维立方体,而不仅仅是报告数据库。我们的设计将您的报告问题抽象到全新的水平。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于报告和日常交易的数据库 的相关文章

随机推荐

  • Rails 应用程序内的 AMQP 订阅者

    是否可以使用我的 Rails 应用程序启动 AMQP 订阅者 可能通过初始化程序或其他东西 我想让它同时运行 也可以与 Rails 模型交互 下面是我的意思的伪代码示例 queue subscribe do msg body Foo cre
  • Asp 控制转发器内的 Id 生成

    我在中继器 itemtemplate 中定义了一些控件 问题出在自动生成的 Id 上 这是我的页面
  • 使用 CALayer 时无法编译代码

    由于某种原因 当我尝试使用 CALayer 时出现链接器错误 OBJC CLASS CALayer referenced from 我导入了以下标头 import
  • PropertyWrapper 中不存在的 Codable 属性的默认值

    我创建了一个像这样的propertyWrapper propertyWrapper public struct DefaultTodayDate Codable public var wrappedValue Date private le
  • 如何使用 JavaScript 将音频静音/取消静音

    我在这里创建了我的函数的小提琴 http jsfiddle net rhy5K 10 http jsfiddle net rhy5K 10 现在我想为用户提供声音 静音 取消播放 选项 例如 如果我点击 一个链接 那么声音就像Get rea
  • 为什么用“to_excel”保存时pandas数据框样式丢失?

    Per 这个例子 https pandas pydata org pandas docs stable user guide style html Export to Excel the to excel方法应保存带有背景颜色的 Excel
  • 显示“页面加载”消息

    我试图在 html 页面中显示用于 页面加载 的图像 gif 直到显示 my script py 的输出 但我不知道该怎么做 This http jsfiddle net 9X4gW 这是我到目前为止所得到的 提前谢谢了 HTML div
  • 使用反射从字符串获取属性值

    I am trying implement the Data transformation using Reflection https web archive org web 20210122135227 http geekswithbl
  • 最后的手段/万能的/后备模板过载

    正如我之前提出的一个问题所示 重载解析 模板和继承 https stackoverflow com questions 28405921 overload resolution templates and inheritance 28406
  • 组织我的 Python 项目

    我正在启动一个 Python 项目 预计其中有 20 个或更多类 作为良好的做法 我想将它们分别放入一个单独的文件中 然而 项目目录很快就会被文件淹没 或者当我这样做时 如果我将要导入的文件放入文件夹中 我将无法再导入它 如何从另一个文件夹
  • FastAPI 中的可选查询参数

    我不明白可选查询参数 https fastapi tiangolo com tutorial query params optional parameters在 FastAPI 中 它与什么不同默认查询参数 https fastapi ti
  • 在Java中读取IDX文件类型

    我已经用 Java 构建了一个图像分类器 我想针对此处提供的图像进行测试 http yann lecun com exdb mnist http yann lecun com exdb mnist 不幸的是 如果您下载 train imag
  • Jasper 报告导出到 pdf 时出现字体大小问题

    我正在使用 Jaspersoft Studio 5 6 它在 Jaspersoft Studio 的设计视图中正确显示 在预览视图中 它也可以正确显示 使用 java 或 pdf 当我从 Java 应用程序执行报告时 三个文本以相同的大小显
  • jQuery 自动完成中未定义的结果

    所以我已经运行了最新版本的 jQuery 和 UI 我正在使用基本的自动完成调用并返回有效的 JSON 通过 JSONLint 验证 input cust id autocomplete source yoda app base asset
  • 为什么我没有 keras.applications 模块?

    from scipy misc import imsave import numpy as np import time from keras applications import vgg16 from keras import back
  • Android:当我启动新活动并按返回返回到它时,列表视图会自我复制

    我有两个列表视图 它们是视图寻呼机选项卡中的片段 当您单击列表视图中的项目时 它会启动一个新活动 但是 当我按后退按钮返回到选项卡式列表视图时 列表视图已加倍 如果我打开活动并再次返回 它会再次加倍 并且它将继续这样做 另外 我还有另一个带
  • Python括号约定[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 应用程序提交:无效的二进制文件 - 无效的签名

    我正在尝试向 iOS 应用商店提交更新 我将从 Buzztouch 应用程序转到 Sprite Kit 应用程序 我能够存档 Xcode 项目并提交 该应用程序进入 上传已接收 状态 但大约一分钟后 它更改为 无效二进制文件 我收到一封电子
  • 如何使用 ggplotly - R 使散点图点打开超链接

    我想让我的散点图点可单击 并在单击时打开每个点各自的超链接 我正在尝试使用 ggplotly 来做到这一点 使用plotly 构建绘图时有一个简单的方法可以做到这一点 请参见下面的第一个示例 但是 当我在 ggplotly 上运行它时 单击
  • 用于报告和日常交易的数据库

    我有一个保存大量数据的系统 使用的数据库是SQL Server 其中一张表大约有 300000 行 而且这种大小的表数量相当多 该表会定期更新 我们将其称为发生事务的 事务数据库 现在 我们需要实现报告功能 一些架构师提出了一个不同的数据库