News for hackers. Stuff that matters.
Re:Implementing faceted search with Django and PostgreSQL by aldoushuxley001 on Thursday October 05, 2017 @02:04PM (#15411187)
What do you find are the tradeoffs vs. working with Elasticsearch or Solr?

But great job, I've bookmarked your post to come back to and I'll give it a shot for sure. Definitely very enticing.

Re:Implementing faceted search with Django and PostgreSQL by simonw on Thursday October 05, 2017 @02:20PM (#15411356)
Elasticsearch is massively more powerful and flexible.

The way I'm doing aggregation counts on top of PostgreSQL is very unlikely to scale to millions of documents. Elasticsearch pretty much acts as a real-time, horizontally scalable map/reduce engine so expensive aggregations get executed on multiple shards and the results are gathered back together.

You may find my talk from DjangoCon this year interesting: https://speakerdeck.com/simon/the-denormalized-query-engine-... / https://www.youtube.com/watch?v=NzcvewgqYog

Re:Implementing faceted search with Django and PostgreSQL by StavrosK on Thursday October 05, 2017 @09:34PM (#15413842)
What type of data is ES good for? It's more than documents and full-text search, if I'm not mistaken, correct?
Re:Implementing faceted search with Django and PostgreSQL by bebop on Thursday October 05, 2017 @10:51PM (#15414105)
I have used it as a general data store, where I can accept eventual consistency. It is a very good distributed db if you are ok with the trade offs it imposes, mostly non-atomic commits to your cluster.
Re:Implementing faceted search with Django and PostgreSQL by othersideofcoin on Thursday October 05, 2017 @11:04PM (#15414148)
It also excels at storing logs for later aggregation and analysis.
Re:Implementing faceted search with Django and PostgreSQL by StavrosK on Friday October 06, 2017 @06:40AM (#15415718)
Thank you, I was specifically wondering how good it is at data ingestion for warehousing. Good to know that's one of its strengths.
Re:Implementing faceted search with Django and PostgreSQL by gt565k on Thursday October 05, 2017 @02:24PM (#15411393)
Generally speaking, you wouldn't want to run queries like this against the system of record (your database) in large applications where there are a lot of user queries, as that will impact performance.

Hence why solutions like elasticsearch and apache solr exist. They scale very well horizontally, allowing you to spread the load between multiple nodes.

Again, this comes down to what your use case is. If you have a tiny app with a relatively small number of users, using postgres for this functionality is probably ok.