SORU
7 NİSAN 2012, CUMARTESİ


Neden Solr çok daha hızlı bir İsim.

Geçenlerde Solr için PostgreSQL geçiş ve ~50 bir bizim sorgularda hız gördüm. Biz koşmak sorguları birden çok aralığı içerir ve bizim veri araç listeleri. Örneğin: "kilometre < tüm araç Bulmak; 50,000, $5,000 < fiyat < 10.000 dolar, yapmak=Mazda..."

Çok adil bir karşılaştırma olması için PostgreSQL ilgili tüm sütunları endeksleri oluşturdum. Hala sadece tek bir dizini kullanarak ve tarama olmasına rağmen PostgreSQL sorgu planı (tüm farklı endeksleri kullanmak olamaz çünkü varsayıyorum) bakıyor.

Anladığım kadarıyla, İsim ve Solr belli belirsiz benzer veri yapıları (B-ağaç) kullanın ve her ikisi de önbelleğe veri ın-bellek. Bu kadar büyük bir performans farkı nereden geliyor, merak ediyorum.

Farklılıklar mimaride bu ne açıklayacak?

CEVAP
7 NİSAN 2012, CUMARTESİ


İlk olarak, Solr B-ağaçları kullanmaz. Lucene (temel kütüphane Solr tarafından kullanılan) bir dizin salt okunur segments Bir yapılır. Her kesimi için, Lucene segmentinde görünen şartlar listesinde oluşan vadeli bir sözlük,, lexicographically sıralanmış korur. Bu dönem içinde bir dönem ararken sözlük bir ikili arama kullanarak yapılır, tek dönemli bir arama maliyeti t açısından sayısıdır O(log(t)). Aksine, standart bir dizini kullanarak bir İLİŞKİSEL d belgeleri sayısıdır O(log(d)) maliyetleri. Çok sayıda belge alan için aynı değeri paylaşır, bu büyük bir zafer olabilir.

Ayrıca, Lucene committer Uwe Schindler çok performansı için numeric range queries birkaç yıl önce kolları sıvadı. ** 4, Lucene için her değeri farklı duyarlılıklar ile bazı değerleri saklar. Bu Lucene aralığı sorgular çok verimli bir şekilde çalışmasını sağlar. Use-case aralığı kaldıraç sayısal gibi bir sürü sorguları beri, bu Solr çok daha hızlı olduğunu açıklayabilir. (Daha fazla bilgi için, çok ilginç ve ilgili araştırma yazıları için linkler veren javadocs okuyun.)

Ama Solr sadece bir VERİTABANI var olan tüm kısıtlamalar yok, çünkü bunu yapabilirsiniz. Örneğin, Solr bir anda tek bir belge (toplu güncelleştirmeleri tercih eder) güncelleme konusunda çok kötü.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CrazyMan

    CrazyMan

    14 Mayıs 2008
  • eyes4beautee

    eyes4beautee

    17 HAZİRAN 2011
  • hoorahjencar

    hoorahjencar

    6 HAZİRAN 2007