Dlaczego Solr jest o wiele szybszy niż Postgres?

Ostatnio przeszedłem z Postgres na Solr i zobaczyłem ~ 50x przyspieszenie naszych zapytań. Zapytania, które wykonujemy, obejmują wiele zakresów, a nasze dane to aukcje pojazdów. Na przykład: „Znajdź wszystkie pojazdy z przebiegiem <50 000, 5 000 USD <cena <10 000 USD, make = Mazda ...”

Stworzyłem indeksy na wszystkich odpowiednich kolumnach Postgres, więc powinno to być dość uczciwe porównanie. Patrząc na plan zapytań w Postgresie, nadal korzystał on tylko z pojedynczego indeksu, a następnie skanował (zakładam, że nie mógł wykorzystać wszystkich różnych indeksów).

Jak rozumiem, Postgres i Solr używają nieco podobnych struktur danych (drzewa B) i oba buforują dane w pamięci. Zastanawiam się więc, skąd bierze się tak duża różnica w wydajności.

Jakie różnice w architekturze by to wyjaśniały?

questionAnswers(5)

yourAnswerToTheQuestion