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

R2DBC support #15

Open
karim789 opened this issue Apr 7, 2022 · 4 comments
Open

R2DBC support #15

karim789 opened this issue Apr 7, 2022 · 4 comments

Comments

@karim789
Copy link

karim789 commented Apr 7, 2022

Hi,

The client only support JDBC connections, and now R2DBC would be great.

Regards

@morgiyan
Copy link
Member

@karim789 Hi, we can definitely look into this suggestion. Is there some specific project/use-case that you need this support in SODA for, or is it more of a general request?

Thank you,
Max.

@karim789
Copy link
Author

karim789 commented Apr 11, 2022

We planned to use soda in the long term, but we had to improve performances first, and went for reactor, then realized that r2dbc was required if you want to have transactions.

Now the time of using soda is coming but, it doesn't supports r2dbc.

We will use oracle json_document directly for now and do manual queries with R2DBC API, until we can integrate soda more properly.

@morgiyan
Copy link
Member

morgiyan commented Apr 11, 2022

Hi, thank you for the reply.

SODA performance, and in particular SODA Java, is highly optimized. So you should be getting very high throughput and low latency with it, assuming statement caching is turned on on the JDBC connection, and SODA metadata caching is turned on. To turn on metadata caching:

Properties props = new Properties();
props.put("oracle.soda.sharedMetadataCache", "true");
OracleRDBMSClient cl = new OracleRDBMSClient(props);

There are some other gotchas we've seen other users encounter, that can degrade performance (it's a matter of using the API correctly).

We'll evaluate whether we can add R2DBC support (note that R2DBC is pre-production right now), but also if you'd like to discuss whether the current SODA (just based on JDBC) is going to meet your desired performance needs (I would be very surprised if it did not), please feel free to email me at:

maxim dot orgiyan at oracle dot com

(remove space, replace "dot" with "." and "at" with "@")

Thank you!

@karim789
Copy link
Author

karim789 commented Apr 11, 2022

Sorry, I meant we used Reactor to maximise our CPU usage, and this was not related to soda or a database, we have no performances issue with them.

Then later when we added database support, and JDBC isn't working with @transactional and Reactor, so we had to use R2DBC.

And now that we want to use soda, it's not compatible with R2DBC yet.

Thanks for your answer.
We have another non production project that uses soda. So far we don't have issues, but thanks for the email support if necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants