[prev in list] [next in list] [prev in thread] [next in thread] 

List:       james-dev
Subject:    [jira] [Commented] (JAMES-2586) Implement a Postgres-specific backend
From:       "Benoit Tellier (Jira)" <server-dev () james ! apache ! org>
Date:       2023-10-27 9:12:00
Message-ID: JIRA.13196475.1541500017000.184396.1698397920048 () Atlassian ! JIRA
[Download RAW message or body]


    [ https://issues.apache.org/jira/browse/JAMES-2586?page=com.atlassian.jira.plugin. \
system.issuetabpanels:comment-tabpanel&focusedCommentId=17780271#comment-17780271 ] 

Benoit Tellier commented on JAMES-2586:
---------------------------------------

As explained on a Mailing list thread, Linagora is ready to work on the topic.

CF  [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). Row level security should be optional.
 * 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

> Implement a Postgres-specific backend
> -------------------------------------
> 
> Key: JAMES-2586
> URL: https://issues.apache.org/jira/browse/JAMES-2586
> Project: James Server
> Issue Type: New Feature
> Reporter: Matthieu Baechler
> Priority: Major
> 
> James has a JPA implementation of most interfaces that allows to deploy it on top \
> of some popular RDBMS. However, while useful for some kind of applications, ORM are \
> usually a bad fit for applications requiring high performance like a mail server. \
> As an abstraction, it also prevents from using advanced features of a given RDBMS. \
> For most usages, James would probably run great on top of Postgres, given that we \
> use advanced features to implement search, for example. A good strategy would be to \
> implement all interfaces implemented by JPA with a modern Postgres driver.



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

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic