This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch postgresql in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 402a2fcf8d49b4fb2f868edc6094fa8584511bee Author: Tung Tran <[email protected]> AuthorDate: Wed Jun 26 18:19:42 2024 +0700 [Antora] [PGSQL] Objectives and motivation page for postgres doc --- .../modules/servers/pages/postgres/objectives.adoc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/modules/servers/pages/postgres/objectives.adoc b/docs/modules/servers/pages/postgres/objectives.adoc new file mode 100644 index 0000000000..d1dcb91090 --- /dev/null +++ b/docs/modules/servers/pages/postgres/objectives.adoc @@ -0,0 +1,22 @@ += Distributed James Server — Objectives and motivation +:navtitle: Objectives and motivation + +From the outstanding advantages of a distributed mail system, such as scalability and enhancement, +this project aims to implement a backend database version using Postgres. + +Primary Objectives: + +* Provide more options: The current James Distributed server uses Cassandra as the backend database. + This project aims to provide an alternative to Cassandra, using Postgres as the backend database. + This choice aims to offer a highly scalable and reactive James mail server, suitable for small to medium deployments, + while the distributed setup remains more fitting for larger ones. +* Propose an alternative to the jpa-app variant: The jpa-app variant is a simple version of James that uses JPA + to store data and is compatible with various SQL databases. + With the postgres-app, we use the `r2dbc` library to connect to the Postgres database, implementing non-blocking, + reactive APIs for higher performance. +* Leverage advanced Postgres features: Postgres is a powerful database that supports many advanced features. + This project aims to leverage these features to improve the efficiency of the James server. + For example, the implement https://www.postgresql.org/docs/current/ddl-rowsecurity.html[row-level security] + to improve the security of the James server. +* Flexible deployment: The new architecture allows flexible module choices. You can use Postgres directly for + blob storage or use Object Storage (e.g Minio, S3...). \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
