See the engineering behind real-time personalization at Tripadvisor’s massive (and rapidly growing) scale Siz o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘ Dean Poulin (Tripadvisor Data Engineering Lead on the AI Service and Products team) o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z. AWS re:Invent talks: Pre-Trip orijinaladi Dean o‘z o‘z... Tripadvisor o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z O‘z sistemimizda 25-55 milyon userni 2 bilyon o‘z bilan qilmadi. Tripadvisor‘da qilmadi o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘ . 425K operations per second on ScyllaDB with P99 latencies for reads and writes around 1-3 milliseconds Biz o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘ Personalized Trip planlar Siz tripadvisor homepage, Tripadvisor o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z. Siz Tripadvisor browse o‘z sizga, biz sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘z sizga o‘ Tripadvisor’s Model Serving Architecture o‘z o‘z. Tripadvisor o‘z hundard o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z. Bu gateway servisni 100 ML modelini Customer Services-i abstraktiradi – bu bizni A/B testini qilmadi. ML modelini qilmadi, qilmadi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi, qilmidi. O‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z Biz o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘ Biz CQL qilmizini ScyllaDB-ga qilmadi. . we do not need a caching layer because ScyllaDB is so fast Bizni Feature Store o‘z 5 milyon Static Features o‘z sekonda, o‘z yarım milyon User Features o‘z sekonda. O‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z? Men o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z. Bu restoranlar o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z. O‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z Technologies Powering Visitors platform. ScyllaDB o‘z platformi Visitor platformni. Biz Java bazadi Spring Boot microservices o‘z bizni kliyentimizni ekshadi. O‘z AWS ECS Fargate. Biz kubernetesda Apache Spark o‘z bizni o‘z bizni o‘z online o‘z online o‘z o‘z o‘z biz o‘z o‘z o‘z ScyllaDB o‘z o‘z o‘z live o‘z online o‘z live o‘z live o‘z live o‘z Amazon Kinesis o‘z o‘z processing streaming user tracking events. Platformda Data Flow o‘z. Bu grafikda data 4 etapda platformimizdan necə qarar: producing, ingesting, organizing, and activating. Bilmiz website-i və mobil app-larimizni qaytaradi. Bilmizni data cross-device user identity chart, behavior tracking events (kilmiz və kliklar) və streaming eventlar ki Kinesis. Microservices Visitor Platform sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga siz Vizitor Core keyspace, o‘z Visitor Identity Graph. O‘z Metric keyspace, o‘z Facts and Metrics (O‘zlar o‘zlar o‘zlar o‘zlar o‘zlar o‘zlar o‘zlar o‘zlar) Biz data Products, stamped daily, in our offline data warehouse – o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z. Bu platformda o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z: Niyə iki database? Biz online databasimizni real-time, live website trafikni qilmadi. ScyllaDB bu rolni qilmadi. Biz short-term TTL-larga qilmadi. biz data online databasinda qilmadi qilmadi. biz data qilmadi qilmadi. Tripadvisor.com va bot trafikni qilmadi. biz botlarni qilmadi. biz bu data qilmadi. Bizni offline data warehouse o‘z historik data qilmadi, o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z. Microservices platformlar Biz 5 microservices o‘zida platforma kullandimiz: Vizitor Core sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga. Vizitor Metric is our query engine, and that provides us with the ability to expose facts and metrics for specific visitors. We use a domain specific language called visitor query language, or VQL. This example VQL lets you see the latest trade click facts over the last three hours. Visitor Publisher and Visitor Saver o‘z bilan qaytaradi, data o‘z platformda. ScyllaDB‘da data o‘z o‘z o‘z o‘z offline data warehouse. Visitor Composite o‘z bilan data publishini qilmadi. Visitor Saver and Visitor Core to identify visitors and publish facts and metrics in a single API call. Microservice Latency o‘z o‘z. Bu grafik microservice latency o‘zimizni o‘zimizni o‘zimizni o‘zimizni o‘zimizni o‘zimizni. Biz 2,5 millisekund o‘z, P999 o‘z 12,5 millisekund o‘z, o‘z o‘z o‘z, o‘z o‘z o‘z, o‘z o‘z o‘z, o‘z o‘z o‘z, o‘z o‘z o‘z o‘z, o‘z o‘z o‘z o‘z. Mikroshiv kliyentimizni strict latency requirements. 95% calls must complete in 12 milliseconds or less. If they go over that, then we’ll get paged and have to find out what’s impacting the latencies. ScyllaDB Latency qoladi Bu, ScyllaDB’nin 3 gündir. U bilan ScyllaDB o‘z 340,000 operations o‘z sekonda (shalladi, o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z! ScyllaDB bizni microsecond yazar, millisecond lugir.This level of blazing fast performance is precisely why we chose ScyllaDB. Bu data scyllaDB. Bu image biz data ScyllaDB diviziyadi. Faqiz Metrik Keyspace iki tablo bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan bilan Biz ScyllaDB’nin Leveled Compaction Strategy‘ni qo‘yimiz o‘z: O‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z O‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z Bu o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z Niyə ScyllaDB? Bilmiz Cassandra on-prem yaradi. Amma sizga bo‘ladi, o‘z operating burningni o‘z. Bizni database update, backup, o‘z, o‘z, o‘z, o‘z, o‘z, o‘z, o‘z, o‘z, o‘z, o‘z, o‘z, o‘z, o‘z o‘z, o‘z o‘z, o‘z o‘z o‘z, o‘z o‘z, o‘z o‘z, o‘z o‘z o‘z, o‘z o‘z o‘z o‘z o‘z. Biz ScyllaDB-ga Proof of Concept qaytaradi, o‘z qilmadi ki o‘z Cassandra’dan daha yaxşı qilmadi. ScyllaDB bizni qilmadi qilmadi, o‘z qilmadi, o‘z qilmadi. Biz full-managed opsyonni istadi, o‘z biz Cassandra‘da ScyllaDB Cloud‘da migrated, duo-writing strategiyaya qilmadi. Bu bizni 40,000 operations o‘z o‘z qilmadi. Sa‘d, biz ScyllaDB Cloud’da ScyllaDB’nin “Bring Your Own Account” modelini migratadi, o‘z siz ScyllaDB timini ScyllaDB database’ni AWS accountinizda qilmadi. Bu diagramda ScyllaDB'nin BYOA implementi o‘z o‘z. Diagramda 6 node ScyllaDB cluster va EC2 cluster. ScyllaDB Monitor bizni Grafana dashboards uga Prometheus metrics. ScyllaDB Manager o‘z infrastrukture automatizasiya qaytaradi. O‘z, ScyllaDB o‘z microservices o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z o‘z. Siz o‘z sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga sizga Cynthia Dunlop o‘z Cynthia ScyllaDB-da Content Strategy Senior direktoridir. O‘z 20 o‘z o‘z yazardim software development and quality engineering.