Re: Where **not** to use PostgreSQL?

From: Nicolas Grilly <nicolas(at)gardentechno(dot)com>
To: Chris Travers <chris(dot)travers(at)gmail(dot)com>
Cc: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Thomas Güttler <guettliml(at)thomas-guettler(dot)de>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Where **not** to use PostgreSQL?
Date: 2019-02-28 12:49:48
Message-ID: CAG3yVS7nhkEbyBOdKy00ykNDxph5iX++8L2a+JmmNTdvztEyfg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Feb 28, 2019 at 1:24 PM Chris Travers <chris(dot)travers(at)gmail(dot)com>
wrote:

> 1. a) TB-scale full text search systems.
> b) PostgreSQL's full text search is quite capable but not so powerful
> that it can completely replace Lucene-based systems. So you have to
> consider complexity vs functionality if you are tying with other data that
> is already in PostgreSQL. Note further that my experience with at least
> ElasticSearch is that it is easier to scale something built on multiple
> PostgreSQL instances into the PB range than it is to scale ElasticSearch
> into the PB range.
> c) Solr or ElasticSearch
>

One question about your use of PostgreSQL for a TB-scale full-text search
system: Did you order search results using ts_rank or ts_rank_cd? I'm
asking because in my experience, PostgreSQL full-text search is extremely
efficient, until you need ranking. It's because the indexes don't contain
the necessary information for ranking, and because of this the heap has to
be consulted, which implies a lot of random IO.

I'd be curious to know a bit more about your experience in this regard.

Regards,

Nicolas Grilly

PS: A potential solution to the performance issue I mentioned is this PG
extension: https://github.com/postgrespro/rum

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Chris Travers 2019-02-28 13:12:38 Re: Where **not** to use PostgreSQL?
Previous Message Chris Travers 2019-02-28 12:24:06 Re: Where **not** to use PostgreSQL?