See the engineering behind real-time personalization at Tripadvisor’s massive (and rapidly growing) scale “Tripadvisor” site ilə əlaqə saxladığınızda bunu qiymətləndirməyə çalışır, sonra hər bir klikdə sizə daha çox əsaslı məlumat verir – millisekundlarla. VVD - Hollandiyada futbolçu bu adla tanımır, orada VVD daha çox mərkəz-sağı təmsilən edən siyasi partiyanın adının qısaltması kimi bilinir - artıq sorğu-suala ehtiyacı olmayan ulduzdu. AWS re:Invent danışıqları ilə bağlıdır: Pre-Trip Orientasiya Deanın sözləri “Tripadvisor” şirkəti 2000-ci ildə yaradılmışdır.Tripadvisor milyonlarca yoldaşının mükəmməl yolculuklarını planlaşdırmasına kömək edən, turizm və misafirlik sektorunda dünya lideri olmuşdur.Tripadvisor 1,8 milyard dollardan çox gəlir yaradır və NASDAQ bürosunda açıq-aşkar işləyən bir şirkətdir.Bugün, 2800-dən çox işçi olan yetenekli komanda var və platformamız ayda 400 milyon unikal ziyarətçi ilə işləyir – bu sayı sürekli artıb. Hər gün sistemimiz 25 ilə 50 milyondan çox istifadəçi arasından 2 milyarddan çox istehlak işləyir. Tripadvisor-də etdiyiniz hər bir klik real vaxtda işlənir. Bundan sonra, maşın öyrənmə modellərini istifadə edirik ki, bu mükəmməl yolculuğa daha yaxından yaxınlaşırsınız. Bu kişiselleştirmə motoru ScyllaDB-ni AWS-də çalışır. . 425K operations per second on ScyllaDB with P99 latencies for reads and writes around 1-3 milliseconds “Tripadvisor”un “ScyllaDB”, “AWS” və “real-time machine learning”in gücünü hər bir istifadəçi üçün kişiselleştirilmiş rekomandasiyalar vermək üçün necə istifadə etdiyini paylaşacağam.Biz yolcuların mükəmməl yolculuklarını planlaşdırmaq üçün ehtiyacı olan hər şeyi necə öyrənməyə kömək edəcəyimizi araşdırırıq: gizli pərəstişlər, görməli yerlər, unutulmaz yaşayışlar, ya da yatmaq və yemək üçün ən yaxşı yerlər. Personalized Trip Planlaşdırma “Tripadvisor” saytına daxil olduğunuzda, “Tripadvisor” sizə bir foodie, bir maceralı, ya da bir plaj sevgisi olduğunu biləcəkdir – və öz interesləriniz üçün kişiselleştirilmiş görünən spot-on rekomandasiyaları görürsünüz. “Tripadvisor”a baxırsanız, sizin gördüyünüz şeyləri “Machine Learning” modelləri ilə kişiselleştirməyə başlayırıq ki, bu modellər sizin aktualdır və əvvəlcədən baxdığınız aktivlərinizə görə qiymətləndirilir.Sizə xoşbəxt olacağını düşündüğümüz otelləri və deneyimlerimizi təhlil edirik.Otelləri kişisel tercihlərinizə görə sıralayırıq.Sizin baxdığınız otelin yaxınlığında popüler məqamları təhlil edirik.Bunların hamısı öz preferensiyalarınızın və əvvəlcədən baxdığınız aktivlərinizə uyğunlaşdırılır. “TripAdvisor” modelinin yaradılması Tripadvisor, Kubernetes on-prem və Amazon EKS-də yüzlerce bağımsız ölçülə bilər mikroservisiya üzərində çalışır. VVD - Hollandiyada futbolçu bu adla tanımır, orada VVD daha çox mərkəz-sağı təmsilən edən siyasi partiyanın adının qısaltması kimi bilinir - artıq sorğu-suala ehtiyacı olmayan ulduzdu. “Custom Feature” mağazası Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə Xatırladaq ki, “Skype” şirkəti “Skype” və “Skype” şirkəti ilə işləyir. . we do not need a caching layer because ScyllaDB is so fast Bizim funksiyalar mağazası saniyədə 5 milyon statik funksiya və saniyədə yarım milyon istifadəçi funksiyası təmin edir. ML funksiyası nədir? VVD - Hollandiyada futbolçu bu adla tanımır, orada VVD daha çox mərkəz-sağı təmsilən edən siyasi partiyanın adının qısaltması kimi bilinir - artıq sorğu-suala ehtiyacı olmayan ulduzdu. Statik xüsusiyyətlər bir restoranın qazandığı mükafatlar və ya otelin təqdim etdiyi rahatlıqlar (təkcə, ücretsiz Wi-Fi, evcil hayvan dostu və ya fitness center) kimi bir neçə örnekdir. Biz onları ScyllaDB-də saxlayırıq ki, son 30 dəqiqə ərzində izlənilən otellər, son 24 saatda izlənilən restoranlar və ya son 30 gün ərzində göndərilən recenziyalar kimi istifadəçilərin funksiyalarının bir qismi aparılır. “Technology Powering Visitor” platforması ScyllaDB Visitor Platformun qəlbindədir. Biz Java-based Spring Boot microservices istifadə edirik ki, platformu müştərilərimizə izah edərik. Bu, AWS ECS Fargate-də yerləşdirilir. Biz günlük verilərimiz üçün Kubernetes-də Apache Spark-i çalışırıq, offline-a çevrimiçi işlərimizə. Sonra bu işləri ScyllaDB-yə çevrimiçi verilərimizdən verilərimizi yükləmək üçün istifadə edirik ki, bu, canlı saytda mövcuddur. Biz də streaming istifadəçi izləmə hadisələrini işləmək üçün Amazon Kinesis-i istifadə edirik. Platformda Data Flow xəritədə Aşağıdaki grafik dörd aşamada platformamızda nəyi göstərir: istehsal, istifadə, organizasiya və aktivasiya. Bu məlumatların bir qismi Cross-Device User Identity Graph, Behavior Tracking events (saylı sayfa görüntüləri və klikləri kimi) və Kinesis vasitəsilə keçən streaming olayları ilə bağlıdır. “Visitor Platform”ın mikroservisiyaları bu verileri daxil etmək və düzəltmək üçün istifadə olunur. “Visitor Identity Graph” və “Visitor Identity Graph” “Visitor Metric” və “Facts and Metrics” (İnsanların siteyi səyahət etdikləri zaman etdikləri şeylər) Biz platformada verilərini qorumak və təmizləmək üçün gündəlik ETL proseslərini kullanırıq.Gündəlik şablonlandırılmış Data Products-i çevrimdışı verilişimizdə istehsal edirik – orada onların işləməsində istifadə ediləcək başqa bütünlüklərə və digər veriliş kanallarına malikdirlər. Buradan bir baxış var: Visitor platformu: Niyə iki database? Online bazamız real-time, real-time, website trafikinə fokuslaşdırılır. ScyllaDB bu rolunu çox az gecikmələr və yüksək keçid verərək yerinə yetirir. Biz online database-dəki məlumatların sonsuza qədər genişlənməsini önləmək üçün short-term TTL-ləri istifadə edirik, və data retention işlərimiz yalnız real ziyarətçilər üçün istifadəçi aktivliyi verilərini saxladığımızı təmin edir. Tripadvisor.com bir çox bot trafikini alır və onların verilərini saxlamaq və botları kişiselleştirməyə çalışmaq istəmirik - bu yüzden bütün bu verilərimizi silirik və təmizləyirik. Bizim offline data warehouse reporting, başqa data məhsulları yaratmaq, və bizim ML modelləri öyrənmək üçün istifadə etdiyi tarixli məlumatları saxlayır. Biz canlı saytımızın performansını etkiləyən böyük offline data prosesləri istəmirik, bu yüzden biz iki ayrı veritabanı iki ayrı ehtiyac üçün istifadə edir. Mikroservisiya platforması Biz 5 mikroservisiya platforması üçün istifadə edirik: Visitor Core, cookie və cihaz ID-nə dayanan cross-device istifadəçi kimlik grafiklərini idarə edir. “Visitor Metric” bizim sorğu motorudır və bu, bizə spesifik ziyarətçilər üçün gerçəklər və metrikləri göstərmək üçün imkan verir. Biz ziyarətçi sorğu dili, ya da VQL adlanan bir domain-spesifik dili istifadə edirik. “Visitor Publisher” və “Visitor Saver” yazma yolunu işləyir, verilərini platformaya yazır.SciyllaDB-də verilərimizi saxlamaqla yanaşı, verilərimizi offline data warehouse-a da yayırıq. “Visitor Composite” “Visitor Saver” və “Visitor Core” (Visitor Saver” və “Visitor Core”) istifadə edir və yalnız bir API çağırışında ziyarətçi tanımlayır və fakt və metrikləri yayımlayır. Microservice Latency xəritədə Bu grafik, mikroservisiya latensiyalarımızın zamanla necə stabil qalacağına işarə edir. Ortalama latensiya yalnız 2.5 millisekunddır və bizim P999 12,5 millisekunddan azdır.Bu, gün ərzində 1 milyarddan çox istehlak işlədiyimiz üçün təəccüblü bir performansdır. Bizim mikroservisiya müştərilərimiz həddi aşan gerçəklərə malikdir. 95%-dən çox çağrı 12 millisekund və ya daha az vaxtda tamamlanmalıdır. Sürücülər Latency Buradan ScyllaDB-nin 3 gündəki performansını izah edirik. Qiymətdə, ScyllaDB saniyədə 340,000 işləmək işləyir (yazmaq, oxumaq və silinmək daxildir) və CPU yalnız 21% azaldır. ScyllaDB bizim üçün microsekund yazır və millisekund oxuyar. ScyllaDB-yə istifadə etmək Bu fotoşəkil ScyllaDB-yə necə bölüşürüklərini göstərir. VVD - Hollandiyada futbolçu bu adla tanımır ki, Hollandiyada, orada VVD daha çox mərkəz-sağı təmsilən edən siyasi partiyanın adının qısaltması kimi bilinir - artıq çox adi bir hala çevrilib. Biz ScyllaDB-nin Leveled Compaction Stratejisini istifadə edirik, çünki: Sürücülər üçün optimalizasiya Yüksek kardinalizm çox yaxşı işləyir. Daha yaxşı yazılır və 2-3 dəfə daha çox yazılır. Nəyə görə ScyllaDB? Xatırladaq ki, “Cassandra on-prem” sisteminin istifadəçiləri 30 min saniyədə istifadəçiləri tanımalıdır və ən yaxşı kişiselleştirmə üçün “Event Tracking” platformamızın 40 min saniyədə cavab verməsi lazımdır. Biz ScyllaDB ilə Concept Proof-i sürətləndirdik və Cassandra-dan daha yaxşı ola bilirdik və iş yükü ortadan kaldırdıq. Biz tam idarə olunan bir variant istəyirdik, bu yüzden Cassandra-dan ScyllaDB Cloud-a gedirdik, çifti yazma stratejisini izləyirdik.Bu bizə saniyədə 40,000 işləmək və ya istehlak işlətdikcə sıfır vaxtla gedə bilərdi.Sonradan ScyllaDB Cloud-dan ScyllaDB-nin "Sizin öz hesabınızı gətir" modeli ilə gedirdik, orada ScyllaDB komandasının ScyllaDB bazasını öz AWS hesabınıza yerləşdirə bilərsiniz.Bu bizə daha yaxşı performans və daha yaxşı data gizliliyi göstərdi. Bu diagram ScyllaDB-nin BYOA dağılımının necə olduğunu göstərir. Diagramın ortasında, EC2 üzərində çalışan 6 node ScyllaDB clusterini görürsünüz. ScyllaDB Monitor bizə Grafana dashboardları və Prometheus metrikləri verir. ScyllaDB Manager, backup və düzəltmək kimi infrastruktur automatizasiyasına baxır. Bu dağılımla, ScyllaDB bizim mikroservislərimizə çox yaxın yerləşdiriləcək, bu da bizə daha az gecikmə, daha çox keçid və performans verəcək. Ümumilikdə, ümid edirəm ki, sizin bizim arkitekturamızı, platformanın gücünü göstərən texnologiyalarımızı və ScyllaDB-nin TripAdvisor-in çox böyük ölçeklə işləməyəcəyimiz üçün necə kritik rol oynayacağını daha yaxşı anlayırsınız. Cynthia Dunlop haqqında Cynthia ScyllaDB-də Content Strategy direktorudur və 20 ildir yazıb.