Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jnosql-dev] Proposal: Merge LiquiCouch and add Support for SQL++

Dear All,

As I have mentioned on Twitter, I'm super excited about this project, and I would like to propose 2 features that I would like to work on:

1) I have created a simple liquibase-like framework for couchbase which helps with schema migration during the application startup (https://github.com/deniswsrosa/liquicouch). My implementation is actually a fork of a similar framework for mongo. We could migrate the framework to JNOSQL and add support for multiple databases.

2) Add query support with SQL++
    SQL++(https://arxiv.org/abs/1405.3631) is getting more popular in the NoSQL world and might become the new standard query language for NoSQL databases. Don Chamberlin (the father of SQL) wrote a series of whitepapers and books about it (https://www.couchbase.com/sql-plus-plus-for-sql-users) and a few databases already added support for it natively (Couchbase, AsterixDB, Apache Drill, and Aws-PartiQL ). 
   The language itself resembles a lot JPQL, but with a few extra powers. If you guys never heard about it,  this is a nice place to start: https://query-tutorial.couchbase.com/tutorial/#1 (N1QL is Couchbase's implementation of the SQL++ spec)
   Using some of the SQL++ keywords we could also extend the query support generated by the repository DSL and become more appealing than Spring Data for NoSQL databases.
   Finally, SQL++ should work with both Document and Columnar storages, so it will cover the vast majority of the NoSQL databases out there.

Disclaimer: I do work for Couchbase, but I have seen N1QL working really well for us in the past few years, so I do believe that we should push SQL++ to be a standard. Here is also a post from an influential person in the Postgres community talking about SQL++ https://winand.at/newsletter/2019-12/partiql-microsoft-licenses-volcano-model

OBS: @Otavio I will also speak at Dev.Next, we could also meet there to discuss more about it.

What do you guys think about it?


Back to the top