技术开发 频道

NoSQL数据库正在替代关系型数据库

  【IT168 评论】IT正在由传统的关系型数据库转向新出现的NoSQL和NewSQL。虽然关系型数据库可能永远都不会消亡,至少短期内不会消亡,但是它们正在日渐式微。

  虽然是企业软件部署中的关键一环,但是关系型数据库目前正在被迫与能够更好地适应新数据架构和新硬件系统的技术共享一个舞台。现阶段,RDBMS(关系型数据库管理系统的简称)仍然在IBM、微软、甲骨文等软件厂商中发挥着重要作用,RDBMS也将继续掌握着金融交易等核心功能。不过,NoSQL数据库以及Apache Hadoop和MapReduce等大数据技术也开始逐渐出现在这些重要领域。

  Bloor集团首席分析师Robin Bloor称:“关系型数据库正在消亡。它的架构已经过时,需要被更新。”Bloor解释说,RDBMS是针对使用单核CPU系统、小容量内存、大容量硬盘的旧有硬件环境编写的。如今多核处理器和固态硬盘正在成为主流,硬盘访问已经不再重要。“环境发生了改边,如同你的出行工具由火车换成了飞机。固态硬盘的速度很快,根据读取速度确定的硬盘与内存比将会下降。”Bloor说。

  在Wright Robbins咨询公司研究业务与智能系统架构的Jill McRae认为,RDBMS的价值已经下降了许多。她说:“统计显示,全球只有很少的数据是真正在关系型系统中被管理的。”

  NoSQL和NewSQL的崛起

  McRae认为,NoSQL数据库崛起的原因是数据作用域发生了改变。它们不再是整数和浮点等原始的数据类型,数据已经成为了一个完整的文件。由于DBA(数据库管理员)正在逐渐丧失对其领域的控制权,因此NoSQL可能将让DBA感受到了压力。

  NoSQL让数据库具备了非关系、可水平扩展、可分布和开源等特点。《MongoDB NoSQL数据库》一书的作者之一Dwight Merriman表示,NoSQL能够作为一个辅助存储器用于Web应用服务器、内容管理系统、结构化事件记录、移动应用专用的服务器端存储、文件存储等。

  数据库领域中的领军人物、Ingres数据库的主要设计者、目前担任VoltDB公司CTO一职的Michael Stonebraker对遗留的“陈旧”RDBMS提出了批评。他说:“它们如今运行的是非常、非常老的代码,这些都是上世纪八十年代的东西。由于遗留问题,甲骨文无法进行改进。”Stonebraker目前支持NewSQL,他认为NewSQL在提供了性能和扩展性的同时保留了SQL、关系模型和ACID。NewSQL通过在主内存中运行数据库淘汰了资源消耗缓冲池,并且通过在一台服务器的一个单线程上运行,消除了对闭锁的需求。

  目前另一个引起争论的是Hadoop,其能够在计算机集群中对大型数据集进行分布式处理。Hadoop可以扩展到成千上万台机器上,并且还可以得到MapReduce编程模式和可创建应用快速在集群中或并行处理大量数据架构的补充。

  RDBMS处理约16%的数据

  尽管关系型数据库正在受到新技术的冲击,但是RDBMS仍然是企业计算的中坚力量。研究机构Forrester的分析师Noel Yuhanna称,包括软件许可证、技术支持维护和相关服务在内,RDBMS市场份额约为350亿美元。Forrester估计,企业中有25%的商业数据为结构化数据,其中至少有65%在一个RDBMS或其他传统的数据库管理系统中。因此,RDBMS至少处理着16%的商业数据,其余的部分为文件和文本格式。

  其余75%的商业数据是半结构化文件(例如XML、电子邮件和EDI)和非结构化数据(例如文档、图片、视频和音频)。Yuhanna说:“我们估计,在这些数据中,大约5%的数据留存在RDBMS中,其余的则存放在不同的非RDBMS和文档格式中。”

  Bloor说:“RDMBS将在没有任何人关注的情况下消失。例如,甲骨文将寻求更新的数据库技术,并关闭老的数据库引擎。他们仍然会冠以甲骨文之名,但是它们再也不是原先的那个甲骨文数据库了。”他指出,列存储数据库有望成为这种过渡的候选技术,而关系型数据库产品也有可能被彻底重写。但是,如果IBM、微软和甲骨文打算对他们的RDBMS进行现代化升级,那么这些厂商可能并不会认同这种说法。

0
相关文章