René Cordier created JAMES-3952:
-----------------------------------

             Summary: Implement a Postgresql native reactive implementation in 
James
                 Key: JAMES-3952
                 URL: https://issues.apache.org/jira/browse/JAMES-3952
             Project: James Server
          Issue Type: New Feature
            Reporter: René Cordier


Postgresql is very popular on the market and also ideal for small and medium 
structures to run. 

The only implementation of James so far supporting Postgresql is JPA (that 
supports a larger panel of dbs). But the JPA implementation has its limits: not 
optimized for performance, not reactive, missing support for numerous features, 
...

We believe that adding a native reactive implementation of Postgresql with 
James is well wanted, and other people in the community seemed to express 
similar interests (thread in question here: 
[https://lists.apache.org/thread/lo04f7v2pmxkxc2n4wlcgrb90dn8br4t)]

To achieve such an implementation, we think about:
 * implement it step by step on a feature branch of James called `postgresql`
 * would start from a copy of JPA modules into new pg ones, then would migrate 
code step by step from JPA to Postgresql implementation. This means that during 
the dev process, both JPA and Postgresql implementation will cohabit, until we 
finally get rid of JPA code
 * we will start simple, for example, 1 fixed connection to Postgresql per 
domain (multi-tenants)
 * r2dbc-postgresql client would be used, alongside with JOOQ for higher level 
SQL queries (is the licensing an issue though or not?)
 * would need as well some benchmarks to prove the gains we get from the 
postgresql implem compared to the JPA one

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to