Implement wildduck's storage architecture for efficiency and scalability
- 主要言語
- Go
- スター
- 6.1k
- フォーク
- 327
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
# Use case
What problem you are trying to solve?
Maildir is less space efficient and less scalable than a clustered database as a mail store.
Note alternatives you considered and why they are not useful.
I've tried using Maildir over an S3 backend, but performance can be an issue.
# Your idea for a solution
Compress messages, deduplicate attachments and store in a clustered database like MongoDB.
How your solution would work in general?
[Wildduck](https://docs.wildduck.email) stores messages and attachments in MongoDB. It compresses data and deduplicates attachments, greatly reducing storage requirements and allowing us to easily scale our deployments. I currently use it in production and works great.
- [X] I'm willing to help with the implementation
コントリビューションガイド
調査の方向性
ファイル、テスト、エントリーポイントは指定されていません。まず現在の Maildir ストレージ実装を見つけ、リンク先の Wildduck アーキテクチャを読み、その後、移行とストレージの境界を判断してください。メッセージと添付ファイルが、提案された MongoDB ベースの圧縮および重複排除アプローチを使用し、合意済みのスケーラビリティ計画がある状態を完了とします。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- go, mongodb
- 領域
- backend, databases
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100