Implement wildduck's storage architecture for efficiency and scalability
- Ngôn ngữ chính
- Go
- Star
- 6.1k
- Fork
- 327
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
# 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
Hướng dẫn đóng góp
Hướng nghiên cứu
Không có tệp, bài kiểm thử hoặc điểm vào nào được nêu. Trước tiên, hãy xác định triển khai lưu trữ Maildir hiện tại và đọc kiến trúc Wildduck được liên kết, sau đó xác định ranh giới của việc di chuyển và lưu trữ. Công việc được xem là hoàn tất khi thư và tệp đính kèm sử dụng phương pháp nén và loại bỏ trùng lặp dựa trên MongoDB được đề xuất, cùng với một kế hoạch mở rộng đã được thống nhất.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- go, mongodb
- Lĩnh vực
- backend, databases
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100