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 版中,提供了如下新特性:
- 聚合构建器(Aggregation Builder);
- 存储下钻(Storage Drilldown);
- SSH 隧道连接(SSH Tunneling Connections);
- 改进的 JSON 查看器;
- 导入和导出。
聚合构建器的功能类似于查询构建器,支持构建需要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
评论