Father of SQL says yes to NoSQL
Sometimes your own invention just isn't enough anymore
Interview The co-author of SQL, the standardized query language for relational databases, has come out in support of the NoSQL database movement that seeks to escape the tabular confines of the RDBMS.
Speaking to The Register as SQL marks its 50th birthday, Donald Chamberlin, who first proposed the language with IBM colleague Raymond Boyce in a 1974 paper [PDF], explains that NoSQL databases and their query languages could help perform the tasks relational systems were never designed for.
"The world doesn't stay the same thing, especially in computer science," he says. "It's a very fast, evolving, industry. New requirements are coming along and technology has to change to meet them, I think that's what's happening. The NoSQL movement is motivated by new kinds of applications, particularly web applications, that need massive scalability and high performance. Relational databases were developed in an earlier generation when scalability and performance weren't quite as important. To get the scalability and performance that you need for modern apps, many systems are relaxing some of the constraints of the relational data model."
NoSQL takes a variety of forms, each designed to address different challenges. Popular document databases are based on the open JSON standard and broadly try to get around the schema constraints of the RDBMS. They include MongoDB, Couchbase, and Amazon's DynamoDB. Key-value stores are said to offer flexibility and speed. Examples include Aerospike, Memcached, and Redis, which is frequently used as an internet application cache, and as such is the most popular database on AWS. Graph databases are designed to represent networks of relationships as edges and nodes, and include systems like Neo4j and TigerGraph.
Debate has raged among database experts, some of whom see the need for the NoSQL approach, while others argue the properties of NoSQL systems can be absorbed as features in relational systems. Most popular relational systems now support JSON documents, for example, while graph-style queries are possible in Oracle and PostgreSQL.
However, Chamberlin sees a need for NoSQL to support modern applications. For example, traditional relational systems guarantee asset record reserves on transactions to provide immediate consistency, he says.
"To get higher performance, now we're often distributing data over clusters of machines," he tells us, "and we're satisfied with eventual consistency, meaning we can be patient, it will take a little while for all the machines to catch up. That's necessary sometimes in highly scaled environments."
A long-time IBMer, Chamberlin is now semi-retired, but finds time to fulfill a role as a technical advisor for NoSQL company Couchbase.
- Oracle's database family gets trendy AI makeover
- Lakehouse dam breaks after departure of long-time Teradata CTO
- Graph databases speaking the same language after ISO gives GQL the nod
- Valkey publishes release candidate and attracts new backer
In the role, he has become an advocate for a new query language designed to overcome the "impedance mismatch" between data structures in the application language and a database, he says.
UC San Diego professor Yannis Papakonstantinou has proposed SQL++ to solve this problem, with a view to addressing impedance mismatch between heavily object-based JavaScript, the core language for web development and the assumed relational approach embedded in SQL.
Like C++, SQL++ is designed as a compatible extension of an earlier language, SQL, but is touted as better able to handle the JSON file format inherent in JavaScript.
Couchbase and AWS have adopted the language, although the cloud giant calls it PartiQL.
Chamberlin's 2019 paper [PDF] for Couchbase introduces SQL++ and SQL:2016, and looks at some example queries written in both languages to compare the two.
But SQL++ is no replacement for SQL, he says, rather it's complementary.
"I don't think SQL is going to go away," he says. "A large part of the world's business data is encoded in SQL, and data is very sticky. Once you've got your database, you're going to leave it there. Also, relational systems do a very good job of what they were designed to do. We have these very high quality open source implementations in MySQL, PostgreSQL, and SQLite.
"These are all very robust, fully featured, reliable SQL implementations. They have large user communities, and if you're a startup company that wants to sell shoes on the web or something, you're going to need a database, and one of those SQL implementations will do the job for free. I think relational databases and the SQL language will be with us for a long time." ®
Check out The Register's history of the SQL language, including more from the interview with Don Chamberlin, right here.