关于数据库已死这个话题,谈谈我的看法
原文:数据库已死
这是Jdon作者写的一篇文章,十一无事,读了这篇文章。下面谈谈我的看法。
此文章最基本的一个思想就是说数据库现在已经成为网络应用和企业应用发展的一个瓶颈,MySpace便是一个例子。要改变这个现状,就要改变以数据库作为应用中心的结构,转而使用JavaEE中间件作为应用的核心,而数据库至多是将数据持久化的地方。和操作系统一样,数据库将来的角色只是应用运行的基础平台。
这个观点我是同意的。对于过去以数据库为核心的,很多逻辑用视图、存储过程实现的老系统我接触的不多,当然也不清楚这样的系统如何扩展。文章提到了中型机,我对那东西更是不了解,但应该是很大很贵的东西。所以,如果一个系统能用二十台PC达到原来需要中型机才能达到的效果,这样的架构的可扩展性自然是很好的。
说到JavaEE应用的可扩展性,我又想起了Terracotta。它是一个JVM-Level的集群解决方案。JVM-Level即意味着你不需要在你的代码中使用Terracotta的API。Terracotta对于你的应用来说几乎是完全透明的(因为你还是需要做一些配置)。Terracotta可以使你的应用仿佛运行在一个巨大的Heap上(通过无缝整合每台服务器上的Heap)。同时,诸如分布式同步等复杂问题,Terracotta都会帮你解决好。总之,Terracotta可能就是解决很多应用的扩展性问题的良药。当然,Terracotta不会是完美的,但至少它带给了我们以希望。
像Terracotta这样的技术的兴起(从出现到流行,应该还有很长的路要走),都在告诉我们在系统架构设计的时候,都要弱化数据库的地位,将来数据库的作用将只是应用运行的基础环境(Terracotta也有数据持久化到磁盘的功能,在某些方面可以取代数据库)。新系统的架构的设计要尽可能地从OO角度出发。
总之,随着技术的发展,数据库将逐渐失去它在企业应用中的重要地位,虽然它不会完全淡出。