当今时代工作任务种类繁多和任务处理机制逐渐多样化,对此您有什么看法?
John Myers:我们真正看到的是混合数据生态系统的出现。我们并不指望单个数据管理平台就能满足所有数据处理和管理需求。人们在考虑Hadoop和NoSQL技术,例如考虑Mongo和Cassandra。
也可能利用如Apache Spark或者其它不同类似的数据库,对吗?
Myers:是的,我认为Spark更是一个处理引擎,而不是数据管理平台。
一般来说,我们考虑数据管理系统的时候,会考虑满足ACID标准,还有就是要关注其持久性。Spark是很好的处理引擎。但是,它仍然需要其它持久化组件的配合。Spark必须依托于其它产品一起应用,要处理的数据需要留存和在某个地方管理。Spark正在变得越来越好,我不知道是否你曾经考虑把Map Reduce和Yarn与Spark融合考虑。这是启动转向非常好的平台,虽然它只发展了两三年。从这个角度讲,它还有很多工作要做,还要学习其它引擎的很多东西,这还需要一段时间。
对于某些使用案例,Spark的运行效果非常好。但是有些案例中,如果持续运行,Spark会比其它处理引擎运行的慢,这对任何平台都是一样的,完全取决于你希望解决什么问题。
回到关系数据库的本质,如果你想让关系数据库系统来实现加减乘除是很容易的,它一天到晚都在做这种任务。40年来大家一直在这么用它。
另一方面,如果你让关系数据库像Neo4j或者Objectivity(InfiniteGraph)这种图形数据库做图分析,这就非常困难了。你必须让关系数据库做非常复杂的递归关联,这都不是关系数据库擅长的事情,它本来设计定位就不是用来干这个的。