Dharin Shah
Optimizing Discovery: PostgreSQL's Role in Transforming GetYourGuide's Search
#1about 4 minutes
Understanding the original search architecture at GetYourGuide
The previous system used OpenSearch for marketplace data and PostgreSQL for availability, coordinated by a central API layer.
#2about 2 minutes
Identifying the limitations of the OpenSearch implementation
The OpenSearch setup lacked relational joins, had a complex query DSL, and suffered from performance issues and high maintenance overhead.
#3about 2 minutes
Why PostgreSQL was chosen for the migration
PostgreSQL was selected for its mature relational capabilities, JSONB support with GIN indexes, lower operational complexity, and team familiarity with SQL.
#4about 3 minutes
Analyzing PostgreSQL performance concerns for search queries
Initial concerns focused on the performance of GIN indexes, which rely on bitmap heap scans instead of faster index-only scans.
#5about 3 minutes
The challenge of real-time aggregations in PostgreSQL
OpenSearch excels at aggregations due to compressed data structures like roaring bitmaps, a feature not natively available in PostgreSQL for OLTP workloads.
#6about 2 minutes
Designing a hybrid schema and query pattern
The solution involved a denormalized schema using array columns with GIN and BRIN indexes, queried via a "single query, multiple data" (SQMD) pattern using CTEs.
#7about 2 minutes
Implementing dynamic queries and caching strategies
High-cardinality aggregation queries were cached, while the jOOQ library was used to dynamically generate complex SQL from the internal search DSL.
#8about 2 minutes
Operational benefits and limitations of using AWS Aurora
While AWS Aurora provided easy scaling with read replicas, it limited the use of specialized PostgreSQL extensions like roaring bitmaps for performance tuning.
#9about 3 minutes
Handling large objects and replication conflicts
Storing large JSON blobs triggered PostgreSQL's TOAST mechanism, which required tuning and led to replication conflicts on read replicas during vacuum operations.
#10about 3 minutes
Migration results and future roadmap
The migration resulted in a 40% end-to-end latency improvement, and future plans include consolidating text search into PostgreSQL and removing the caching layer.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
10:44 MIN
Migrating from MongoDB to Postgres for data reliability
Scaling: from 0 to 20 million users
25:24 MIN
Q&A on indexing, aggregations, and OpenSearch vs Elasticsearch
Search and aggregations made easy with OpenSearch and NodeJS
21:05 MIN
Switching from a JSON file to a Postgres database
Meet Your New BFF: Backend to Frontend without the Duct Tape
04:35 MIN
Evaluating PostgreSQL vs DynamoDB for the new database
Swapping Low Latency Data Storage Under High Load
06:04 MIN
The evolution of SQL to SQL++ for JSON
GraphQL: Does it replace SQL, REST or Something Else?
12:37 MIN
Expanding search with query translation and RAG fusion
Carl Lapierre - Exploring Advanced Patterns in Retrieval-Augmented Generation
20:46 MIN
Addressing performance and adoption challenges with OPA
OPA for the cloud natives
04:32 MIN
Improving accuracy with advanced search and data preparation
Carl Lapierre - Exploring Advanced Patterns in Retrieval-Augmented Generation
Featured Partners
Related Videos
Database Magic behind 40 Million operations/s
Jürgen Pilz
Scaling: from 0 to 20 million users
Josip Stuhli
Rapid GraphQL API Development with PostGraphile
Ruwan Xaviour Fernando
Postgres in the Age of AI (and Devin)
Nikita Shamgunov
How building an industry DBMS differs from building a research one
Markus Dreseler
Scaling Databases
Tobias Petry
GraphQL: Does it replace SQL, REST or Something Else?
Gregor Bauer
Swapping Low Latency Data Storage Under High Load
George Asafev
From learning to earning
Jobs that call for the skills explored in this talk.
![Senior Software Engineer [TypeScript] (Prisma Postgres)](https://wearedevelopers.imgix.net/company/283ba9dbbab3649de02b9b49e6284fd9/cover/oKWz2s90Z218LE8pFthP.png?w=400&ar=3.55&fit=crop&crop=entropy&auto=compress,format)
Senior Software Engineer [TypeScript] (Prisma Postgres)
Prisma
Remote
Senior
Node.js
TypeScript
PostgreSQL





Full Stack Engineer
Climax.eco
Rotterdam, Netherlands
€70-100K
Senior
TypeScript
PostgreSQL
Cloud (AWS/Google/Azure)


Domain Architect Ricardo Platform (f/m/d) | 80-100% | Hybrid working model | Valbonne France
SMG Swiss Marketplace Group
Canton de Valbonne, France
Senior
