[prev in list] [next in list] [prev in thread] [next in thread]
List: james-dev
Subject: [jira] [Created] (JAMES-3953) Provide a file based blobstore
From: "Benoit Tellier (Jira)" <server-dev () james ! apache ! org>
Date: 2023-10-29 8:16:00
Message-ID: JIRA.13555935.1698567349000.187190.1698567360025 () Atlassian ! JIRA
[Download RAW message or body]
Benoit Tellier created JAMES-3953:
-------------------------------------
Summary: Provide a file based blobstore
Key: JAMES-3953
URL: https://issues.apache.org/jira/browse/JAMES-3953
Project: James Server
Issue Type: New Feature
Components: Blob
Reporter: Benoit Tellier
Fix For: 3.9.0
h3. Why?
While working on on-premise instalations, the S3 topic is often a blocker: clients \
are not equiped with this kind of technologies.
Aquiring S3 compatible object stores is not that of an easy /cheap task as it \
fundamentally redifines what storage is, and clashes hardly with the philosophy they \
applies.
So far I handled these projects by deploying MinIO (because it is easy to deploy). \
But on top of shared remote storage performance is mediocre (60 Append of ~500 KB in \
parallel). Technologies like MinIO are though with attached storage in mind and thus \
are not adapted to this kind of setup.
I can take concrete examples:
- Medium size governement agencies in developing countries. They just have ISCI SAN \
bay, and do not have founds to adopt other technologies.
- Large size health organisation. Handling health data in France is subject to \
numerous security restrictions (HDS certification) thus they have constraints on the \
datacenter that prevent them from accessing more advanced features.
For these customers, I believe they would be better served with a file based \
implementation of the blob store.
h3. What?
Provide a file based implementation of the blob store.
Buckets will be emulated via a folder.
Because of it's immutable nature, concurrent file access should not be an issue.
We let the su=ystem administrator the choice of how the file system is set up and \
distributed, backed up and which mount options are to be set up.
This will be a new *BlobStore* within `/server/blob/blob-file`.
Propose this blob Store as experimental first.
While a reactive implementation could be attempted with IO Uring (non portable to non \
Linux system) a first implementation could be as simple as using a *boundedElastic* \
thread for the reads.
--
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