Tôi có một tập lệnh ruby đọc một bảng lớn (~ 20m hàng), thực hiện một số xử lý và nạp nó cho Solr cho mục đích lập chỉ mục. Đây là một nút cổ chai lớn trong quá trình của chúng tôi. Tôi đang lên kế hoạch để tăng tốc độ ở đây và tôi muốn đạt được một số loại song song. Tôi bối rối về bản chất đa luồng của Ruby. Máy chủ của chúng tôi có ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
. Từ this blog post và this question at StackOverflow, có thể thấy rằng Ruby không có phương pháp tiếp cận đa luồng "thực". Máy chủ của chúng tôi có nhiều lõi, vì vậy việc sử dụng parallel gem có vẻ là một cách tiếp cận khác đối với tôi.Ruby Parallel/Multithread Programming để đọc cơ sở dữ liệu khổng lồ
Tôi nên tiếp cận phương pháp nào? Ngoài ra, bất kỳ đầu vào nào trên các hệ thống đọc dữ liệu song song sẽ được đánh giá cao.
Làm cách nào để bạn truy cập cơ sở dữ liệu? Bạn có thể cho chúng tôi thấy một số mã không? –
Tôi sử dụng đá quý mysql để lấy N (~ 500) bản ghi tại một thời điểm bằng cách sử dụng giới hạn của MySQL, các tham số bù đắp. Batch quá trình chúng và hàng loạt thức ăn cho họ để Solr. Cần thêm thông tin? –