1

我有一个带有两个数据库的系统,一个是面向客户的网站使用的,另一个是由“后台”订单履行系统使用的。我被要求运行从网站到后台系统的查询。我宁愿不这样做,允许基于 Web 的请求在内部系统上运行似乎很冒险。此外,这意味着在防火墙中打开路由以允许外部连接到内部服务器。

电子商务的最佳实践是什么?用一个数据库运行整个公司?或者每个系统的单独数据库,以及连接它们的中间件?

有时,Web 应用程序可能需要从内部系统中提取日期,但不是基于来自 Internet 的 HTTP 请求。

我敢肯定,最好的答案是“视情况而定!” 所以,如果人们对什么时候使用中间件有一个经验法则,什么时候不使用,我想在这里。

4

3 回答 3

0

我宁愿不这样做,允许基于 Web 的请求在内部系统上运行似乎很冒险。

更不安全的是使用客户端通过 HTTP 服务器连接的单个数据库。在不同的安全区域中拥有多个数据库是很常见的。

于 2010-06-03T14:06:48.167 回答
0

好吧,您可以将事务数据库中的数据复制到只读副本,以作为相对快速的修复解决方案运行报告查询。但是,对于电子商务,您需要了解 PCI 并确保您遵循他们的要求来保护敏感的客户/信用卡数据。PCI 合规指南

下一步是构建一个专门为报告目的而组织的数据仓库——使编写查询变得更容易,并让它们更有效地运行以对数据进行切片和切块——从多个角度(维度)查看它。Ralph Kimball 数据仓库大师

于 2010-06-03T14:08:20.990 回答
0

这里有很多选择。

1) 数据传送。您可以将数据发送到 Web 数据库,以便它拥有自己的本地信息缓存,以便在需要时使用。

2) 服务。您可以使用接受请求并发回数据的服务来保护您的内部数据库。这避免了对您的内部数据库的任何直接访问,但为您提供了没有数据之外的数据的好处,就像在选项 1 中一样。

3) 服务总线。如果你需要这些东西,你可以在两个系统之间插入一些中间件来处理诸如保证交付和 ETL 之类的事情。

本质上,有很多正确的答案——也有一些错误的答案……

错误的答案包括将所有内容都放在一个数据库中,允许从 Internet 直接访问您的内部数据库以及在两个数据库之间设置链接服务器!

于 2010-06-03T14:09:09.180 回答