Compose Tooltips for MongoDB, PostgreSQL and Elasticsearch

Published

What's new and interesting in database tooling for Compose users? In Compose Tooltips, we look at some of the tools either we or you use to get to your Compose databases like Studio3T, OmniDB or Dejavu.

MongoDB Tools - Studio3T

When we upgraded Compose's databases to only accept TLSv1.2 connections, there were some tools that got caught out with the change. Where we could, we've worked with the tool makers to ensure they can continue running with Compose. 3T, the developers of Studio3T, are one of the companies we worked with and earlier this month they released version 2018.2.5. In the changelog - "Improved: Upgraded the bundled mongo tools on Mac to improve compatibility with newer TLS standards (now required by IBM Compose)".

That means Compose MongoDB users can try out Studio3T's tooling which includes their new "Query Code" feature which turns MongoDB queries into code that runs those queries in JavaScript, Java, Python, C# and Mongo shell. It's a super useful feature for developers and fits well with Studio3T's "SQL Query" mode which translates SQL to MongoDB queries on the fly.

Another change in the latest version is that there's now a 30-day free trial to check out Studio3T's capabilities. Studio3T pricing starts at $149 for the "Core" version.

PostgreSQL Tools - OmniDB 2.7

Last year, OmniDB 2.x appeared as a completely rewritten Desktop and Server GUI for PostgreSQL. It also had a mission to support more databases and since then has added Oracle support and, in the latest version, basic support of MySQL 5.6/5.7 and MariaDB 10.1/10.2.

We were able to connect up to Compose for MySQL with it easily enough but ran into a bug which stopped us viewing tables, a bug we're told will be fixed in OmniDB's May release. We do know, from experience with PostgreSQL, that OmniDB provides a fine table metadata and data browsing experience, so we can expect the MySQL support to catch up soon.

What is good is that these different databases can coexist in one GUI, with a tab for each different database. When managing a range of different databases, a tool that can handle all the various SQL databases can simplify things no end.

One feature that came in OmniDB 2.6 was the Console tab. For PostgreSQL users, this integrates many of the capabilities of the command-line tool psql into the OmniDB GUI, complete with many of the "backslash" commands which simplify discovering tables, databases, and users. Through the GUI, OmniDB offers views of that information and options for editing table names, columns names, foreign keys, and rules, highlighted SQL editing, graphical EXPLAIN, dashboards and even relationship charts for tables.

You can download the 2nd Quadrant sponsored, open source OmniDB from the OmniDB.org website or dive into the OmniDB Github repository if you are inclined to dive into the code.

Elasticsearch Tools - Dejavu and Mirage

Dejavu is an interesting approach to providing a GUI for Elasticsearch. It can be deployed as a hosted app on static web pages, a Chrome extension or as a Docker image. Here, we've mostly used it as a Chrome extension as it's so convenient. Wake up the extension from a Chrome button, enter the connection string for the Elasticsearch deployment and which index you want to work with and within moments, you'll have a view of that index. If you're using it with Compose's Elasticsearch, do remember to remove the trailing / from the connection string. If you leave it in place, Dejavu tries to access an index with no name and fails.

Once you are in, you'll find the contents of the index visible as an infinite scroll table. The table can be switched between a default read-only mode and an edit mode. Where a value is actually a JSON object, you can click on the {...} to pop up the contents. Clicking on the same {...} in the column headers reveals metadata and the mapping of that particular field.

Dejavu screenshot You can assemble and save JSON queries too but there's no assistance in composing them. There is a Query button which that leads to another web/extension/hostable app, Mirage. This provides a guided query builder offering up the Elasticsearch Query DSL operators and fields as needed and letting you run the query as you step through building it. You don't need to use Mirage if you're adept at composing Elastic's Query DSL, though even then it can be useful to help explore the document structure.

Back at Dejavu, its worth noting that the import functionality is simply a link to a third proprietary application hosted by appbase.io, creators of Dejavu and Mirage, called Importer, so your milage may vary on usefulness.

With both Dejavu and Mirage, you get useful Elasticsearch exploration tools. As extensions though they do get to battle in the browser when pulling down large amounts of data, especially when you accidentally click "Export" on a 250,000 document index. If you need some ready to run tooling for your Elasticsearch, Dejavu is worth checking out, especially as it now supports Elasticsearch 6.

Do you have a database tool you can't live without? Drop us a line at articles@compose.com to share it with us in a future Tooltips.


Read more articles about Compose databases - use our Curated Collections Guide for articles on each database type. If you have any feedback about this or any other Compose article, drop the Compose Articles team a line at articles@compose.com. We're happy to hear from you.

attribution falconp4

Dj Walker-Morgan
Dj Walker-Morgan is Compose's resident Content Curator, and has been both a developer and writer since Apples came in II flavors and Commodores had Pets. Love this article? Head over to Dj Walker-Morgan’s author page to keep reading.

Conquer the Data Layer

Spend your time developing apps, not managing databases.