Vì tôi đang viết một ứng dụng máy chủ Minecraft đơn giản trong Erlang, giờ đây tôi quan tâm đến câu hỏi về cách lưu trữ và sửa đổi dữ liệu chunk hiệu quả. Đối với những người không biết về nội bộ của Minecraft: Tôi cần lưu trữ nhiều tệp nhị phân (100-1000) có kích thước tối đa 32kB trong bộ nhớ. Cho đến thời điểm này các tệp nhị phân dựng sẵn của Erlang là đủ. Nhưng máy chủ phải đọc và thay đổi một số byte (theo id của chúng) trong các tệp nhị phân này khá thường xuyên và tôi không muốn sao chép chúng xung quanh mọi lúc.
Một tính năng rất hay để có là nhập và xuất từ / sang các tệp nhị phân chuẩn của Erlang.Mảng byte có thể thay đổi lớn trong Erlang
Có bất kỳ phần mở rộng hoặc cơ sở dữ liệu Erlang hoặc bất kỳ thứ gì tôi có thể sử dụng cho điều này không?
Cuối cùng, sự cố đã được giải quyết bằng cách sử dụng các tệp nhị phân có kích thước 4kB và chỉnh sửa chúng cho mỗi thay đổi khối. Trong khi đây không phải là từ cuối cùng về hiệu quả cập nhật, nhưng nó tiết kiệm bộ nhớ. Trong trường hợp bạn muốn có một cái nhìn, mã có sẵn tại [Github] (https://github.com/clonejo/mc-erl). – clonejo