Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add JDBC persistence backend #649

Open
jbonofre opened this issue Jan 10, 2025 · 8 comments
Open

Add JDBC persistence backend #649

jbonofre opened this issue Jan 10, 2025 · 8 comments
Assignees
Labels
1.0-blocker enhancement New feature or request
Milestone

Comments

@jbonofre
Copy link
Member

jbonofre commented Jan 10, 2025

As discussed during the Polaris Community Meeting, I will add a new plugin implementing JDBC storage backend, without Eclipselink and focusing on PostgreSQL.
It will use "purely" JDBC DataSources with DBCP2 connection pooling.

@jbonofre jbonofre added the enhancement New feature or request label Jan 10, 2025
@jbonofre jbonofre added this to the 1.0.0 milestone Jan 10, 2025
@jbonofre jbonofre self-assigned this Jan 10, 2025
@jbonofre jbonofre changed the title Add JDBC storage backend Add JDBC persistence backend Jan 10, 2025
@jackye1995
Copy link

Based on #766 , the JDBC connection needs to support SERIALIZABLE isolation. This would allow a few scalable distributed backend options like CockroachDB and Google Spanner beyond single node SQL engines that could become a bottleneck.

Unfortunately the equivalent product in AWS - Amazon Aurora DSQL, only supports REPEATABLE READ as of today... 😢

@jbonofre
Copy link
Member Author

That's a good point.

If it should work fine for JDBC, I don't think we should limit/focus only on JDBC in Polaris. We have to support also NoSQL.
If we have to change the Polaris data model to support NoSQL, we should discuss about it now, because, it means that we will have to refactore JDBC plugin to support a new data model.

@jackye1995
Copy link

We have to support also NoSQL.

Can you explain more about the background on this?

If we want to support both SQL and noSQL, we probably need to create a broad interface that can be implemented by both SQL and noSQL in drastically different ways. I was a bit out of date with where the community is right now, are we acceptable to such change?

@jbonofre
Copy link
Member Author

@jackye1995 I mean that the Polaris data model should allow us to support both SQL and NoSQL backend. The purpose of this issue, the #650 and #844 is to identify the changes needed on the current data model.
So, I propose to work on a doc with:

  • problem statement (what are the blockers/issues with the current Polaris data model to support both SQL and NoSQL backends)
  • proposals (what the minimal changes needed on the model to support both SQL and NoSQL)

The reason why I think it's important to discuss this today is because it's central to Polaris and any change later will mean to "refactore" the backend plugins.

@snazy snazy moved this to Backlog in Basic Kanban Board Feb 21, 2025
@jbonofre
Copy link
Member Author

Related to #985

@flyrain
Copy link
Contributor

flyrain commented Feb 25, 2025

cc @singhpk234

@flyrain
Copy link
Contributor

flyrain commented Feb 25, 2025

@singhpk234 will take this per discussion. I couldn't assign this issue to him somehow.

@singhpk234 singhpk234 self-assigned this Feb 25, 2025
@jbonofre
Copy link
Member Author

I added @singhpk234 as collaborator on Polaris. He can now assign issue to himself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.0-blocker enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants