See the engineering behind real-time personalization at Tripadvisor’s massive (and rapidly growing) scale Waayo, Tripadvisor waa in aad u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay. In this article, Dean Poulin (Tripadvisor Data Engineering Lead on the AI Service and Products team) waxay ka heli karaa sida ay ku habboonayo this personalization. Waxaa ku saabsan AWS re:Invent Talk: Qalabka Pre-Trip Sida loo yaqaan Dean... Sida loo yaabaa, Tripadvisor waxaa loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor' oo loo yaqaan 'TripAdvisor'. Sida loo yaabaa, waxaa loo yaabaa in ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ka mid ah. . 425K operations per second on ScyllaDB with P99 latencies for reads and writes around 1-3 milliseconds Waxa uu ku saabsan in ay ku yaalaa in ay ka mid ah Tripadvisor waxaa loo isticmaali karaa in ay ka mid ah ScyllaDB, AWS, iyo macquulka macquulka real-time si ay u bixiyaan kharashka kala duwan ee isticmaalka. Waxaan ka heli karaa in ay u baahan tahay in ay ka mid ah in ay ka mid ah in ay u baahan tahay in ay ka caawiyaan safarka ugu caawin ah: ama in ay ka mid ah ka mid ah macquulka caawin ah, macquulka ugu caawin ah, macquulka caawin ah, ama macquulka ugu fiican si ay u caawin. Qalabka Trip Personal Waayo, ka dib markii aad la soo bandhigi karaa website-ka Tripadvisor, Tripadvisor waxay ku yaalaa in aad ku saabsan foodie, adventurist, ama adeegga beach - oo aad ka mid ah soo bandhigiisa ah oo ka mid ah aad u baahan tahay. Marka aad u isticmaali karaa Tripadvisor, waxaan soo bandhigay in ay isticmaali karaa modelada Machine Learning oo loo yaqaan 'Suction Score' oo loo yaqaan 'Suction Score' iyo 'Suction Score' iyo 'Suction Score' iyo 'Suction Score' iyo 'Suction Score' iyo 'Suction Score' iyo 'Suction Score' iyo 'Suction Score'. Tripadvisor waxaa loo isticmaali karaa Tripadvisor waxaa loo isticmaali karaa ee hundruunada microservices ah oo ku yaalaa in Kubernetes on-prem iyo in Amazon EKS. Our ML Model Serving Platform waxaa loo isticmaali karaa ee mid ka mid ah microservices. Sida loo isticmaali karaa in ay ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah Shirkadda Custom Feature Shuruudaha Feature waa in ka mid ah Shuruudaha User iyo Shuruudaha Static. Shuruudaha Static waxaa ku salaysan in Redis sidaas waxay ku habboonay oo dhan. Waxaan ku habboonay data pipelines dayday si ay u soo dejisan data ka mid ah shuruudaha Data Offline ee Shuruudaha Feature. Shuruudaha isticmaalka waxaa loo isticmaalaa in real-time through a platform called Visitor Platform. We execute dynamic CQL queries against ScyllaDB, iyo . we do not need a caching layer because ScyllaDB is so fast Our Feature Store waxaa loo isticmaalaa in ka badan 5 million Features Static per second iyo half a million User Features per second. Sida loo yaqaan ML Feature? Features waa variables dhismaha ee ML Models oo loo isticmaali karaa in ay soo saarka. Waxaa jira Features Static iyo User Features. Qalabka Static waa mid ka mid ah dhismaha oo ka mid ah dhismaha oo ka mid ah dhismaha oo ka mid ah dhismaha oo ka mid ah dhismaha oo ka mid ah dhismaha oo ka mid ah dhismaha oo ka mid ah dhismaha oo ka mid ah dhismaha oo ka mid ah dhismaha iyo dhismaha. Shuruudaha macaamiisha waxaa loo yaqaan 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features' iyo 'User Features'. The Technologies Powering Platform-ka ugu fiican ee loo isticmaali karaa ScyllaDB waa mid ka mid ah dhismaha Visitor Platform. Waxaan isticmaalaa microservices Spring Boot-ka ah ee Java si ay u soo bandhigi karaa dhismaha ka mid ah macaamiisha. Waxaa laga yaabaa AWS ECS Fargate. Waxaan ku habboonay Apache Spark on Kubernetes in ay ku habboonay dhismaha dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka. Shirkadda Data Flow Taariikhda soo xiriir oo ka mid ah dhismaha iyo dhismaha iyo dhismaha iyo dhismaha iyo dhismaha. Data waa loo soo saarka by our website iyo our apps mobile. Ka mid ah data waa ku jiraan our Cross-Device User Identity Graph, Behavior Tracking events ( sida page views and clicks) iyo streaming events oo ka mid ah Kinesis. Shuruudaha Microservices ee Visitor Platform waxaa loo isticmaali karaa in la isticmaali karaa iyo in la isticmaali karaa data this. Data in ScyllaDB waa la isticmaali karaa in two keyspaces: The Visitor Core keyspace, oo ku salaysan Visitor Identity Graph The Visitor Metric keyspace, oo ku yaalaa Facts iyo Metrics (wax yar oo aan la soo xiriir sida ay u isticmaali karaa site) Waayo, waxaan soo saarka Data Products, soo saarka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka dayactirka Sida loo yaabaa, waxaa laga yaabaa in ay ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah mid ah mid ka mid ah. Markaas ka mid ah 2 database? Our database online waa mid ka mid ah wax soo saarka website real-time, live. ScyllaDB waa la soo xigtay in la soo xigtay in la soo saarka caan ah oo ka mid ah caan ah. Waxaan isticmaali karaa TTLs ka mid ah caan ah si ay u soo xigtay data in online database in la mid ah oo ka mid ah wax soo saarka data, iyo wax soo saarka data waa in la soo saarka in la soo saarka data user activity for real visitors. Our data warehouse offline ku salaysan data warshadaha loo isticmaali karaa si loo isticmaali karaa reporting, loo isticmaali karaa wax soo saarka data kale, iyo wax soo saarka our ML Models. We don't want large-scale offline data processes affecting the performance of our live site, sidaas waxaa laga heli karaa two database separately used for two different purposes. Macluumaadka Microservices Waxaan isticmaali karaa 5 microservices for Visitor Platform: Visitor Core xiran dhismaha dhismaha dhismaha dhismaha dhismaha dhismaha dhismaha dhismaha dhismaha dhismaha dhismaha. Metric Visitor waa injineerada wax soo saarka, oo waa in la isticmaali karaa in ay soo saarka wax soo saarka iyo wax soo saarka ee wax soo saarka. 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 iyo Visitor Saver waxaa loo isticmaali karaa in ay u isticmaali karaa si ay u isticmaali karaa macluumaadka, sida loo isticmaali karaa macluumaadka macluumaadka. Visitor Composite waxaa loo isticmaali karaa si ay u isticmaali karaa data ah oo loo isticmaali karaa si ay u isticmaali karaa data. It abstracts Visitor Saver and Visitor Core to identify visitors and publish facts and metrics in a single API call. Shirkadda Microservice Latency Taariikhda waxaa loo yaabaa in ay ka mid ah macluumaadka macluumaadka microservices waxay ku caawin karaa. Markaad ka mid ah waxaa laga yaabaa in ka mid ah 2.5 milliseconds, iyo P999 waa mid ka mid ah 12.5 milliseconds. Ma rabtaa in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan tahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay in aad u baahan yahay. Qalabka Latency Sida loo yaqaan 'SyllaDB' waxaa laga yaqaan 'SyllaDB' ee 3 maalmood. Sida loo yaabaa, ScyllaDB waxaa loo isticmaali karaa 340,000 operations per second (ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ka mid ah. ScyllaDB waxaa loo yaqaan 'Microsecond Writes' iyo 'Millisecond Reads' oo loo yaqaan 'Millisecond Writes' iyo 'Millisecond Writes'. Qalabka Data ee ScyllaDB Taariikhda ugu horeysay ee loo yaqaan ScyllaDB. Waqtiga Metric ee Visitor waxaa laga yaqaan 'Fact' iyo 'Raw Metrics'. Waqtiga primary ee tababarka Fact waa 'Visitor GUID', 'Fact Type' iyo 'Created At Date'. Waqtiga partition compound waa 'Visitor GUID' iyo 'Fact Type'. Waqtiga clustering waa 'Created At Date', oo loo yaqaan 'Created At Date', oo loo yaqaan 'Partitions by Date'. Waxaan loo isticmaali karaa ScyllaDB's Leveled Compaction Strategy sida: Haku waa optimized for range queries. Waxaa laga yaqaan High Cardinality. Waxaa laga yaabaa in ay ka mid ah wax soo saarka ah, oo aan ka mid ah 2-3X ka mid ah wax soo saarka ka mid ah wax soo saarka Markaas ka mid ah ScyllaDB? Waxaad ka mid ah wax soo saarka, waxaa loo yaabaa in ay ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid ah mid ka mid Waayo, waxa uu ku yaalaa Proof of Concept ee ScyllaDB iyo sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale sidoo kale. Waxa uu u baahan tahay in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay u Dhismaha this waa in aad u soo xiriir sida loo yaqaan BYOA ee ScyllaDB. In mid ka mid ah dhismaha, sidoo kale aad u aragto cluster 6-node ScyllaDB oo ku saabsan EC2. ScyllaDB Monitor waxay ka dhigi karaa tababarka Grafana iyo daawada Prometheus. ScyllaDB Manager waxay ku dhigi karaa dhismaha dhismaha iyo dhismaha dhismaha iyo dhismaha. Sida loo isticmaali karaa, ScyllaDB waxay ku yaalaa in ay ku saabsan microservices-ka si ay u baahan yahay in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa in ay ku yaalaa. Waayo, waxaan noqon doonaa in aad u baahan tahay in aad u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan tahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay in ay u baahan yahay. Haku: Cynthia Dunlop Cynthia waa Director Senior of Content Strategy ee ScyllaDB. Waxaana waxay ku saabsan horumarinta software iyo injiilinta wax soo saarka oo ka badan 20 sano.