图数据库实战
上QQ阅读APP看书,第一时间看更新

在新的十年来临之际,开发人员在开始新项目时将面临众多的数据库选择。强大的关系数据库仍然统治着市场,在遗留项目和全新项目中都保持着很高的人气,理由也很充分:其灵活性和四十多年间累积的工程历史是无可辩驳的。尽管关系数据库取得了成功,但在过去十年里,为取代关系数据库模型和查询语言而被设计出来的新型商业和开源数据库系统数量激增。一些数据库系统以新的方式来应对传统的关系数据库工作负载,例如采用内存优化技术(内存价格的下降使这种方法变得可行)来实现横向扩展或高性能,其他许多数据库系统则完全偏离了关系模型。在这些数据库系统中,我们发现了各种各样的焦点领域和建模范式。这本书主要关注其中一个富有表现力且强大的发展方向——图模型,尤其是属性图。

图数据库并不是什么新鲜事物。层次数据库和导航式检索方式自20世纪60年代以来就已经存在了,但直到近年来,它们在开发者群体中的受欢迎程度才有所提高。我认为这在很大程度上是由于属性图数据模型的直观性。人们习惯于借助图来思考问题。如果你在白板上画一张图来表述问题,那么无论技术人员还是非技术人员都能够明白。因此,当将图模型叠加到手头的软件任务上之后,一切看起来就都像是图问题了。

不管怎么说,我们还是在和技术打交道,所用的属性图数据库只不过是比较新的技术而已,并没有什么神奇之处。这正是戴夫和乔希伸出援手的地方。我想不出还有哪些专家能更好地引导你踏上理解图数据库的旅程并帮助你规划路线。他们都是成就斐然的图架构师和开发人员,在这一领域最近流行起来之前就已经参与其中了。他们从事过基于图的产品的开发和咨询工作,并且积累了多年的实践经验。

这一经历造就了他们对图应用程序开发问题的务实态度。虽然两人都是图技术的支持者,但他们并非盲目支持,对这项技术并不过分执着。毕竟,新开发者面临的首要问题之一是:这是一个图问题吗?在学习这本书的过程中,你将磨炼出一种将现实世界中的问题转换为图数据模型的直觉,以构建你的Gremlin查询分支。Gremlin是一种流行且功能强大的属性图查询语言。在第6章中,你将运用这些知识来构建你的第一个图应用程序。在完成时,你将有能力评估图数据库是否适合你的下一个项目,如果适合,就可以基于已构建的示例图数据库应用程序实现该愿景了。

 

Ted Wilmes
Expero公司数据架构师、JanusGraph技术指导委员会委员