2016-04-10 23 views
0

Sürekli güncellenen bir SQL veritabanında depolanmış büyük bir veri var. Ben Solr endeksi i vb örnek Ürün, Ürün Ayrıntıları, ProductStocks ... için, çok fazla masa (lar) ilişkilere sahip olduğunu belirterek güncellemek için en iyi yol bulmalıyız Bunun iki çözümü var gibi görünüyorSOLR DIH delta import vs Güncel

:

1) DIH deltaQueryImport - last_index_time değerinden daha büyük LastUpdated'e sahip olan tüm kayıtlar için veritabanını sorgulayın ve sonra da bu kayıtları İndeksleme için Solr'a aktarın, DIH her 30 dakikada bir programlanır ve sceduled sırasında veriler henüz yansıtılmamıştır. güncellenen kayıtların sayısı nedeniyle sorgular için çok fazla zaman harcanıyor.

2) Görev Kuyruğu - bir ürün veritabanında her güncelleştirildiğinde, bu kaydı Solr'a endekslemek için bir görev sıraya koyarız.

Sadece önerilerinizi ve her yaklaşımın artılarını ve eksilerini bilmek ister misiniz?

cevap

0

Benzer senaryodaki bir projede çalıştım. 2. çözümünüzü uygulamaya karar verdik. İtme çözeltisinden itme tercih edilir. İtme çözümüyle, neredeyse gerçek zamanlı güncellemeyi gerçekleştirebilirsiniz, bu genellikle iş için büyük bir artıdır.

  1. Toplu ilk yükleme:

    Ama bu çözüm ile, aşağıdaki dikkate almak gerekir. Bir toplu güncelleştirme varsa, kuyruğun boyutu

  2. .