@Rays
2017-09-15T14:21:27.000000Z
字数 2272
阅读 1854
架构&设计
数据库
摘要: Southbank Software公司最近发布了dbKoda的首个版本 0.6.0版。dbKoda是一款开源的MongoDB开发工具,主要采用JavaScript开发。InfoQ就该产品采访了Southbank Software公司的 CTO Guy Harrison。
作者: Michael Redlich
正文:
Southbank Software公司最近发布了dbKoda 0.6.0,这是该软件的首个发布版。dbKoda是一款开源的MongoDB开发工具,采用JavaScript、React和Electron开发。下图显示了dbKoda的用户图形界面,突出特点是提供了一个连接管理器(Connection Manager)和代码编辑器(Code Editor),其中代码编辑器给出了丰富的MongoDB数据操作特性。
连接管理器维护多个数据库连接的配置信息(Profile)。在连接管理器窗口的下半部分,显示了包含每个活跃数据库连接及相应集合(Collection)的列表。点击鼠标右键,就会弹出一系列菜单选项,包括构建查询、执行CRUD操作、索引和导入导出数据(如下图左侧所示)。连接配置信息编辑器用于创建新的数据库连接,它支持所有形式的数据库连接语法(如下图右侧所示)。
代码编辑器中包括了查询输入输出窗口,该窗口用于编写和执行MongoDB的Shell命令。编辑器的特性包括了代码格式化、代码自动完成、代码折叠和语法高亮显示。用户可以在代码编辑器中手工编写查询,也可以使用查询构建器构建查询(如下图所示)。查询构建器可以在代码编辑器中动态地生成相应的MongoDB的Shell命令。该特性在编写复杂的MongoDB Shell命令时非常有用,它消除了如何正确格式化大括号和圆括号的一系列繁琐操作。
在Southbank Software最新发布的dbKoda 0.7.0版中,提供了如下新特性:
聚合构建器的功能类似于查询构建器,支持构建需要aggregate
聚合函数的更复杂查询。在下面的例子中,publications
集合(Collection)使用$lookup
操作符执行与authors
集合的做内连接运算。
db.publications.aggregate({"$lookup": {
"localField" : "author_id",
"from" : "authors",
"foreignField" : "_id",
"as" : "authorinfo"
}})
如下图所示,聚合构建器仅需输入localField
、from
、foreignField
和as
等键值域所需的内容,就可动态生成内连接运算。
Southbank Software公司CTO Guy Harrison就dbKoda产品接受了InfoQ的采访。
InfoQ:开发dbKoda产品的灵感来自于哪里?
Guy Harrison:当我撰写《下一代数据库》(Next Generation Databases)一书时,敏锐地意识到我们正经处于数据库系统的第三次变革中。新一代的数据库专业人士需要新一代的数据库工具。考虑到我本身就具有数据库和软件开发的背景,因此我认为自己应该尝试创立一家公司,去推出下一代的数据库工具。
InfoQ:dbKoda为什么以MongoDB为首选?
Harrison:“NoSQL”生态系统中杰出者众,我第一时间能想到就有Cassandra、Couchbase、Hadoop、park和Neo4J等。但是就MongoDB当前已具有三千万次下载使用而言,它无疑是遥遥领先的。
InfoQ: dbKoda未来是否会提供对其它数据库的支持?如果是这样,它将会支持哪些数据库?时间节点如何?
Harrison:我们的确规划在未来的一年中提供对更多数据库的支持,其中包括一些关系型数据库,也有一些非关系型数据库。
InfoQ:dbKoda未来将如何发展?您能为我们详细介绍一下1.0版本的规划吗?
Harrison:我们目前正致力于为在NodeJS等框架中使用MongoDB的开发人员提供更深入的支持,其中包括提供SQL查询功能(通过Apache Drill),并改进查询的构建和输出处理。
我们期待1.0版将具备基于订购的托管功能,并且是面向服务器的产品版本,其中包括更深入的性能分析功能、提供协作特性,并持续为编程人员使框架对MongoDB编程提供支持。
InfoQ:您在Southbank Software任职多久了?能为我们介绍一下您当前的职责吗?
Harrison:我是Southbank Software的CTO及创始人,也是Toba Capital的合伙人。Toba Capital是投资dbKoda的风险投资商之一。我身兼多重职责,包括企业管理、产品特征设计、编写自动测试以及部分特征的编码工作。我们的团队具有六位dbKoda的全职开发人员。
Harrison给出了一个五分钟时长的YouTube视频,其中展示了dbKoda入门指南。
查看英文原文: Southbank Software Introduces dbKoda, an Open Source Database Development Tool for MongoDB