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

Wojtek commented on JAMES-2586:
-------------------------------

> Of course have multiple implementations in parallel brings maintenance 
> overhead. Not to mention the JPA implementation lags behind in terms of 
> features (eg JMAP but not only - using a S3 compatible store for instance 
> could be a thing) and I {*}wouldn't personally be confident seeing it used in 
> 20+ mailbox deployment{*}.

Touching on the previous point - why? Was there any performance issues 
previously and/or performance comparison with new implementation?

Disclaimer point instead of outright deprecations seems sensible though :)

> JPA schema was generated by an ORM and is mostly "accidental". An full data 
> migration (likely using tools like imapsync) would be needed.

Thank you for clarification. So it doesn't matter all that much if someone uses 
MySQL or PostgreSQL - after all a migration will be needed.

Nevertheless - I still think that it _could_ be possible to make the new 
implementation more independent of the underlying database (thus making it good 
replacement for [supposedly] non-performant JPA) without sacrificing possible 
performance gains of dropping JPA?

> 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
>          Time Spent: 235.5h
>  Remaining Estimate: 0h
>
> 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-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to