We recently spoke to Fauna about what the company is seeing in terms of flexible database services for modern application development, and why it’s calling its approach Document-relational. As we move to a world where developers increasingly build applications using cloud-based managed services with clean APIs the database is, as ever, up for grabs as a strategic and tactical choice. Managed databases are becoming ever more sophisticated, and relational databases are undergoing a renaissance.
It was a fun and interesting conversation with Matt Freels, Chief Architect and Co-founder of Fauna, and Tyson Trautmann, VP of Engineering.
So Document-relational sounds a bit like Object-relational, right? That’s by design. The idea is to offer the benefits of a schemaless model, but with some of the strengths of relational, notably transaction support with ACID (atomicity, consistency, isolation, durability) for data integrity. Fauna then packages this database as a scale-out managed service that will appeal to developers, the kind of folks building serverless apps. One of the key benefits according to Freels is fitting into iterative development.
According to Freels:
A longstanding issue with traditional database systems is you have to go into this upfront design process, and then once your schema is baked, you’re prevented from effectively changing that. And so a big part of Fauna is also thinking of the schema as an organizational tool for how you think about data or the database, but also it has to be able to adapt over time as this application needs to change. How does this system essentially scale with your application as it grows, not just in terms of dataset size, but in terms of feature complexity and things like that.”
Trautman also talks to the history of the industry and database design when explaining Document-relational.
Part of that is sort of rooted in the history of relational databases and document databases, right? So if you think about this, the arc of databases, you know, relational database has been around since the 1970s. You can think about these categories in terms of both kind of the primary benefit that the name describes, but also additional benefits that have been ascribed to these categories just based on the history of evolution. So for a relationship or for a relational database, you know, the primary benefit is that your data is stored as a series of relations with predefined columns, attributes or columns in what we think about as a table. And the ability to link data between tables, which is very powerful, do things like joins. And then there’s these secondary properties, you know, relational databases were typically ACID compliant, typically expose SQL as a data query language, data manipulation, language, etc. There’s a bunch of problems that started arising with that model in the early 2000s. Document databases were born to address a lot of those problems. They stored data as documents. They’re also more scalable typically, but they gave up things like ACID compliance as part of that. And they don’t typically let you do things like more complex joins over different documents. So really where Fauna is at – our number one mission is to make you as productive as possible without thinking about your database. We want to let you do what you want to do with no management, no additional overhead with high consistency. We store data as documents, but we provide the ability to reference other documents to issue complex queries to do joins over documents and return that data in the shape that you want it in your application along with being consistent supporting cross region replication, all of that other goodness.
During the conversation we discussed Open Source, the critical importance of developer experience in database support. We also discuss the potential value of globally replicated databases in data sovereignty and compliance (Fauna has done some neat work here). Check out the video, and let me know what you think. Does Document-relational resonate with you, and why? I think it’s a reasonable term of art.
The market for distributed, API-driven cloud databases continues to heat up, with the likes of Planetscale with Vitess, the Postgres Renaissance on multiple cloud platforms, AWS’s continued push into serverless databases, MongoDB’s effective push into managed services, and progress from Cockroach and of course Fauna.
With Document-relational Fauna is playing solidly into the trend my colleague Stephen described as A Return of The General Purpose Data.
It’s worth noting, of course, that just as the specialized datastores are gravitating back in the direction of general purpose platforms, the general purpose platforms have been adding their own specialized capabilities – most notably in PostgreSQL with its ability to handle JSON, time series and GIS workloads in addition to traditional relational usage.
There are many questions that remain about this long anticipated shift in the market – among them: will this trend accelerate due to competitive pressures? What impacts will this have on database packaging, and by extension, adoption? What will the dynamics be of a market in which developers and enterprises are offered specialized primitives from large clouds versus independent general purpose database platforms? And will the various specialized database markets be asymmetrically vulnerable to this kind of intrusion from adjacent competitors?
But what does not seem arguable is the idea that the pendulum in the database market that spent the last decade plus swinging away from general purpose workloads, has clearly changed direction and is now headed back towards them at a rate and pace yet to be determined.
disclosure: Fauna, MongoDB and Planetscale are all clients. Fauna sponsored the making of this video.