See the engineering behind real-time personalization at Tripadvisor’s massive (and rapidly growing) scale የ Tripadvisor እርስዎ ጣቢያ ጋር መገናኘት በኋላ ይህን ማረጋገጥ ይሞክራል, ከዚያም እርስዎ በ Milliseconds ውስጥ እያንዳንዱ ግምገማ ላይ ይበልጥ አስፈላጊ መረጃ ይሰጣል. ይህ የ ML ሞዴሎች በ AWS ላይ የተሰራ ScyllaDB ላይ የተመሠረተ ውሂብ ላይ ይሰራሉ. በዚህ ጽሑፍ ውስጥ, Dean Poulin (Tripadvisor Data Engineering Lead on the AI Service and Products team) እነዚህን ብጁነትን እንዴት ያተኮሩ ይመልከቱ. ይህ AWS re:Invent talk ላይ የተመሠረተ ነው: የጉዞ ትራንስፖርት በዲን መተግበሪያዎች ... በ 2000 ውስጥ የተቋቋመው, የ Tripadvisor በጉዞ እና የአውሮፕላኖች ውስጥ የዓለም አቀፍ መሪ ሊሆን ይችላል, ከዓመቱ ሚሊዮን ደንበኞች የላቀ ጉዞዎችን ለመፍጠር ይረዳል. የ Tripadvisor ከ $1.8 ቢሊዮን በላይ የሽያጭ አግኝቷል እና በ NASDAQ የንግድ ኩባንያ ነው. ዛሬ, ከ 2.800 በላይ ባለሙያዎች ጋር አንድ ታዋቂ ቡድን አግኝቷል, እና የእኛን የፕላስቲክ በየዓመቱ የ 400 ሚሊዮን ልዩ ደንበኞች ይሰጣል. እያንዳንዱ ቀን, የእኛን ስርዓት ከ 25 እስከ 50 ሚሊዮን ተጠቃሚዎች ከ 2 ቢሊዮን በላይ ጥያቄዎችን ይጠቀማል. በ Tripadvisor ላይ ያተኮሩ እያንዳንዱ ግምገማው በይነገጽ ጊዜ ላይ ይጠቀማል. ከዚያ በኋላ, ማሽን መግዛት ሞዴሎች ለማቅረብ የተመሠረተ መመሪያዎችን ይጠቀማል – በዚህ ተስማሚ ጉዞን ይቀየዳል. ይህ ማተሚያ ሞተር በ AWS ላይ ይሰራል ScyllaDB ነው. ይህ በይነገጽ ላይ በይነገጽ ላይ በይነገጽ ላይ በይነገጽ ላይ በይነገጽ ላይ በይነገጽ ላይ በይነገጽ ላይ በይነገጽ ይሰጣል. . 425K operations per second on ScyllaDB with P99 latencies for reads and writes around 1-3 milliseconds የ Tripadvisor በ ScyllaDB, AWS, እና ለሁሉም ተጠቃሚዎች የተመሠረተ መመሪያዎችን ለመስጠት በይነገጽ ጊዜ የሞክሮ መግቢያ ኃይልን እንዴት ይጠቀማል ፡፡ እኛ የጉዞች ሁሉንም ነገር ለመፍጠር ይረዳሉ ፡፡ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገጽ በይነገ የግል ጉዞ ፕሮግራም እርስዎ የ Tripadvisor መኖሪያ ቤት ገጽ ላይ መውሰድ በኋላ, የ Tripadvisor አሁን እርስዎ የ foodie, አንድ አስደሳች, ወይም አንድ ደብዳቤ ደብዳቤ ይታወቃል - እና እርስዎ የእርስዎን ደብዳቤዎች ጋር የተመሠረተ የተመሠረተ ጠቃሚ ምክሮች ይመልከቱ. የእርስዎን የ Tripadvisor መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ መተግበሪያ የ Tripadvisor Model Serving Architecture አጠቃቀም የ Tripadvisor በ Kubernetes on-prem እና በ Amazon EKS ውስጥ ከ Hundreds of independently scalable microservices ላይ ይሰራል. የእኛን ML Model Serving Platform በዚህ microservices መካከል አንዱ በኩል ይሰጣል. ይህ Gateway አገልግሎቱ ከ 100 በላይ ML ሞዴሎች ከክላንድ አገልግሎቶች ውስጥ ያውቃል – ይህም እኛን የ A / B ሙከራዎችን በመጠቀም ምርጥ ሞዴሎች ለመውሰድ ያደርጋል. የ ML ሞዴሎች በ Kubeflow ላይ Jupyter Notebooks በመጠቀም በ Data Scientists እና Machine Learning Engineers የተገነባ ናቸው. እነሱም በ ML Flow በመጠቀም መቆጣጠሪያ እና ስልጠና ያደርጋል, እና በ Kubernetes ውስጥ በ Seldon Core ላይ እነሱን መተግበሪያ እንችላለን. የእኛ Custom Feature Store ለ ML ሞዴሎች ባህሪያት ያቀርባል, እነርሱም ትክክለኛ ጥናት ለመፍጠር ይችላሉ. የ Custom Feature ጣቢያ የ Feature Store በዋናነት ተጠቃሚ ባህሪያት እና ስታቲክ ባህሪያት ይሰጣል. ስታቲክ ባህሪያት እንደ ስታቲክ ባህሪያት በ Redis ውስጥ ይሰጣል. ተጠቃሚ ባህሪያት የ Visitor Platform የሚታወቀው ፕላስቲክ በመስመር ላይ በተመሳሳይ ጊዜ ይሰጣሉ. እኛ ScyllaDB ላይ የዲኒካዊ CQL ጥያቄዎችን ይሰራሉ, እና . we do not need a caching layer because ScyllaDB is so fast የእኛን Feature Store በየ ሰከንዶች እስከ 5 ሚሊዮን ስታቲክ ባህሪያት እና በየ ሰከንዶች ከ 500 ሚሊዮን ተጠቃሚ ባህሪያት ይሰጣል. የ ML Feature ምን ነው? ባህሪያት የ ML ሞዴሎች ውስጥ የተመሠረተ ብዛት ናቸው, እነርሱም የ Static Features እና User Features ናቸው. የ Static Features አንዳንድ ለምሳሌዎች አንድ ምግብ ቤት የተመሠረተ ግምገማዎች ወይም ሆቴል የተመሠረተ መሣሪያዎች ናቸው (እንዴት ነፃ Wi-Fi, pet friendly ወይም fitness center). ተጠቃሚ ባህሪያት ተጠቃሚዎች ጣቢያን በመጎብኘት በይነገጽ ጊዜ በይነገጽ ጊዜ ይሰጣሉ. እነዚህን በ ScyllaDB ውስጥ ማከማቻለን ስለዚህ በይነገጽ ፍላጎቶች ማግኘት ይችላሉ. ተጠቃሚ ባህሪያት አንዳንድ ምሳሌዎች በይነገጽ 30 ደቂቃዎች ውስጥ ተመልከቱ ሆቴሎች, በይነገጽ 24 ሰዓታት ውስጥ ተመልከቱ ምግብ ቤት, ወይም በይነገጽ 30 ቀናት ውስጥ ተመልከቱ ግምገማዎች ናቸው. የቴክኖሎጂ ተመልካቾች መድረክ ScyllaDB በ Visitor Platform ላይ ነው. የ Java-based Spring Boot microservices ይጠቀማሉ. ይህ በ AWS ECS Fargate ላይ ይሰራል. በ Kubernetes ላይ የ Apache Spark ለሁሉም ቀናት መረጃ ማከማቻ ሥራዎች, የ offline ወደ የመስመር ላይ ሥራዎች ይጠቀማሉ. ከዚያም እነዚህ ሥራዎች ይጠቀማሉ ወደ ScyllaDB ወደ የ offline data warehouse ውሂብ ማውረድ, ስለዚህ በ Live site ላይ ይገኛሉ. በተጨማሪም የ Amazon Kinesis ይጠቀማሉ. የድር ጣቢያ Data Flow የሚከተሉት ግራፊክስ በፕላስቲክዎን በ 4 ደረጃዎች ውስጥ መረጃን እንዴት ያስተዋውቃል: ምርት, መውሰድ, የተመሠረተ እና መተግበሪያ. የእኛን ድር ጣቢያ እና የእኛን የሞባይል መተግበሪያዎች በመፍጠር ውሂብ ያካትታል. እነዚህ ውሂብ አንዳንድ የእኛን Cross-Device User Identity Graph, Behavior Tracking events (እኛን ገጽ ተመልከት እና ጠቅ ያድርጉ) እና streaming events በ Kinesis በመጠቀም ያካትታል. የ Visitor Platform microservices እነዚህን ውሂብ ለመውሰድ እና ለመተካት ይጠቀማሉ. ScyllaDB ውስጥ ውሂብ ሁለት keyspaces ውስጥ የተመሠረተ ነው: የ Visitor Core KeySpace, የ Visitor Identity Graph ያካትታል The Visitor Metric keyspace, ይህም Facts እና Metrics ያካትታል (እነዚህ ሰዎች በድር ጣቢያ ላይ ለመጎብኘት ጊዜ የተሰራ ነገሮች) በአጠቃቀም የ ETL ሂደቶች በአጠቃቀም የፕላስቲክ ውስጥ ውሂብ ለመጠበቅ እና መቁረጥ ይጠቀማሉ. በአጠቃቀም የፕላስቲክ ውሂብ ምርቶች በአጠቃቀም የፕላስቲክ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ውሂብ ው እዚህ ቁጥር በ Visitor Platform ይመልከቱ: 2 የግል መረጃ ምን ያህል? የእኛን የመስመር ላይ ውሂብ ውሂብ በይነገጽ, በይነገጽ የድር ጣቢያ ተንቀሳቃሽ ላይ የተመሠረተ ነው. ScyllaDB በጣም ዝቅተኛ ውሂብ እና ከፍተኛ ውሂብ ውሂብ ያቀርባል. የእኛን የመስመር ላይ ውሂብ ውሂብ በይነገጽ ጊዜ ለመቀነስ የ TTLs ይጠቀማል, እና የእኛን ውሂብ ማከማቻ ሥራዎች የእኛን ተጠቃሚ እንቅስቃሴ ውሂብ ብቻ ለማረጋገጥ ያረጋግጣል. Tripadvisor.com ብዙ የቦታ ተንቀሳቃሽ ያገኛል, እና የእኛን ውሂብ ማከማቻ እና ቦታዎችን ለመፍጠር አይፈልግም - ስለዚህ እነዚህን ውሂብ ሁሉ መቁረጥ እና መቁረጥ. የእኛን የመስመር ላይ ውሂብ ማከማቻው የግል ውሂብ ይጠቀማል, ሌሎች ውሂብ ምርቶች ለመፍጠር, እና የእኛን ML ሞዴሎች ለመፍጠር. የእኛን የመስመር ላይ ውሂብ ሂደቶች የእኛን የመስመር ላይ ጣቢያ አፈጻጸም ላይ ተጽዕኖ አይፈልግም, ስለዚህ ሁለት ልዩ ውሂብ ቦርሳዎችን ለሁለት የተለያዩ ፍላጎቶች ይጠቀማል. የ microservices አግኝቷል የ 5 microservices for Visitor Platform ይጠቀማሉ: Visitor Core በ Cookie እና መሣሪያ IDs ላይ የተመሠረተ cross-device user identity graph ይጠቀማል. Visitor Metric የእኛን ጥያቄ መሣሪያ ነው, እና ይህ የእኛን መረጃዎችን እና ማተሚያዎችን በእያንዳንዱ ደንበኞች ለማሳየት ችሎታ ይሰጣል. እኛ Visitor Query Language, ወይም VQL የሚታወቀው የዶሜኒክ ልዩ ቋንቋ ይጠቀማሉ. ይህ ምሳሌ VQL ከሁለት ሰዓታት ውስጥ የቅርብ ጊዜ የንግድ ማተሚያ መረጃዎችን ለማየት ይችላሉ. Visitor Publisher እና Visitor Saver በፕሮፕላስቲክ ውስጥ ውሂብ መጻፍ እና ውሂብ መጻፍ ይጠቀማሉ. በ ScyllaDB ውስጥ ውሂብ ማከማቻ ለማግኘት በተጨማሪም ውሂብ ወደ የመስመር ላይ ውሂብ ማከማቻ ይጠቀማሉ. ይህ በ Amazon Kinesis ይጠቀማል. Visitor Composite በ batch processing jobs ውስጥ ውሂብ ለመፍጠር ቀላል ይሰጣል. Visitor Saver እና Visitor Core ለመውሰድ እና አንድ አንድ API call ውስጥ እውቀት እና ሜትሪክዎችን ለመፍጠር ይጠቀማል. የ Microservice Latency አጠቃቀም ይህ ግራፊክስ የእኛን microservices latencies በጊዜው በጊዜው ተረጋግጣል እንዴት ያደርጋል. በአጠቃላይ የ P999 ከ 12,5 ሚሊሲሲኮን በታች ነው. ይህ በጣም አስደሳች አፈጻጸም ነው, በተለይም በአጠቃላይ በየዓመቱ ከ 1 ቢሊዮን ጥያቄዎችን ለማከናወን. የእኛን microservice ደንበኞች ጠንካራ ትክክለኛነት መስፈርቶች አላቸው. የ 95% የ calls በ 12 ሚሊሲሲንዲን ወይም ዝቅተኛ ውስጥ መክፈት አለበት. የ SCYLLAB LATENCE እዚህ የ ScyllaDB በ 3 ቀናት ውስጥ አፈጻጸም አዝማሚያ ነው. በከፍተኛ ደረጃ ላይ, ScyllaDB ሰከንዶች ውስጥ 340,000 ትራንስፖርት (የተኮር እና መጻፍ እና መቁረጫዎች ጨምሮ) ያካትታል እና የ CPU በ 21% ብቻ ነው. ScyllaDB ለእኛ microsecond መጻፍ እና millisecond መጻፍ ይሰጣል. ይህ ፍጹም ፍጹም አፈጻጸም ፍጹም ስለዚህ ScyllaDB ይምረጡ. Data Partitioning በ ScyllaDB ይህ ፎቶ በ ScyllaDB ውስጥ ውሂብን እንዴት ያስተዋውቃል. የ Visitor Metric Keyspace ሁለት ገጾች አለው: Fact እና Raw Metrics. Fact ገጾች ላይ ዋና ገጾች Visitor GUID, Fact Type, and Created At Date ናቸው. የኮምፒውተር ቅርጸት ገጾች Visitor GUID እና Fact Type ናቸው. የኩስቲንግ ገጾች በ Date ነው, ይህም መረጃዎችን በገጽ ገጾች ላይ ለመርዳት እንችላለን. አታሚዎች ገጾች በአውሮፕላን ውስጥ ተመሳሳይ ተሳታፊዎችን ያካትታል. አንዳንድ ለምሳሌ ገጾች የኮምፒውተር ግምገማዎች, ገጾች ግምገማዎች እና ገጾች ናቸው. እኛ ScyllaDB የ Leveled Compaction Strategy ይጠቀማሉ ምክንያቱም: የ range queries የተሻለ ነው. ከፍተኛ Kardinality በጣም ጥሩ ይሰራል የተሻለ የክብደት ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ሰር ለምን ScyllaDB? የእኛ መፍትሔ በመጀመሪያ በ Cassandra on-prem በመጠቀም የተመሰረተ ነበር. ነገር ግን በከፍተኛ ደረጃ ላይ, እንዲሁም የሥራ ትብብር ጋር. የእኛን መፍትሔው በባህር ክፍሎች ላይ በጣም ዝቅተኛ የቅርብ ጊዜዎችን ያስፈልጋል. የእኛ የ User Identity Management ስርዓት በ 30 ሚሊስ ሰከንዶች ውስጥ ተጠቃሚን ማረጋገጥ አለበት – እና ምርጥ ብጁነት ለማግኘት, የእኛን Event Tracking መድረክ በ 40 ሚሊስ ሰከንዶች ውስጥ መልስ ያስፈልጋል. የእኛን መፍትሔ በባህር ገጽ ማረጋገጫን መከላከል አይችልም ስለዚህ የእኛን SLAs በጣም ዝቅተኛ ናቸው. በ Cassandra ጋር, የእኛን የሸማሽ አጠቃቀም አፈጻጸም ላይ ውጤታማነት አለን. በ ScyllaDB ጋር የ Proof of Concept መጀመር እና በ Cassandra ከ በከፍተኛ ፍጥነት ሊሆን ይችላል እና የሥራ ፍጥነት ሊሆን ይችላል. ScyllaDB በከፍተኛ ፍጥነት ሊሆን ይችላል እና በከፍተኛ ፍጥነት ሊሆን ይችላል. ከ Cassandra ወደ ScyllaDB Cloud በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግበሪያው በመተግ ይህ ዲግሪ ScyllaDB BYOA መተግበሪያን እንዴት ይመልከቱ. በካርታ ውስጥ, በ EC2 ላይ ይሰራሉ የ 6-ኮድ ScyllaDB ግምገማን ይመልከቱ. ከዚያም ሁለት ተጨማሪ EC2 እይታዎች አሉ. ScyllaDB Monitor እኛን Grafana dashboards እንዲሁም Prometheus metrics ይሰጣል. ScyllaDB Manager እንደ backups እና repairs ለመጀመር እንደ ኢንዱስትሪ ኦቶማሽን ይጠቀማል. በዚህ መተግበሪያ ጋር, ScyllaDB ከ microservices ጋር በጣም ተስማሚ ሊሆን ይችላል, ይህም እኛም በጣም ዝቅተኛ የቅርብ ጊዜዎች እና በጣም ከፍተኛ አጠቃቀም እና አፈጻጸም ያቀርባል. አሁን የእኛን መዋቅር, የፕላስቴክኖሎጂዎችን እና የ ScyllaDB በ TripAdvisors በጣም ከፍተኛ መጠን ለማስተካከል እንችላለን ላይ እንዴት አስፈላጊ roles ይጫወታሉ ይፈልጋሉ. ስለ Cynthia Dunlop Cynthia በ ScyllaDB ውስጥ የ Content Strategy Senior Director ነው እና ከ 20 ዓመታት በላይ ሶፍትዌር ልማት እና ጥራት ኢንጂነሪንግ ላይ ያተኮሩ ነው.