@levinzhang
2017-10-02T06:29:57.000000Z
字数 1269
阅读 494
by
最近,New Relic开源了El Dorado UI项目,这是一个用来查询和可视化开发团队、项目以及微服务的Sinatra应用,这些数据都会存储到Neo4J图数据库中。Ward Cunningham是Wiki的发明者,他在科罗拉多州丹佛市召开的Explore DDD会议上介绍了该项目的起源并阐述了它的功能。
最近,New Relic开源了El Dorado UI项目,这是一个用来查询和可视化开发团队、项目以及微服务的Sinatra应用,这些数据都会存储到Neo4J图数据库中。El Dorado是一个结构化的数据仓库,里面存储了New Relic所有的开发团队、项目以及微服务之间的关联关系。Ward Cunningham是Wiki的发明者,他在科罗拉多州丹佛市召开的Explore DDD会议上介绍了该项目的起源并阐述了它的功能。
El Dorado是在Upscale项目之后诞生的,借助Upscale项目,New Relic彻底改变了整个软件开发流程。在100多位工程师定义完新团队之后,他们会自行选择去哪里工作,从而形成了一种网状的关联关系,因此简单、层级式的组织结构图就无法描述这种关联关系了。另外,很重要的一点在于需要跟踪这些团队所创建的微服务。Cunningham的同事Andrew Ettinger研究了New Relic的工程记录,并将该项目命名为El Dorado,它的意思是存储宝藏的地方(El Dorado原意指的是理想中的黄金国——译者注)。
图数据库非常适合存储团队之间的关联关系,El Dorado用到的是Neo4j。他们会有一个每日运行的ETL进程,保证中心数据库的数据能够与多个上游数据源的数据保持同步。Cunningham将其称为“结构化仓库”,意思是该仓库不仅仓储数据,还会存储结构。
El Dorado的系统图,来源: https://github.com/newrelic/el-dorado-ui
El Dorado UI的强大之处在于它能很容易地可视化组织中复杂的关联关系。用户可以使用封装好的查询,也可以使用Neo4j的Cypher查询语言编写自定义的临时查询(ad hoc),不管采用哪种方式都能看到查询结果的一个图形化展示。它会使用GraphViz的Dot符号来绘制SVG图片,不仅能够绘制简单的框图和线,还能绘制具有数十个实体的复杂图形。
就像Cunningham使用El Dorado的方式一样,能够有一个直观的界面可视化复杂的关联关系是非常有价值的。当我们有5️个数据源时,会觉得这个工具很有用,有15个数据源时,会对它爱不释手,如果将数据源加倍的话,就会觉得这是必不可少的了。
关于El Dorado项目的更多信息,可以参考Cunningham的Federated Wiki页面。
查看英文原文:New Relic Releases El Dorado UI, a Web App for Visualizing a Neo4j Graph Database