我有一個Ruby腳本讀取一個巨大的表(~20米行),做一些處理,並將其提供給Solr索引的目的。這是我們流程中的一大瓶頸。我打算在這裏加快速度,並希望達到某種平行度。我對Ruby的多線程性質感到困惑。我們的服務器有 ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
。從this blog post和this question at StackOverflow可以看出,Ruby沒有「真正的」多線程方法。我們的服務器有多個內核,因此使用parallel gem似乎是另一種方法。紅寶石並行/多線程編程來讀取龐大的數據庫
我該用什麼方法?此外,任何有關並行數據庫讀取饋送系統的輸入都將受到高度讚賞。
你如何訪問數據庫?你能告訴我們一些代碼嗎? –
我使用mysql gem每次使用MySQL的限制,偏移量參數來獲取N(〜500)條記錄。批量處理它們並批量將它們提供給Solr。需要更多信息? –