Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Southbank Software Introduces dbKoda, an Open Source Database Development Tool for MongoDB

Southbank Software Introduces dbKoda, an Open Source Database Development Tool for MongoDB

Leia em Português

Southbank Software recently released its initial offering of dbKoda version 0.6.0, an open source MongoDB development tool packaged with JavaScript, React and Electron. As shown below, dbKoda’s graghical user interface features a connection manager and a feature-rich code editor for working with MongoDB databases.

Connection Manager

The connection manager maintains multiple database connection profiles. For each active connection, a list of databases and corresponding collections is displayed in the lower half of the connection manager window. A variety of menu options are available for query building, performing CRUD operations, indexing, and importing/exporting of data via a right-click of the mouse (as shown below on the left). The connection profile editor supports all forms of database connection syntaxes for creating new database connections (as shown below on the right).

Code Editor

The code editor contains query input/output windows for writing and executing MongoDB shell commands. The editor features code formatting, code completion, code folding, and syntax highlighting. While queries may be hand-written in the code editor, they may also be built with the query builder as shown below. A useful feature of the query builder is that it dynamically generates the corresponding MongoDB shell commands in the code editor. This eliminates the tedious effort in correctly formatting the curly braces and parentheses involved in writing complex MongoDB shell commands.

Southbank Software more recently released dbKoda version 0.7.0 with new features including:

  • Aggregation Builder
  • Storage Drilldown
  • SSH Tunneling Connections
  • Enhanced JSON Viewer
  • Export/Import

Similar to the query builder, the aggregation builder allows for building more complex queries that require the aggregate function. Consider the following example in which a publications collection uses the $lookup operator to perform an inner join with the authors collection:

db.publications.aggregate({"$lookup": {
  "localField" : "author_id",
  "from" : "authors",
  "foreignField" : "_id",
  "as" : "authorinfo"

As shown below, the aggregation builder dynamically generates the inner join by simply entering the required values for the keys localField, from, foreignField, and as.

Guy Harrison, CTO at Southbank Software, spoke to InfoQ about dbKoda.

InfoQ: What was the inspiration for developing dbKoda?

Guy Harrison: When writing the book “Next Generation Databases” I was acutely aware that we had reached a third revolution in database systems. A new generation of database professionals needed a new generation of database tools, and given my background in databases and software development, I thought I’d take a shot at building a company to create next generation database tools.

InfoQ: Why was MongoDB chosen as the initial database to be supported?

Harrison: The “NoSQL” ecosystem includes several significant technologies - Cassandra, Couchbase, Hadoop, Spark and Neo4J all come to mind - but MongoDB is far ahead in terms of sheer adoption with about 30 million downloads to date.

InfoQ: Will other databases ultimately be supported? If so, when and which databases?

Harrison: We definitely do plan to support other databases both relational and non-relational over the coming year.

InfoQ: What’s on the horizon for dbKoda, especially in terms of a version 1.0 release?

Harrison: We are currently working on deeper support for those using MongoDB from within application frameworks such as NodeJS, providing SQL query capabilities (via Apache Drill) and enhancing query construction and output processing.

In a 1.0 release, you could expect subscription-based hosted and server-oriented versions of the product, deeper performance analytics, collaboration features and continuing support for developers programming against MongoDB in frameworks.

InfoQ: How long have you been with Southbank Software and what are your current responsibilities?

Harrison: I’m CTO and founder of Southbank Software as well as being a partner at Toba Capital which is the VC firm funding dbKoda. I do a bit of everything - admin, feature design, writing automated tests and a little bit of feature programming. We have a team of six developers working full time on dbKoda.

Harrison demonstrates how to get started with dbKoda in a five-minute YouTube video.

Rate this Article