[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