BT

Your opinion matters! Please fill in the InfoQ Survey!

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

| by Michael Redlich Follow 6 Followers on Sep 13, 2017. Estimated reading time: 3 minutes |

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

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Cosmos DB support? by kevin eagles

Does it support Azure Cosmos DB yet?

Re: Cosmos DB support? by Michael Redlich

Hi Kevin:

Guy Harrison stated that other databases (relational and NoSQL) will be supported within the next year, but no specific ones were mentioned. I can certainly try to find out.

Mike.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

2 Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT