foxcpp / foxcpp/maddy

Implement wildduck's storage architecture for efficiency and scalability

Đang mở
#291 5 bình luận 0 reaction 0 người được giao Xem trên GitHub
new feature
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.