MongoDB staged its 2017 user, developer, customer and partner showcase convention in the US city of Chicago this June.
Essentially open source at the backbone, MongoDB is a database company built upon a document-oriented data model.
As defined here on TechTarget, MongoDB is one of a number of post-millenial databases that fall under the NoSQL banner.
Collections & documents
Instead of using tables and rows as in relational databases, MongoDB is built on an architecture of collections and documents.
Documents comprise sets of key-value pairs and are the basic unit of data in MongoDB. Collections contain sets of documents and function as the equivalent of relational database tables.
Keynote day one presentations featured a session from the chief data officer for the city of Chicago, Tom Schenk Jr. Speaking during this year’s MongoDB World keynote, Schenk explained that his firm has built a city management software system with MongoDB on the backend to track civil amenities that may require updates, maintenance and other attention.
The WindyGrid project has been open sourced and the city is actively asking for developers to get involved as they work to (hopefully) improve the software so that it be shared with other cities around the world.
Dave Ittycheria, president and CEO of MongoDB took the stage next to talk big picture and give the audience a little background on how the firm has grown over the last decade.
Ittycheria was soon joined by MongoDB CTO and co-founder Eliot Horowitz. Talking about the need for visualisation tools in Business Intelligence, Horowitz referenced an example of four wildly different data visual charts could also show the same core data variation average… but the data itself could have a different specific shape. This gave him the chance to mention the need for a richer data fabric that also holds what we can call polymorphic data.
As noted on the above link on StackOverflow, “Document-oriented database are schema-less. This means that database don’t care about schema of data. But each document has own schema / structure. Polymorphic data mean that in one collection you could have many versions of document schema (e.g. different field tape, fields that occur in some documents etc.”
Beauty of polymorphic data
“Every time you take data out of MongoDB and expose that data in a tabular view you lose information. The beauty of MongoDB is that you can keep polymorphic data in your document,” said Horowitz.
Talking about the changes coming in version 3.6 of the core database, Horowitz talks about the not so secret sauce that is the document model that MongoDB relies upon.
Horowitz talked about how MongoDB had at first been referred to as a schema-less database (but of course that’s silly because even dynamic schema has schema). In the next version the software will support JSON Schema. In terms of function, JSON schema is a vocabulary that allows you to annotate and validate JSON documents. The 3.6 version will be available in November, but many of the new features are already available on GitHub on a ‘try it at your own risk’ basis.
Changes since 2007
- Now the web is a first class UI system.
- Now mobile first (and indeed mobile only is here) works.
- The IoT is having a significant impact.
- Services are a key reality now and there is a surface for almost everything you need and most applications today rely on a bunch of surfaces.
So these (above) changed mean that a ‘modern app’ needs an API to the CRUD. It needs security, access control logic and validation, — and it needs a way to stitch all these services together.
NOTE: CRUD stands for Create, Read, Update and Delete.
As developers need to a do a lot of the boiler room (sometimes called boilerplate) work together to make everything work on the backend, it has driven the popularity of the so called Backend-as-a-Service (BaaS) and indeed the Mobile Backend-as-a-Service (MBaaS). So enter MongoDB Stitch…
As application and user interface logic continues to move into the front-end, the remaining backend is often dominated by ‘plumbing’ to handle storing and retrieving data, security, data privacy, or integrating and composing various services.
MongoDB Stitch provides developers with a simple way to handle all these routine tasks including working with their data, controlling data access, and orchestrating commonly used services – from authentication, through payments, messaging etc.
“In recent years we’ve gotten a tantalizing glimpse into a world where developers can spend all their time writing the code that distinguishes their applications,” said Horowitz“In this world, services become the building blocks of innovation, and the need to reimplement the same commodity components disappears completely. But the mere existence of services isn’t enough, because there is still the drudgery of tying those services together, implementing tricky but essential access control, and of course managing data.”
Stitch was demo’d at MongoDB World 2017.
Analyst and co-founder at RedMonk James Governor agrees that developers today want platforms that maximise convenience and minimise back end coding, with managed services for functions like user-based access. Governor thinks that MongoDB Stitch is a backend as a service platform designed to make it easier than ever for developers to build rich and secure apps.
MongoDB Stitch is initially available in public beta release with the cloud database service MongoDB Atlas.
For an additional analysis of Stitch read this report.