Fauna Query Language tamed to appeal to developers
Latest revision takes inspiration from TypeScript, Python, and GraphQL
Fauna, which offers a distributed document-relational database service, on Tuesday introduced a new version of its Fauna Query Language, promising a better developer experience with less database code.
FQL is not to be confused with Microsoft's FAST Query Language, Postman's Flows Query Language, Falcon Query Language, Facebook Query Language, Filter Query Language, Feature Query Language, or other F-encumbered query languages that can be similarly abbreviated.
"The founding team started getting going on this in 2016 and was working on the initial architecture and the initial version of FQL," explained CEO Eric Berg in an interview with The Register.
The team, he said, had been dealing with the challenge of scaling Twitter – co-founders Matt Freels and Evan Weaver served as the technical lead of Twitter's database team and director of infrastructure of Twitter respectively.
They created the initial version of Fauna and FQL, said Berg, which offers distributed document-relational capabilities with strong consistency across multiple regions that scales easily.
"The language that they created, the first version of FQL, they basically optimized it for power users," Berg explained, citing as an example how indexes were required to interact with everything because that's the optimal way to work with databases at scale. "Some developers really loved it because they loved the control and power it would give them. But it was also very verbose and it had some constraints."
The goal with the new version of FQL, said Berg, is to open up the underlying architecture of Fauna to developers while making it more familiar and capable. So the Fauna team took inspiration from modern programming languages like TypeScript and Python and from GraphQL, a query language for APIs.
"The [FQL] syntax is very familiar and inspired by TypeScript and Python," said Berg. "So you get that familiarity, but you also get all the logic constructs that you get in a modern programming language... that you don't get in SQL."
SQL, which will be 50 years old next year, stands for Structured Query Language as almost anyone in the IT business will tell you. It's the standard language for managing data in relational databases.
The folks at Fauna describe their database service – which you access via API instead of through software that you install on a server – as a "NoSQL database that has the relational capabilities of [a relational database management system]."
- Larry Ellison a major contributor to Blair Institute vaccine database plan
- SAP CEO push for cloud-only 'innovation' shatters users' trust in German-speaking heartlands
- AWS and IBM Netezza come out in support of Iceberg in table format face-off
- Oracle copyright battle: Rimini Street ordered to correct 'false' statements
"We also take inspiration from GraphQL," said Berg. "So that you can do projections of your data. You can basically manipulate the data and bring it back to your application in the format that it needs to fit into – however your UI consumes that data. And you do that natively in Fauna. Whereas in SQL, because all the data is stored in tables and rows and columns, you have to go through some sort of translation layer, usually what's called ORM (object relational mapping)."
Fauna, he said, has a sort of native ORM that does better in terms of performance and efficiency.
Fauna is also adding support for a declarative database schema. "With Fauna, you can start in an unstructured mode and then you can add that schema over time to structure and control your data," said Berg, who observed that this helps Fauna place nicely with DevOps tooling.
Berg said Fauna has more than 350 paying enterprise customers, in addition to more than 3,000 teams actively developing applications with Fauna that may evolve beyond the free tier.
Pointing to the service's new web shell, command line interface, administrative dashboard, intelligent code completion and extension for Microsoft Visual Studio Code, Berg said: "We've really made sure that, along with the familiarity from a language perspective, the development experience that you have is also leveraging best in class software development practices." ®