QLBridge: A SQL runtime engine for Go
QL languages are on their way up again. Bring SQL functionality to your apps with QLBridge, a SQL runtime engine for Go.
SQL is back on the TIOBE list after years away. This popular database management language didn’t spend that time off the list in obscurity; in fact, SQL is stronger than ever. Various SQL iterations have stayed strong on the TIOBE top database list including MySQL, SQL Server, and PostgresSQL . Today, we take a look at QLBridge, a SQL runtime engine for Go.
QLBridge is a SQL relational algebra and expression package that allows developers to embed sql-like functionality into their apps. As developers begin to store their data in new formats, tools, and services, querying that data becomes more difficult. QLBridge is designed to bridge that divide, making it easier for developers to access information in places traditional database managers cannot go.
This SQL runtime engine is incredible hackable and extensible. It comes with a library stocked full of plans on building query engine based functions in places where you don’t always see a DB.
Developers can add their own datasources, rest APIs, and functions. Other features include:
- An expression engine for evaluation of single expressions
- A Lexer that implements SQL, FilterQL, JSON, and Expressions
- An in-memory csv data source for testing usage
- Parsers for the SQL, FilterQL, and Expression dialects
Developers can execute SQL queries against their embedded data that isn’t coupled to the storage layer. The VM is highly extensible, with custom Go functions.
QLBridge is a small project, but there are a number of backend examples for different dialects, including SQL, FilterQL, and Simple Expressions. After all, these days there are more and more query languages out there that are similarish to XQL. QLBridge goes to many of them