Tôi là một người mới làm việc trong một ứng dụng Rails đơn giản, dịch một tài liệu (chuỗi dài) từ ngôn ngữ này sang ngôn ngữ khác. Từ điển là một bảng các thuật ngữ (một chuỗi regexp để tìm và thay thế, và một khối mà ouputs một chuỗi thay thế). Bảng dài 1 triệu bản.Rails nghi ngờ thiết kế: Nên/tôi có thể tải toàn bộ từ điển/bảng vào bộ nhớ?
Mỗi yêu cầu là tài liệu muốn dịch. Trong lần đầu tiên lực lượng tàn bạo cách tiếp cận tôi cần phải chạy toàn bộ từ điển đối với mỗi yêu cầu/tài liệu.
Vì từ điển sẽ chạy toàn bộ mọi thời gian (từ bản ghi đầu tiên đến lần cuối), thay vì tải bảng bản ghi từ điển bằng mỗi tài liệu, tôi nghĩ tốt nhất là có toàn bộ từ điển làm mảng trong trí nhớ.
Tôi biết nó không phải là hiệu quả nhất, nhưng từ điển phải chạy toàn bộ tại thời điểm này.
1.- Nếu không có hiệu quả có thể đạt được bằng cách tái cơ cấu tài liệu và từ điển (nghĩa là không thể tạo các tập con nhỏ hơn của từ điển). Cách tiếp cận thiết kế tốt nhất là gì?
2.- Bạn có biết các dự án tương tự mà tôi có thể học hỏi không?
3.- Tôi nên tìm cách tải bảng lớn như thế vào bộ nhớ (cache?) Khi khởi động đường ray ở đâu?
Mọi câu trả lời cho bất kỳ câu hỏi đặt ra nào sẽ được đánh giá cao. Cảm ơn nhiều!
Cảm ơn bạn rất nhiều. Đó là một ý tưởng tuyệt vời mà tôi đã được mã hóa trong ứng dụng của tôi với kết quả tốt. – fjs6