首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle Db查询信息是否在服务器或客户端上处理?

Oracle Db查询信息是否在服务器或客户端上处理?
EN

Stack Overflow用户
提问于 2017-10-11 01:11:34
回答 2查看 34关注 0票数 0

我们正在讨论数据安全,出现了一个我需要确认的问题。这是一种情况:

我们有两个Oracle数据库:一个在源服务器上,一个在客户机服务器上。源服务器具有敏感信息,并且已完全安全,并被视为符合要求。我们希望运行一个group by查询来聚合来自源的数据,并将其存储在客户机上,一旦聚合,数据将不再敏感。

简单地说..。这包括三个部分: 1)源服务器上的数据;2)数据在网络上的传输;3)客户端服务器上的数据。

有人能解释聚合发生在哪里吗?传送的数据是什么?

换句话说,这是怎么一回事:

  1. 数据首先聚合在源服务器上,通过网络发送的只是聚合数据。
  2. 数据通过网络从源服务器详细发送,然后聚合到客户端服务器上。
  3. 它是#1或#2的混合体
  4. 或者..。还有我遗漏的东西吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-11 06:26:03

Oracle优化分布式查询,以尽可能高效地执行它们,特别是它力求最小化通过网络发送的数据量。它总是尝试在远程服务器上运行查询,并且只将结果集发送到本地服务器。(将远程数据与本地数据连接时,情况要复杂得多,但这似乎不是您的场景)。了解更多信息

因此,您可以在客户端服务器上运行查询,并确保敏感数据保留在源服务器上,并且只传输聚合结果集(#1选项)。然而,如果我是你的安全官员,我仍然会对这个解决方案不满意。它仍然意味着将敏感表上的select访问授予安全数据库之外的用户。那太冒险了。

更安全的解决方案是将数据聚合到安全服务器上,比如使用物化视图。客户端服务器访问该物化视图以获得聚合数据,这取决于您需要什么,可以通过查询或视图,也可以使用另一个物化视图。

完整的解决方案是在源数据库上有一个单独的模式来承载物化视图,这样外部用户甚至都不能访问拥有敏感数据的模式。显然,维护DMZ是额外的开销,但是所有的安全性都是开销。

票数 1
EN

Stack Overflow用户

发布于 2017-10-11 03:16:46

如果策略是永远不要查看客户端服务器中的敏感数据,则选项一是您的选择。至于实现选项2,客户端服务器需要能够从源服务器查询原始数据。

要实现选项1,可以使用源服务器上的物化视图聚合数据,然后使用db链接将聚合数据复制到客户端服务器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46678219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档