NoSQL数据库安全优于RDBMS吗?
来源: 阅读:1178 次 日期:2015-09-24 15:22:32
温馨提示: 小编为您整理了“NoSQL数据库安全优于RDBMS吗?”,方便广大网友查阅!

NoSQL或者Not Only SQL(不仅仅是SQL)是一种数据存储和检索方法,对于开发交互式Web应用的初创公司和处理大量数据的企业而言,这是非常“时髦”的方法。这种方法受欢迎的主要原因是:与传统关系型数据库管理系统(RDBMS)相比(包括甲骨文的MySQL和微软的SQL Server),它提供更好的可扩展性和可用性,以及更快的访问数据。

RDBMS中的数据需要是可预测的,因此数据可以存储在有结构的表和行中,通过不同元素之间定义关系。另一方面,NoSQL数据库中的数据则不需要如此结构化或者按照固定的模式。当性能和实时访问比一致性更重要时,例如当索引和检索大量记录时,NoSQL比关系型数据库更适合。在NoSQL中,数据也可以更容易地跨多个服务器存储,因而提供更好的容错性和可扩展性。谷歌和亚马逊等公司是使用自己的云友好型NoSQL数据库技术,现在有很多商业和开源NoSQL数据库可供企业选择,例如Couchbase、MongoDB、Cassandra和Riak。

尽管数据存储在NoSQL数据库中有诸多优点,但快速方便地访问数据的需要严重影响了NoSQL安全。为了安全地存储信息,数据库需要提供保密性、完整性和可用性(CIA)。企业RDBMS数据库通过集成的安全功能提供CIA功能,例如基于角色的安全、加密通信、支持行和列访问控制,以及通过预先设定的程序,用户级权限的访问控制。RDBMS数据库还具有ACID(原子性、一致、隔离、耐用)功能来保证数据库交易的可靠处理;数据复制和日志记录确保耐用和数据完整。由于这些功能增加了检索大量数据所花费的时间,所以它们没有部署在NoSQL数据库中。

为了保证对数据的快速访问,NoSQL数据库基本没有内置安全性。它们有BASE(基本可用、软态、最终一致)的属性;不需要每次传输后的一致性,该数据库只需要最终达到一致状态。例如,当用户查看数据时,比如存储条目的数量,用户会看到数据的最后一次快照,而不是当前视图。因为数据交易没有立即写入到数据库中,同时进行的交易可能会互相干扰。这种固有的争用情况(用户不一定在同一时间看到相同数据)意味着NoSQL数据库永远不会用于处理金融交易。

NoSQL数据库还缺乏保密性和安全性。由于NoSQL数据库没有固定的模式,对表、列或行的权限不能被隔离。这也可能导致相同数据出现多个副本。这会让该数据库很难保持数据的一致性,特别是对多个表格的更改不能包装到一个交易中,因为其插入、升级或删除操作的逻辑单元是作为整体来执行。

现在有超过20种不同的NoSQL部署,缺乏标准也让保持数据安全的更复杂。保密性和完整性必须完全由访问NoSQL数据的应用来提供。对于任何在应用级有价值的数据,只设置最后一道防线并不是正确的做法。应用开发人员并不擅长部署安全功能,新代码通常意味着新漏洞。发送到NoSQL数据库的任何请求都需要进行转义、过滤和验证,而数据库本身需要位于强壮的环境中。

有趣的是,一些NoSQL项目现在开始添加RDBMS类型的安全功能。例如,甲骨文对写入到一个节点的数据增加了事务性控制。Cassandra支持交易记录和自动复制,而MongoDB支持主从复制。

如果可扩展性和可用性是企业对数据库的主要要求,那么,NoSQL可能是某些大型数据集的最佳选择。然而,系统架构师在选择NoSQL数据库之前,应该仔细考虑他们对安全、隐私和数据完整性的需求。缺乏NoSQL安全功能,即身份验证或认证支持,意味着敏感数据最好保存在传统RDBMS中。

更多信息请查看IT技术专栏

更多信息请查看数据库
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map