【TechTarget中国原创】 由于越来越多的企业负载正在迁移到NoSQL上,以利用非结构化数据以及可扩展性,更好的灵活性和低廉的成本。而Oracle(尽管他们在NoSQL和MySQL上也都有投资)对于这些新需求的响应并不是很好。 事实上,Oracle面对着更为糟糕的情况,即与企业级NoSQL兴起并驾齐驱的是对于“数据库响应负载”的企业级需求的兴起。在“主/从”上创造一个双关语(通常指的是复制),在以前无论厂商(如Oracle,Microsoft,IBM,SAP等)提供什么样的“大数据”,企业都必须将自己的工作负载与之进行适配。而如今企业有理由要求“大型数据库”提供拥有某些NoSQL关键功能的SQL RDBMS。
当然,这里所做的假设是NoSQL可以处理上述所有内容——而这一假设可能过于理想。并不是所有的NoSQL DBMS都能处理上述需求,特别是在有硬件问题凸显的情况下,预算就会超支了。 另一个更大的假设是:“非结构化数据”表明非确定的一致事务是必要的。企业将大部分工作负载部署在RDBMS数据库上,究其原因就是因为这些数据库保证了实时事务的一致性。 在你想要赚钱的时候,就使用SQL数据库吧。但这是为什么呢? RDBMS有着四十年的历史,它已经让每个人都知道数据库要创建一致性事务。实际上,这称之为“ACID规范”,而这是NoSQL数据库无法提供的。换句话说,虽然NoSQL数据库可以处理非结构化数据并有着很好的可扩展性,但是它们在实时维护所有数据库节点的ACID规范,事务性,数据一致性以及参照完整性上却是糟糕透顶。 因此,你可以部署NoSQL数据库来省钱,但是当你想真正赚钱的时候,还是要使用SQL数据库。 不过,是否存在折中的选择呢?能否在获得RDBMS的ACID事务性的同时兼具NoSQL数据库的可扩展性和灵活性呢?像ClustrixDB这种可扩展的NewSQL数据库就是不错的选择。 类似于ClustrixDB的数据库可以处理很多下面的挑战:
总结企业中非结构化数据的增加推动了NoSQL数据库的应用,而且企业也正在要求他们的SQL数据库具有和NoSQL类似的功能,比如:
扩展SQL数据库所满足的那些需求是无法从诸如Oracle,SQLServer,IBM等‘大型数据库’厂商获得支持的。 |
|