Αυτή η ανάρτηση συντάχθηκε από τον Mahesh Pasupuleti και τον Gaurav Shah από το Poshmark.
Η Poshmark είναι μια κορυφαία κοινωνική αγορά για νέα και μεταχειρισμένα στυλ για γυναίκες, άνδρες, παιδιά, κατοικίδια, σπίτι και πολλά άλλα. Συνδυάζοντας την ανθρώπινη σύνδεση των φυσικών αγορών με την κλίμακα, την ευκολία και τα οφέλη επιλογής του ηλεκτρονικού εμπορίου, η Poshmark κάνει την αγορά και την πώληση απλή, κοινωνική και βιώσιμη. Η κοινότητά του με περισσότερους από 80 εκατομμύρια εγγεγραμμένους χρήστες στις ΗΠΑ, τον Καναδά, την Αυστραλία και την Ινδία οδηγεί ένα πιο βιώσιμο μέλλον για τη βιομηχανία της μόδας.
Ένας σημαντικός στόχος που πρέπει να επιτευχθεί για κάθε οργανισμό είναι να αυξήσει τα κορυφαία έσοδα. Τα έσοδα κορυφαίας γραμμής αναφέρονται στη συνολική αξία των πωλήσεων των υπηρεσιών ή των προϊόντων ενός οργανισμού. Οι δύο κύριες προσεγγίσεις που χρησιμοποιούν οι οργανισμοί για να αυξήσουν τα έσοδα είναι να επεκταθούν γεωγραφικά για να εισέλθουν σε νέες αγορές και να αυξήσουν το μερίδιο αγοράς σε μια αγορά βελτιώνοντας την εμπειρία των πελατών (CX).
Η βελτίωση του CX είναι μια γνωστή κατευθυντήρια γραμμή για την προσέλκυση και τη διατήρηση πελατών και ως εκ τούτου την αύξηση του μεριδίου αγοράς. Σε αυτήν την ανάρτηση, μοιραζόμαστε πώς Poshmark βελτιώθηκε το CX και επιτάχυνε την αύξηση των εσόδων χρησιμοποιώντας μια λύση ανάλυσης σε πραγματικό χρόνο. Συζητάμε πώς να δημιουργήσουμε μια τέτοια λύση χρησιμοποιώντας Ροές δεδομένων Amazon Kinesis, Η Amazon διαχειρίστηκε τη ροή για τον Κάφκα (Amazon MSK), Amazon Kinesis Data Analytics για Apache Flink; οι σχεδιαστικές αποφάσεις που πήγαν στην αρχιτεκτονική· και τα παρατηρούμενα επιχειρηματικά οφέλη από την Poshmark.
Πρόκληση υψηλού επιπέδου: Η ανάγκη για αναλυτικά στοιχεία σε πραγματικό χρόνο
Οι προηγούμενες προσπάθειες της Poshmark για τη βελτίωση του CX μέσω των αναλυτικών στοιχείων βασίζονταν στη μαζική επεξεργασία δεδομένων αναλυτικών στοιχείων και τη χρήση τους σε καθημερινή βάση για τη βελτίωση του CX. Αν και αυτές οι προσπάθειες που βασίζονται σε ομαδικές αναλύσεις ήταν επιτυχείς σε κάποιο βαθμό, είδαν ευκαιρίες βελτίωσης της εμπειρίας του πελάτη με εξατομίκευση σε πραγματικό χρόνο και καθοδήγηση ασφαλείας κατά τη διάρκεια της αλληλεπίδρασης του πελάτη με την εφαρμογή Poshmark. Οι πληροφορίες πελατών που συγκεντρώθηκαν από τα αναλυτικά στοιχεία παρτίδας δεν μπορούσαν να συνδυαστούν με τις τρέχουσες δραστηριότητες πελατών σε πραγματικό χρόνο λόγω των καθυστερήσεων που εμπλέκονται στον εμπλουτισμό των τρεχουσών δραστηριοτήτων με τη γνώση που αποκτήθηκε μέσω διαδικασιών παρτίδας. Ως εκ τούτου, έλειπε η ευκαιρία παροχής προσαρμοσμένων προσφορών ή προβολής προϊόντων με βάση τις προτιμήσεις και τις συμπεριφορές των πελατών σε σχεδόν πραγματικό χρόνο, κάτι που συμβάλλει σε μια πολύ καλύτερη εμπειρία πελάτη. Ομοίως, έλειπε επίσης η ευκαιρία να συλλάβουμε την απάτη μέσα σε ένα δευτερόλεπτο, πριν από το ταμείο.
Για να βελτιώσει την εμπειρία του πελάτη, η Poshmark αποφάσισε να επενδύσει στη δημιουργία μιας πλατφόρμας αναλυτικών στοιχείων σε πραγματικό χρόνο για να ενεργοποιήσει τις δυνατότητες σε πραγματικό χρόνο, όπως εξηγείται περαιτέρω σε αυτήν την ανάρτηση. Οι μηχανικοί της Poshmark συνεργάστηκαν στενά με αρχιτέκτονες AWS μέσω του Το πρόγραμμα AWS Data Lab. Το AWS Data Lab προσφέρει επιταχυνόμενες, κοινές δεσμεύσεις μηχανικής μεταξύ των πελατών και των τεχνικών πόρων της AWS για τη δημιουργία απτών παραδοτέων που επιταχύνουν τις πρωτοβουλίες εκσυγχρονισμού δεδομένων και αναλυτικών στοιχείων. Το Εργαστήριο Σχεδίασης είναι μια μισή έως δύο ημέρες δέσμευση με την ομάδα πελατών που προσφέρει συνταγογραφική καθοδήγηση για να φτάσετε στον βέλτιστο σχεδιασμό αρχιτεκτονικής λύσης προτού ξεκινήσετε την κατασκευή της πλατφόρμας.
Σχεδιασμός της αρχιτεκτονικής λύσης μέσω της διαδικασίας AWS Data Lab
Οι επιχειρηματικοί και τεχνικοί ενδιαφερόμενοι από την Poshmark και οι αρχιτέκτονες του AWS Data Lab συζήτησαν τις βραχυπρόθεσμες επιχειρηματικές απαιτήσεις μαζί με τις λειτουργικές και μη λειτουργικές δυνατότητες που απαιτούνται για την απόφαση σχετικά με την αρχιτεκτονική προσέγγιση. Εξέτασαν την τρέχουσα αρχιτεκτονική κατάσταση και τους περιορισμούς για να κατανοήσουν τη ροή δεδομένων και τα σημεία τεχνικής ολοκλήρωσης. Η κοινή ομάδα συζήτησε τα πλεονεκτήματα και τα μειονεκτήματα διαφόρων υπηρεσιών AWS που υπάρχουν ήδη στην τρέχουσα αρχιτεκτονική της Poshmark, καθώς και άλλων υπηρεσιών AWS που μπορούν να ικανοποιήσουν τις απαιτήσεις.
Η Poshmark ήθελε να αντιμετωπίσει τις ακόλουθες περιπτώσεις επιχειρηματικής χρήσης μέσω της πλατφόρμας αναλυτικών στοιχείων σε πραγματικό χρόνο:
- Συνεδρίαση – Το Poshmark καταγράφει συμβάντα εφαρμογών από την πλευρά του διακομιστή και συμβάντα παρακολούθησης από την πλευρά του πελάτη. Ήθελαν να χρησιμοποιήσουν αυτά τα συμβάντα για τον εντοπισμό και την ανάλυση των περιόδων σύνδεσης των χρηστών για την παρακολούθηση της συμπεριφοράς.
- Παράνομη εγγραφή και αποτροπή εισόδου – Η Poshmark ήθελε να εντοπίσει και να απαγορεύσει αθέμιτα συμβάντα εγγραφής ή σύνδεσης από bots ή μη ανθρώπινη κίνηση σε πραγματικό χρόνο στην εφαρμογή Poshmark.
- Μετάφραση IP – Οι διευθύνσεις IP που υπάρχουν σε εκδηλώσεις θα μεταφραστούν σε πόλη, πολιτεία και zip και θα εμπλουτιστούν με άλλες πληροφορίες για την υλοποίηση υπηρεσιών σε πραγματικό χρόνο, με επίγνωση της τοποθεσίας, που θα περιλαμβάνουν λειτουργίες που σχετίζονται με την ασφάλεια καθώς και λειτουργίες εξατομίκευσης.
- Ανωνυμοποίηση – Η Poshmark ήθελε να ανωνυμοποιήσει συμβάντα και να κάνει τα δεδομένα διαθέσιμα σε εσωτερικούς χρήστες για ερωτήματα σε σχεδόν πραγματικό χρόνο.
- Εξατομικευμένες προτάσεις – Η συμπεριφορά του χρήστη που βασίζεται σε συμβάντα ροής κλικ μπορεί να αποτυπωθεί μέχρι το τελευταίο δευτερόλεπτο πριν την εμπλουτίσετε για εξατομίκευση και την αποστολή στο μοντέλο για την πρόβλεψη των προτάσεων.
- Άλλες περιπτώσεις χρήσης – Πρόσθετες περιπτώσεις χρήσης που σχετίζονται με συναθροίσεις και περιπτώσεις χρήσης συμπερασμάτων μηχανικής μάθησης (ML), όπως εξουσιοδότηση λειτουργίας, καταχώριση ανίχνευσης ανεπιθύμητων μηνυμάτων και αποφυγή εξαγορών λογαριασμών (ATO), μεταξύ άλλων.
Ένα κοινό μοτίβο που εντοπίστηκε για αυτές τις περιπτώσεις χρήσης ήταν η ανάγκη για έναν κεντρικό αγωγό εμπλουτισμού δεδομένων για τον εμπλουτισμό των εισερχόμενων πρωτογενών συμβάντων προτού τα δεδομένα συμβάντων μπορούν να χρησιμοποιηθούν για πραγματική επιχειρηματική επεξεργασία. Στο Εργαστήριο Σχεδίασης, εστιάσαμε στον σχεδιασμό για αγωγούς εμπλουτισμού δεδομένων που στοχεύουν στον εμπλουτισμό συμβάντων με δεδομένα από στατικά αρχεία, δυναμικές αποθήκες δεδομένων όπως βάσεις δεδομένων, API ή εντός της ίδιας ροής συμβάντων για τις προαναφερθείσες περιπτώσεις χρήσης ροής. Αργότερα σε αυτήν την ανάρτηση, καλύπτουμε τα κύρια σημεία που συζητήθηκαν κατά τη διάρκεια του εργαστηρίου σχετικά με το σχεδιασμό και την αρχιτεκτονική.
Αρχιτεκτονική λύσεων ανάλυσης παρτίδων
Το παρακάτω διάγραμμα δείχνει την προηγούμενη αρχιτεκτονική στο Poshmark. Για συντομία, επεξηγείται μόνο η ροή που σχετίζεται με την πλατφόρμα αναλυτικών στοιχείων σε πραγματικό χρόνο.
Οι αλληλεπιδράσεις χρηστών σε εφαρμογές ιστού και κινητών Poshmark δημιουργούν συμβάντα από την πλευρά του διακομιστή. Αυτά τα συμβάντα περιλαμβάνουν προσθήκη στο καλάθι, παραγγελίες, συναλλαγές και άλλα σε διακομιστές εφαρμογών και την προβολή σελίδας, τα κλικ και άλλα σε διακομιστές παρακολούθησης. Μιλάει άπταιστα με ένα Amazon Kinesis Η προσθήκη έχει ρυθμιστεί τόσο στους διακομιστές εφαρμογής όσο και στους διακομιστές παρακολούθησης για αποστολή αυτών των συμβάντων Ροές δεδομένων Amazon Kinesis. Η προσθήκη Fluentd Kinesis συγκεντρώνει συμβάντα πριν από την αποστολή στο Kinesis Data Streams. Αυτήν τη στιγμή έχει ρυθμιστεί μια ενιαία ροή δεδομένων Kinesis για την καταγραφή αυτών των συμβάντων. Ένα τυχαίο κλειδί διαμερίσματος έχει ρυθμιστεί στο Fluentd για τα συμβάντα ώστε να επιτρέπει την ομοιόμορφη κατανομή των γεγονότων στα θραύσματα. Η μορφή δεδομένων συμβάντος είναι ένθετη JSON. Η Poshmark διατηρεί την ίδια γραμματική σχήματος στο πρώτο επίπεδο του JSON τόσο για συμβάντα διακομιστή όσο και για συμβάντα διακομιστή. Τα χαρακτηριστικά σε ένθετο επίπεδο μπορεί να διαφέρουν μεταξύ συμβάντων από την πλευρά του διακομιστή και του πελάτη.
Η Poshmark λαμβάνει περίπου 1 δισεκατομμύριο συμβάντα την ημέρα (100 εκατομμύρια ανά ώρα σε ώρες αιχμής, 10 εκατομμύρια ανά ώρα σε ώρες μη αιχμής). Το μέσο μέγεθος της εγγραφής συμβάντος είναι 1.2 KB.
Τα δεδομένα από τη ροή δεδομένων Kinesis καταναλώνονται από δύο εφαρμογές:
- Μια εφαρμογή ροής Spark ενεργοποιημένη EMR Αμαζονίου χρησιμοποιείται για την εγγραφή δεδομένων από τη ροή δεδομένων Kinesis σε μια λίμνη δεδομένων που φιλοξενείται Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) με χωρισμένο τρόπο. Τα δεδομένα από τη λίμνη δεδομένων S3 χρησιμοποιούνται για μαζική επεξεργασία και ανάλυση μέσω του Amazon EMR και Amazon RedShift.
- Druid φιλοξενείται στις Amazon Elastic Compute Cloud (Amazon EC2) ενσωματώνεται με τη ροή δεδομένων Kinesis για απορρόφηση ροής και επιτρέπει στους χρήστες να εκτελούν ερωτήματα OLAP slice-and-dice. Οι λειτουργικοί πίνακες εργαλείων φιλοξενούνται στο Grafana ενσωματωμένο στο Druid.
Επιθυμητές βελτιώσεις στην αρχική λύση
Οι περιπτώσεις χρήσης που συζητούνται κατά τη διάρκεια των συνεδριών αρχιτεκτονικής εμπίπτουν σε έναν ή περισσότερους συνδυασμούς των ακόλουθων απαιτήσεων επεξεργασίας ροής:
- Επεξεργασία συμβάντων ανιθαγενών – Για παράδειγμα, ανωνυμοποίηση σχεδόν σε πραγματικό χρόνο.
- Εξωτερική αναζήτηση – Αναζήτηση αξίας από εξωτερικά καταστήματα. Για παράδειγμα, διεύθυνση IP, πόλη, zip, πολιτεία ή αναγνωριστικό.
- Πολιτική επεξεργασία δεδομένων – Πρόσβαση σε προηγούμενα συμβάντα ή συναθροίσεις ή συμπεράσματα ML.
Για να καλύψει αυτές τις απαιτήσεις, η πλατφόρμα ροής χωρίζεται σε δύο επίπεδα:
- Κεντρικός εμπλουτισμός δεδομένων – Αυτό το επίπεδο εκτελεί εμπλουτισμούς που συνήθως απαιτούνται από εφαρμογές μεταγενέστερης ροής. Αυτό θα βοηθήσει στην αποφυγή αναπαραγωγής της ίδιας λογικής εμπλουτισμού σε κάθε εφαρμογή και θα επιτρέψει την καλύτερη λειτουργική συντήρηση. Ο εμπλουτισμός θα πρέπει να επιδιώκει την επεξεργασία ανά εγγραφή στις περισσότερες περιπτώσεις.
- Συγκεκριμένες εφαρμογές ροής – Αυτό το επίπεδο θα φιλοξενεί συγκεκριμένες εφαρμογές ροής όσον αφορά τις περιπτώσεις χρήσης και θα χρησιμοποιεί εμπλουτισμένα δεδομένα από τον κεντρικό αγωγό εμπλουτισμού δεδομένων.
Για τον κεντρικό εμπλουτισμό δεδομένων, πραγματοποιήσαμε τις ακόλουθες βελτιώσεις στην πλατφόρμα:
- Ο συνολικός λανθάνοντας χρόνος, συμπεριλαμβανομένης της απορρόφησης και του εμπλουτισμού δεδομένων, ήταν εξαιρετικά κρίσιμος και θα πρέπει να κυμαίνεται από διψήφιο λανθάνοντα χρόνο με βάση τον συνολικό προϋπολογισμό λανθάνοντος χρόνου της Poshmark για την επίτευξη αποκρίσεων ML σε πραγματικό χρόνο σε συμβάντα. Ο απόλυτος χαμηλότερος λανθάνοντας χρόνος απορρόφησης επιτεύχθηκε από τον Kafka και η ομάδα αποφάσισε να χρησιμοποιήσει τη διαχειριζόμενη έκδοση του Kafka, το Amazon MSK.
- Ομοίως, απαιτείται επίσης επεξεργασία δεδομένων χαμηλής καθυστέρησης και θα πρέπει να εξεταστεί το κατάλληλο πλαίσιο.
- Ακριβώς μία φορά απαιτήθηκαν εγγυήσεις παράδοσης για να αποφευχθεί η αλληλεπικάλυψη δεδομένων με αποτέλεσμα λανθασμένους υπολογισμούς.
- Η πηγή εμπλουτισμού θα μπορούσε να είναι οποιαδήποτε πηγή, όπως στατικά αρχεία, βάσεις δεδομένων και API και οι καθυστερήσεις μπορεί να διαφέρουν μεταξύ τους. Ένας αριθμός συμβάντων από την πλευρά του διακομιστή και του πελάτη δημιουργούνται όταν ένας χρήστης αλληλεπιδρά με μια εφαρμογή Poshmark. Ως αποτέλεσμα, οι ίδιες πληροφορίες από την πηγή εμπλουτισμού απαιτούνται για τον εμπλουτισμό κάθε συμβάντος. Αυτή η συχνή πρόσβαση στις πληροφορίες που αποθηκεύονται στην κρυφή μνήμη σε μια κεντρική κρυφή μνήμη θα βελτιστοποιήσει τον χρόνο ανάκτησης.
Σχεδιαστικές αποφάσεις για τη νέα λύση
Η Poshmark έλαβε τις ακόλουθες σχεδιαστικές αποφάσεις για τον κεντρικό εμπλουτισμό δεδομένων:
- Ο Κάφκα μπορεί να υποστηρίξει διψήφιο χρόνο καθυστέρησης χιλιοστών του δευτερολέπτου από τον παραγωγό στον καταναλωτή με την κατάλληλη ρύθμιση απόδοσης. Ο Κάφκα μπορεί να παρέχει σημασιολογικά στοιχεία, τόσο στους παραγωγούς όσο και στις εφαρμογές των καταναλωτών. Η AWS παρέχει το Kafka ως μέρος της προσφοράς της στο Amazon MSK, εξαλείφοντας τα λειτουργικά έξοδα συντήρησης και λειτουργίας της υποδομής συμπλέγματος Kafka στο AWS, επιτρέποντάς σας έτσι να εστιάσετε στην ανάπτυξη και εκτέλεση εφαρμογών που βασίζονται στο Kafka. Η Poshmark αποφάσισε να χρησιμοποιήσει το Amazon MSK για τις απαιτήσεις απορρόφησης ροής και αποθήκευσης.
- Αποφασίσαμε επίσης να χρησιμοποιήσουμε το Flink για εφαρμογές εμπλουτισμού δεδομένων ροής για τους ακόλουθους λόγους:
- Το Flink μπορεί να παρέχει επεξεργασία χαμηλής καθυστέρησης ακόμη και σε υψηλότερη απόδοση με εγγυήσεις ακριβώς μία φορά. Το Spark Structured Streaming από την άλλη πλευρά μπορεί να παρέχει χαμηλή καθυστέρηση με χαμηλή απόδοση λόγω επεξεργασίας που βασίζεται σε μικροπαρτίδες. Η συνεχής επεξεργασία Spark Structured Streaming είναι ένα πειραματικό χαρακτηριστικό και παρέχει εγγυάται τουλάχιστον μία φορά.
- Η κλήση αιτημάτων εμπλουτισμού σε εξωτερικό χώρο αποθήκευσης, εάν διαμορφωθεί σε μια συνάρτηση χάρτη (API χάρτη του Spark ή API MapFunction του Flink) θα πραγματοποιεί σύγχρονες κλήσεις προς το εξωτερικό χώρο αποθήκευσης. Η κλήση θα περιμένει μια απάντηση από το εξωτερικό κατάστημα πριν επεξεργαστεί το επόμενο συμβάν, αυξάνοντας τις καθυστερήσεις και μειώνοντας τη συνολική απόδοση. Η ασύγχρονη αλληλεπίδραση θα επιτρέψει την αποστολή αιτημάτων και τη λήψη απαντήσεων ταυτόχρονα από εξωτερικά καταστήματα. Αυτό θα μειώσει τον χρόνο αναμονής και θα βελτιώσει τη συνολική απόδοση. Flink υποστηρίζει ασύγχρονη είσοδος/έξοδος χειριστές εγγενώς, επιτρέποντας στους χρήστες να χρησιμοποιούν ασύγχρονους πελάτες αιτημάτων με ροές δεδομένων. Το API χειρίζεται την ενοποίηση με ροές δεδομένων, καθώς και τη διαχείριση της σειράς, του χρόνου συμβάντων, της ανοχής σφαλμάτων και πολλά άλλα. Το Spark Structured Streaming δεν παρέχει καμία τέτοια υποστήριξη εγγενώς και την αφήνει στους χρήστες για προσαρμοσμένη εφαρμογή.
- Η Poshmark επέλεξε το Kinesis Data Analytics για το Apache Flink για να εκτελέσει την εφαρμογή εμπλουτισμού δεδομένων. Το Kinesis Data Analytics για το Apache Flink παρέχει την υποκείμενη υποδομή για τις εφαρμογές σας Apache Flink. Χειρίζεται βασικές δυνατότητες όπως παροχή υπολογιστικών πόρων, παράλληλος υπολογισμός, αυτόματη κλιμάκωση, και αντίγραφα ασφαλείας εφαρμογών (που εφαρμόζονται ως σημεία ελέγχου και στιγμιότυπα).
- Μια μικρουπηρεσία εμπλουτισμού που συνοδεύει Amazon ElastiCache για Redis δημιουργήθηκε για αφηρημένη πρόσβαση από εφαρμογές εμπλουτισμού δεδομένων. Η AsyncFunction στον τελεστή Flink async I/O δεν είναι πολλαπλών νημάτων και δεν θα λειτουργεί με πραγματικά ασύγχρονο τρόπο, εάν η κλήση είναι αποκλεισμένη ή περιμένει απάντηση. Η μικρουπηρεσία εμπλουτισμού χειρίζεται αιτήματα και απαντήσεις που προέρχονται ασύγχρονα από χειριστές εισόδου/εξόδου Flink async. Τα δεδομένα αποθηκεύονται επίσης προσωρινά στο ElastiCache για το Redis για τη βελτίωση του λανθάνοντος χρόνου της microservice.
- Οι εφαρμογές Poshmark ML είναι οι καταναλωτές αυτών των εμπλουτισμένων δεδομένων. Η ομάδα έχει δημιουργήσει και αναπτύξει διαφορετικά μοντέλα ML με την πάροδο του χρόνου. Αυτά τα μοντέλα περιλαμβάνουν εκμάθηση κατάταξης αλγόριθμου, ανίχνευση απάτης, εξατομίκευση και συστάσεις και φιλτράρισμα ανεπιθύμητων μηνυμάτων στο διαδίκτυο. Προηγουμένως, για την ανάπτυξη κάθε μοντέλου στην παραγωγή, η ομάδα της Poshmark έπρεπε να περάσει από μια σειρά βημάτων εγκατάστασης υποδομής που περιλάμβαναν εξαγωγή δεδομένων από πηγές σε πραγματικό χρόνο, δημιουργία συγκεντρωτικών χαρακτηριστικών σε πραγματικό χρόνο από δεδομένα ροής, αποθήκευση αυτών των χαρακτηριστικών σε χαμηλή καθυστέρηση βάση δεδομένων (Redis) για συμπεράσματα δευτερολέπτου του δευτερολέπτου και, τέλος, εκτέλεση συμπερασμάτων μέσω Amazon Sage Maker φιλοξενούνται τελικά σημεία.
- Σχεδιάσαμε επίσης μια διοχέτευση αποθήκευσης χαρακτηριστικών ML που καταναλώνει δεδομένα από τις εμπλουτισμένες πηγές ροής (Kinesis ή Kafka), δημιουργεί λειτουργίες ενός επιπέδου και συγκεντρωτικού επιπέδου και απορροφά αυτές τις δημιουργημένες λειτουργίες σε ένα αποθετήριο καταστήματος χαρακτηριστικών με πολύ χαμηλό λανθάνοντα χρόνο μικρότερο από 80 χιλιοστά του δευτερολέπτου.
- Τα μοντέλα ML είναι πλέον σε θέση να εξάγουν τις απαραίτητες δυνατότητες με καθυστέρηση μικρότερη από 10 χιλιοστά του δευτερολέπτου από το χώρο αποθήκευσης χαρακτηριστικών και να πραγματοποιούν εξαγωγή συμπερασμάτων μοντέλων σε πραγματικό χρόνο.
Αρχιτεκτονική λύσεων ανάλυσης σε πραγματικό χρόνο
Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύσης για ανάλυση σε πραγματικό χρόνο με το Amazon MSK και το Kinesis Data Analytics για το Apache Flink.
Η ροή εργασίας έχει ως εξής:
- Οι χρήστες αλληλεπιδρούν στον ιστό ή την εφαρμογή για κινητά της Poshmark.
- Τα συμβάντα από την πλευρά του διακομιστή καταγράφονται σε διακομιστές εφαρμογών και τα συμβάντα από την πλευρά του πελάτη καταγράφονται σε διακομιστές παρακολούθησης. Αυτά τα συμβάντα είναι γραμμένα στο κατάντη σύμπλεγμα MSK.
- Τα πρωτογενή συμβάντα θα ενσωματωθούν στο σύμπλεγμα MSK χρησιμοποιώντας την προσθήκη Fluentd για την παραγωγή δεδομένων για τον Kafka.
- Η μικρουπηρεσία εμπλουτισμού αποτελείται από αντιδραστικά (ασύγχρονα) API αναζήτησης εμπλουτισμού που ανακτούν δεδομένα από μόνιμες αποθήκες δεδομένων. Το ElastiCache for Redis αποθηκεύει προσωρινά δεδομένα με συχνή πρόσβαση, μειώνοντας τον χρόνο ανάκτησης για API αναζήτησης εμπλουτισμού.
- Η εφαρμογή Flink που εκτελείται σε Kinesis Data Analytics για Apache Flink καταναλώνει ακατέργαστα συμβάντα από το Amazon MSK και εκτελεί εμπλουτισμό δεδομένων σε βάση ανά εγγραφή. Η εφαρμογή εμπλουτισμού δεδομένων Flink χρησιμοποιεί την ασύγχρονη I/O του Flink για την ανάγνωση εξωτερικών δεδομένων από το χώρο αποθήκευσης αναζήτησης εμπλουτισμού για τον εμπλουτισμό συμβάντων ροής.
- Τα εμπλουτισμένα συμβάντα γράφονται στο σύμπλεγμα MSK κάτω από διαφορετικά θέματα εμπλουτισμένων συμβάντων.
- Η υπάρχουσα εφαρμογή ροής Spark καταναλώνει από το θέμα εμπλουτισμένων συμβάντων (ή ακατέργαστων θεμάτων συμβάντων) στο Amazon MSK και εγγράφει τα δεδομένα σε μια λίμνη δεδομένων S3.
- Η απορρόφηση ροής Druid διαβάζεται τώρα από το θέμα εμπλουτισμένων συμβάντων ή το θέμα ακατέργαστων συμβάντων στο Amazon MSK ανάλογα με τις απαιτήσεις.
Εμπλουτισμός των δεδομένων συμβάντων που καταγράφονται
Σε αυτήν την ενότητα, συζητάμε τα διάφορα βήματα για τον εμπλουτισμό των δεδομένων συμβάντων που καταγράφονται.
Επεξεργασία εμπλουτισμού
Το Kinesis Data Analytics για το Apache Flink παρέχει την υποκείμενη υποδομή για τις εφαρμογές Apache Flink. Χειρίζεται βασικές δυνατότητες όπως η παροχή υπολογιστικών πόρων, παράλληλος υπολογισμός, αυτόματη κλιμάκωση και δημιουργία αντιγράφων ασφαλείας εφαρμογών (που εφαρμόζονται ως σημεία ελέγχου και στιγμιότυπα). Μπορείτε να χρησιμοποιήσετε τις δυνατότητες προγραμματισμού Flink υψηλού επιπέδου (όπως τελεστές, λειτουργίες, πηγές και καταβόθρες) με τον ίδιο τρόπο που τις χρησιμοποιείτε όταν φιλοξενείτε μόνοι σας την υποδομή Flink.
Το Flink στο Amazon EMR δίνει την ευελιξία να επιλέξετε την έκδοση, την εγκατάσταση, τη διαμόρφωση, τις παρουσίες και την αποθήκευση του Flink. Ωστόσο, πρέπει επίσης να φροντίσετε για τη διαχείριση συμπλέγματος και τις λειτουργικές απαιτήσεις, όπως η κλιμάκωση, η δημιουργία αντιγράφων ασφαλείας εφαρμογών και η παροχή.
Κατάστημα αναζήτησης εμπλουτισμού
Η AsyncFunction στον τελεστή Flink async I/O δεν είναι πολλαπλών νημάτων και δεν θα λειτουργεί με πραγματικά ασύγχρονο τρόπο, εάν η κλήση είναι αποκλεισμένη ή περιμένει απάντηση. Το API αναζήτησης εμπλουτισμού θα πρέπει να χειρίζεται αιτήματα και απαντήσεις που προέρχονται ασύγχρονα από τελεστές εισόδου/εξόδου Flink async. Το API αναζήτησης εμπλουτισμού μπορεί να φιλοξενηθεί στο Amazon EC2 ή σε κοντέινερ όπως π.χ Υπηρεσία ελαστικών εμπορευματοκιβωτίων Amazon (Amazon ECS) ή Υπηρεσία Amazon Elastic Kubernetes (Amazon EKS).
Ένας αριθμός συμβάντων από την πλευρά του διακομιστή και του πελάτη δημιουργούνται όταν ένας χρήστης αλληλεπιδρά με μια εφαρμογή Poshmark. Ως αποτέλεσμα, απαιτούνται οι ίδιες πληροφορίες για τον εμπλουτισμό κάθε εκδήλωσης. Αυτή η συχνή πρόσβαση στις πληροφορίες που αποθηκεύονται στην κρυφή μνήμη σε μια κεντρική κρυφή μνήμη μπορεί να βελτιστοποιήσει τον χρόνο ανάκτησης. Η καθυστέρηση στην κεντρική κρυφή μνήμη μπορεί να μειωθεί περαιτέρω φιλοξενώντας τον πελάτη (API αναζήτησης εμπλουτισμού) και τον διακομιστή προσωρινής μνήμης στην ίδια Ζώνη Διαθεσιμότητας.
Συμφιλίωση σε περίπτωση σφαλμάτων αγωγού
Ο εμπλουτισμός συμβάντος μπορεί να αποτύχει σε εφαρμογές εμπλουτισμού δεδομένων για διάφορους λόγους, όπως η λήξη χρόνου του εξωτερικού χώρου αποθήκευσης ή η έλλειψη πληροφοριών στο κατάστημα. Τα εμπλουτισμένα πεδία μπορεί να είναι ή να μην είναι κρίσιμα για εφαρμογές μεταγενέστερης ροής. Θα πρέπει να δημιουργήσετε τις μεταγενέστερες εφαρμογές ροής λαμβάνοντας υπόψη ότι αυτές οι αποτυχίες μπορεί να προκύψουν και να εφαρμόσετε έναν εναλλακτικό μηχανισμό, για παράδειγμα, να δοκιμάσετε ξανά τον εμπλουτισμό κατ' απαίτηση από την εφαρμογή. Ο χειρισμός της αποτυχίας θα διέπεται επίσης από την ανοχή καθυστέρησης της εφαρμογής.
Η επεξεργασία των δεδομένων βασίζεται στο χρόνο συμβάντος. Σε ορισμένες περιπτώσεις, τα δεδομένα μπορεί να φτάσουν καθυστερημένα στην πλατφόρμα. Τόσο το Flink όσο και το Spark επιτρέπουν την καθυστέρηση και τα υδατογραφήματα στους χρήστες να χειρίζονται δεδομένα καθυστερημένης άφιξης ορίζοντας όρια. Δεδομένα που φθάνουν αργά πέρα από το όριο απορρίπτονται από την επεξεργασία. Είναι δυνατό να λάβετε αυτά τα πολύ καθυστερημένα δεδομένα που απορρίφθηκαν στο Flink χρησιμοποιώντας μια πλευρική έξοδο. Δεν υπάρχει τέτοια διάταξη στο Spark Structured Streaming.
Μερικές εφαρμογές ροής απαιτούν από την αντίστοιχη παρτίδα τους να εναρμονίζει τα δεδομένα ωριαία ή καθημερινά για να χειριστεί την αναντιστοιχία δεδομένων ή την ασυμφωνία δεδομένων λόγω καθυστερημένης άφιξης δεδομένων ή δεδομένων που λείπουν.
Βελτιωμένη εμπειρία πελατών
Η νέα αρχιτεκτονική σε πραγματικό χρόνο προσέφερε τα ακόλουθα πλεονεκτήματα για βελτιωμένη εμπειρία πελάτη:
- Ανωνυμοποίηση – Η Poshmark είναι πλέον σε θέση να παρέχει και να χρησιμοποιεί ανώνυμα δεδομένα σε πραγματικό χρόνο για πολλαπλές λειτουργίες τόσο εσωτερικά όσο και εξωτερικά, επειδή η ανωνυμοποίηση γίνεται σε πραγματικό χρόνο.
- Μετριασμός απάτης – Η Poshmark προηγουμένως ήταν σε θέση να ανιχνεύσει και να αποτρέψει το 45% των ATOs με τη λύση που βασίζεται σε παρτίδες. Με το σύστημα σε πραγματικό χρόνο, η Poshmark είναι σε θέση να αποτρέψει το 80% των ATO.
- εξατομίκευση – Παρέχοντας εξατομικευμένα αποτελέσματα αναζήτησης, η Poshmark πέτυχε 8% βελτίωση στις αναλογίες κλικ προς αριθμό εμφανίσεων για αναζήτηση. Αυτή είναι μια σημαντική αύξηση στην κορυφή της διοχέτευσης, αυξάνοντας τις συνολικές μετατροπές αναζήτησης.
Η βελτίωση αυτών των τριών παραγόντων βοήθησε τους τελικούς πελάτες να αποκτήσουν εμπιστοσύνη στην εφαρμογή και τον ιστότοπο Poshmark, κάτι που με τη σειρά του επέτρεψε στους πελάτες να αυξήσουν την αλληλεπίδρασή τους με την εφαρμογή και βοήθησε στην επιτάχυνση της αφοσίωσης και της ανάπτυξης των πελατών.
Συμπέρασμα
Σε αυτήν την ανάρτηση, συζητήσαμε την απορρόφηση δεδομένων κλικ ροής και καταγραφής συμβάντων σε πραγματικό χρόνο στο Amazon MSK. Δείξαμε πώς μπορεί να πραγματοποιηθεί ο εμπλουτισμός των δεδομένων που συλλέγονται μέσω του Kinesis Data Analytics για το Apache Flink. Διαχωρίσαμε την επεξεργασία εμπλουτισμού σε πολλαπλά στοιχεία, όπως το Kinesis Data Analytics για Apache Flink, τις μικροϋπηρεσίες εμπλουτισμού και το χώρο αποθήκευσης αναζήτησης εμπλουτισμού και μια κρυφή μνήμη εμπλουτισμού. Συζητήσαμε τις μεταγενέστερες εφαρμογές που χρησιμοποίησαν αυτές τις εμπλουτισμένες πληροφορίες πελατών για να πραγματοποιήσουν ελέγχους ασφαλείας σε πραγματικό χρόνο και να προσφέρουν εξατομικευμένες προτάσεις στους τελικούς χρήστες. Συζητήσαμε επίσης μερικούς από τους τομείς που μπορεί να χρειαστούν προσοχή σε περίπτωση που υπάρξουν αστοχίες στον αγωγό. Τέλος, δείξαμε πώς η Poshmark βελτίωσε την εμπειρία των πελατών της και κέρδισε μερίδιο αγοράς με την εφαρμογή αυτής της σειράς αναλυτικών στοιχείων σε πραγματικό χρόνο.
Σχετικά με τους συγγραφείς
Mahesh Pasupuleti είναι Αντιπρόεδρος Μηχανικής Δεδομένων & Μηχανικής Μάθησης στην Poshmark. Έχει βοηθήσει πολλές νεοφυείς επιχειρήσεις να πετύχουν σε διαφορετικούς τομείς, όπως η ροή μέσων, η υγειονομική περίθαλψη, ο χρηματοοικονομικός τομέας και οι αγορές. Λατρεύει τη μηχανική λογισμικού, τη δημιουργία ομάδων υψηλών επιδόσεων και τη στρατηγική, και του αρέσει η κηπουρική και το μπάντμιντον στον ελεύθερο χρόνο του.
Γκούραβ Σαχ είναι Διευθυντής Data Engineering και ML στην Poshmark. Αυτός και η ομάδα του βοηθούν στη δημιουργία λύσεων που βασίζονται σε δεδομένα για την ανάπτυξη στην Poshmark.
Raghu Mannam είναι αρχιτέκτονας Sr. Solutions στο AWS στο Σαν Φρανσίσκο. Συνεργάζεται στενά με νεοφυείς επιχειρήσεις, πολλές από τις οποίες είχαν πρόσφατες IPO. Η εστίασή του είναι λύσεις από άκρο σε άκρο, συμπεριλαμβανομένης της ασφάλειας, του αυτοματισμού DevOps, της ανθεκτικότητας, της ανάλυσης, της μηχανικής μάθησης και της βελτιστοποίησης του φόρτου εργασίας στο cloud.
Deepesh Malviya είναι Solutions Architect Manager στην ομάδα του AWS Data Lab. Αυτός και η ομάδα του βοηθούν τους πελάτες να αρχιτεκτονήσουν και να δημιουργήσουν λύσεις δεδομένων, αναλυτικών στοιχείων και μηχανικής εκμάθησης για να επιταχύνουν τις βασικές πρωτοβουλίες τους ως μέρος του εργαστηρίου δεδομένων AWS.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- Platoblockchain. Web3 Metaverse Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- πηγή: https://aws.amazon.com/blogs/big-data/accelerating-revenue-growth-with-real-time-analytics-poshmarks-journey/
- :είναι
- $ 10 εκατομμύρια
- $UP
- 1
- 10
- 100
- a
- Ικανός
- Απόλυτος
- ΠΕΡΙΛΗΨΗ
- επιταχύνουν
- επιτάχυνση
- επιταχύνοντας
- πρόσβαση
- πρόσβαση
- πρόσβαση
- αναλόγως
- Λογαριασμός
- Κατορθώνω
- επιτευχθεί
- απέναντι
- δραστηριοτήτων
- Πρόσθετος
- διεύθυνση
- διευθύνσεις
- αλγόριθμος
- Επιτρέποντας
- επιτρέπει
- ήδη
- Αν και
- Amazon
- Amazon EC2
- EMR Αμαζονίου
- μεταξύ των
- analytics
- αναλύσει
- και
- Apache
- api
- APIs
- app
- Εφαρμογή
- εφαρμογές
- πλησιάζω
- προσεγγίσεις
- κατάλληλος
- αρχιτεκτονική
- ΕΙΝΑΙ
- περιοχές
- γύρω
- AS
- At
- προσοχή
- γνωρίσματα
- Australia
- εξουσιοδότηση
- Αυτόματο
- Αυτοματοποίηση
- διαθεσιμότητα
- διαθέσιμος
- μέσος
- μέσο μέγεθος
- αποφύγετε
- αποφεύγοντας
- AWS
- εφεδρικός
- αντιγράφων ασφαλείας
- Απαγόρευση
- βασίζονται
- βάση
- BE
- επειδή
- πριν
- οφέλη
- Καλύτερα
- μεταξύ
- Πέρα
- Δισεκατομμύριο
- μπλοκαριστεί
- bots
- έσπασε
- προϋπολογισμός
- χτίζω
- Κτίριο
- χτισμένο
- επιχείρηση
- Επιχειρηματικά οφέλη
- Εξαγορά
- by
- κρύπτη
- κλήση
- κλήσεις
- CAN
- Canada
- δυνατότητες
- πιάνω
- συλλαμβάνει
- ο οποίος
- περίπτωση
- περιπτώσεις
- πάλη
- κεντρικός
- κεντρική
- πρόκληση
- Ολοκλήρωση Αγοράς
- έλεγχοι
- Επιλέξτε
- Πόλη
- πελάτης
- πελάτες
- στενά
- Backup
- συστάδα
- συνδυασμοί
- συνδυάζοντας
- ερχομός
- Κοινός
- συνήθως
- κοινότητα
- εξαρτήματα
- υπολογισμός
- Υπολογίστε
- εμπιστοσύνη
- διαμόρφωση
- σύνδεση
- ΚΑΤΑ
- θεωρούνται
- θεωρώντας
- περιορισμούς
- καταναλώνεται
- καταναλωτής
- Καταναλωτές
- Δοχείο
- Εμπορευματοκιβώτια
- συνεχής
- μετατροπές
- πυρήνας
- θα μπορούσε να
- Αντίστοιχος
- κάλυμμα
- δημιουργία
- κρίσιμης
- Ρεύμα
- Τωρινή κατάσταση
- Τη στιγμή
- έθιμο
- πελάτης
- Επαφή με τον πελάτη
- εμπειρία του πελάτη
- Πελάτες
- CX
- καθημερινά
- ημερομηνία
- Δεδομένα Analytics
- εμπλουτισμός δεδομένων
- Λίμνη δεδομένων
- βασίζονται σε δεδομένα
- βάση δεδομένων
- βάσεις δεδομένων
- ημέρα
- αποφασίζει
- αποφάσισε
- αποφάσεις
- καθορίζοντας
- καθυστερήσεις
- διανομή
- Σε συνάρτηση
- αναπτυχθεί
- ανάπτυξη
- Υπηρεσίες
- σχεδιασμένα
- Ανίχνευση
- ανάπτυξη
- DevOps
- διαφέρω
- διαφορετικές
- Διευθυντής
- διαφορά
- συζητήσουν
- συζήτηση
- διανομή
- διαιρούμενο
- Όχι
- domains
- αυτοκίνητο
- οδήγηση
- Ιερέας των κελτών
- κατά την διάρκεια
- δυναμικός
- κάθε
- ηλεκτρονικού εμπορίου
- προσπάθειες
- εξάλειψη
- επιβιβάζομαι
- ενεργοποιήσετε
- ενεργοποιημένη
- που περιλαμβάνει
- από άκρη σε άκρη
- δέσμευση
- Μηχανική
- Μηχανικοί
- εμπλουτίζω
- εμπλουτισμένος
- εμπλουτισμός
- εισάγετε
- Αιθέρας (ΕΤΗ)
- Even
- Συμβάν
- εκδηλώσεις
- παράδειγμα
- υφιστάμενα
- Ανάπτυξη
- εμπειρία
- εξήγησε
- έκταση
- εξωτερικός
- εξωτερικά
- εκχύλισμα
- εξαγωγή
- παράγοντες
- ΑΠΟΤΥΓΧΑΝΩ
- Αποτυχία
- Πτώση
- Μόδα
- Χαρακτηριστικό
- Χαρακτηριστικά
- λίγοι
- Πεδία
- Αρχεία
- φιλτράρισμα
- Τελικά
- οικονομικός
- Χρηματοοικονομικός τομέας
- Όνομα
- Ευελιξία
- ροή
- Συγκέντρωση
- επικεντρώθηκε
- Εξής
- εξής
- Για
- μορφή
- Πλαίσιο
- Φρανσίσκο
- απάτη
- ανίχνευση απάτης
- Δωρεάν
- συχνά
- από
- λειτουργία
- λειτουργικός
- λειτουργίες
- περαιτέρω
- μελλοντικός
- Κέρδος
- παράγουν
- παράγεται
- παίρνω
- δίνει
- Go
- γκολ
- Γραμματική
- Grow
- Ανάπτυξη
- εγγυήσεις
- καθοδήγηση
- Ήμισυ
- χέρι
- λαβή
- Handles
- Χειρισμός
- συμβαίνει
- Έχω
- υγειονομική περίθαλψη
- βοήθεια
- βοήθησε
- Ψηλά
- υψηλού επιπέδου
- υψηλότερο
- Αρχική
- φιλοξενείται
- φιλοξενία
- ΩΡΕΣ
- Σπίτι
- Πως
- Πώς να
- Ωστόσο
- HTML
- http
- HTTPS
- ανθρώπινος
- ID
- προσδιορίζονται
- προσδιορίσει
- εφαρμογή
- εκτέλεση
- εφαρμοστεί
- εκτελεστικών
- σημαντικό
- βελτίωση
- βελτιωθεί
- βελτίωση
- βελτίωση
- in
- περιλαμβάνουν
- Συμπεριλαμβανομένου
- Εισερχόμενος
- Αυξάνουν
- αύξηση
- Ινδία
- βιομηχανία
- πληροφορίες
- Υποδομή
- αρχικός
- πρωτοβουλίες
- ιδέες
- ενσωματωθεί
- Ενσωματώνει
- ολοκλήρωση
- αλληλεπιδρούν
- αλληλεπίδραση
- αλληλεπιδράσεις
- διαδραστικός
- εσωτερικός
- εσωτερικώς
- Επενδύστε
- συμμετέχουν
- IP
- Διεύθυνση IP
- Διευθύνσεις IP
- IPO
- IT
- ΤΟΥ
- άρθρωση
- ταξίδι
- json
- Kafka
- Κλειδί
- παιδιά
- Ροές δεδομένων Kinesis
- γνώση
- Kubernetes
- εργαστήριο
- λίμνη
- Επίθετο
- Αργά
- Αφάνεια
- στρώμα
- στρώματα
- που οδηγεί
- μάθηση
- Επίπεδο
- Μου αρέσει
- γραμμή
- λίστα
- κοιτάζοντας
- αναζήτηση
- Χαμηλός
- μηχανή
- μάθηση μηχανής
- που
- Κυρίως
- διατηρεί
- συντήρηση
- κάνω
- ΚΑΝΕΙ
- διαχειρίζεται
- διαχείριση
- διευθυντής
- πολοί
- χάρτη
- αγορά
- αγορά
- αγορές
- αγορές
- μηχανισμός
- Εικόνες / Βίντεο
- Γνωρίστε
- Άνδρες
- μικροεπιχειρήσεις
- εκατομμύριο
- χιλιοστά του δευτερολέπτου
- Λείπει
- μείωση
- ML
- Κινητό
- Mobile Applications
- μοντέλο
- μοντέλα
- εκσυγχρονισμός
- περισσότερο
- πλέον
- πολλαπλούς
- Ανάγκη
- που απαιτούνται
- Νέα
- επόμενη
- αριθμός
- of
- προσφορά
- προσφέρονται
- προσφορά
- προσφορές
- on
- Κατα παραγγελια
- ONE
- διαδικτυακά (online)
- λειτουργούν
- επιχειρήσεων
- χειριστής
- φορείς
- Ευκαιρίες
- Ευκαιρία
- βέλτιστη
- βελτιστοποίηση
- Βελτιστοποίηση
- τάξη
- παραγγελιών
- επιχειρήσεις
- οργανώσεις
- ΑΛΛΑ
- Άλλα
- παραγωγή
- φόρμες
- σελίδα
- ζεύγη
- Παράλληλο
- μέρος
- Το παρελθόν
- πρότυπο
- Κορυφή
- εκτελέσει
- επίδοση
- εκτέλεση
- εξατομίκευση
- Εξατομικευμένη
- Κατοικίδια
- φυσικός
- αγωγού
- πλατφόρμες
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- παιχνίδι
- συνδέω
- σημεία
- δυνατός
- Θέση
- προβλέψει
- παρόν
- πρόληψη
- προηγούμενος
- προηγουμένως
- Διεργασίες
- μεταποίηση
- παράγει
- παραγωγός
- Παραγωγούς
- παραγωγή
- Προϊόντα
- Προγραμματισμός
- PROS
- παρέχουν
- παρέχει
- χορήγηση
- πρόβλεψη
- τυχαίος
- σειρά
- Τιμές
- Ακατέργαστος
- Διάβασε
- πραγματικός
- σε πραγματικό χρόνο
- λόγους
- λαμβάνει
- λήψη
- πρόσφατος
- συστάσεις
- ρεκόρ
- μείωση
- Μειωμένος
- μείωση
- αναφέρεται
- καταχωρηθεί
- αναπαραγωγή
- Αποθήκη
- ζητήσει
- αιτήματα
- απαιτούν
- απαιτείται
- απαιτήσεις
- ανθεκτικότητα
- Υποστηρικτικό υλικό
- απάντησης
- αποτέλεσμα
- με αποτέλεσμα
- Αποτελέσματα
- διατηρώ
- έσοδα
- αύξηση των εσόδων
- αξιολόγηση
- τρέξιμο
- τρέξιμο
- εμπορικός
- ίδιο
- Σαν
- Σαν Φρανσίσκο
- Κλίμακα
- απολέπιση
- Αναζήτηση
- Δεύτερος
- Τμήμα
- τομέας
- ασφάλεια
- επιλέγονται
- επιλογή
- Τις Πωλήσεις
- σημασιολογία
- αποστολή
- Σειρές
- Διακομιστές
- Υπηρεσίες
- συνεδρίες
- σειρά
- setup
- διάφοροι
- Κοινοποίηση
- Καταστήματα Λιανικής
- θα πρέπει να
- βιτρίνα
- Δείχνει
- σημαντικός
- Ομοίως
- Απλούς
- ενιαίας
- καταστάσεων
- Μέγεθος
- Μ.Κ.Δ
- λογισμικό
- τεχνολογία λογισμικού
- λύση
- Λύσεις
- μερικοί
- Πηγή
- Πηγές
- το spam
- Σπινθήρας
- συγκεκριμένες
- ενδιαφερόμενα μέρη
- Startups
- Κατάσταση
- Βήματα
- χώρος στο δίσκο
- κατάστημα
- καταστήματα
- Στρατηγική
- μετάδοση
- ροής
- ροές
- προσπαθώ
- δομημένος
- επιτύχει
- επιτυχής
- τέτοιος
- Σούπερ
- υποστήριξη
- Υποστηρίζει
- βιώσιμης
- βιώσιμο μέλλον
- σύστημα
- επειξειργασμένος από ραπτήν
- Πάρτε
- ομάδες
- Τεχνικός
- τεχνική ολοκλήρωση
- ότι
- Η
- την άρθρωση
- τους
- Τους
- εκ τούτου
- επομένως
- Αυτοί
- τρία
- κατώφλι
- Μέσω
- διακίνηση
- ώρα
- συγχρονισμός
- προς την
- ανοχή
- κορυφή
- τοπικός
- Θέματα
- Σύνολο
- τροχιά
- Παρακολούθηση
- ΚΙΝΗΣΗ στους ΔΡΟΜΟΥΣ
- Συναλλαγές
- ΣΤΡΟΦΗ
- υπό
- υποκείμενες
- καταλαβαίνω
- us
- χρήση
- Χρήστες
- Χρήστες
- χρησιμοποιώ
- χρησιμοποιούνται
- αξία
- διάφορα
- εκδοχή
- μέσω
- Δες
- περιμένετε
- Αναμονή
- ήθελε
- Τρόπος..
- ιστός
- Ιστοσελίδα : www.example.gr
- ΛΟΙΠΌΝ
- πολύ γνωστό
- Ποιό
- θα
- με
- εντός
- Γυναίκες
- Εργασία
- εργάστηκαν
- ροής εργασίας
- λειτουργεί
- γράφω
- γραπτή
- Λανθασμένος
- Σας
- τον εαυτό σας
- zephyrnet
- Zip