Τεχνολογίες

← Αρχική
Αναλυτικά & δεδομένα

ClickHouse — η μηχανή ανάλυσης σε πραγματικό χρόνο της στοίβας της πλατφόρμας

Η στοίβα του 4buildsite περιλαμβάνει το ClickHouse — μια στηλοειδή βάση δεδομένων φτιαγμένη ειδικά για ανάλυση σε μεγάλο όγκο. Πάνω της χτίζουμε την ενότητα στατιστικών κίνησης και πωλήσεων της πλατφόρμας (υπό ανάπτυξη): τα δεδομένα παραμένουν δικά σας, η συλλογή τρέχει σε ξεχωριστό σύστημα από αυτό που παραδίδει τις σελίδες σας — έτσι έχει σχεδιαστεί η αρχιτεκτονική.

Τι είναι το ClickHouse και γιατί το χρησιμοποιούμε

Το ClickHouse είναι μια στηλοειδής βάση δεδομένων τύπου OLAP (ανάλυση online), που δημιουργήθηκε στην Yandex για το Yandex.Metrica — ένα από τα μεγαλύτερα συστήματα ανάλυσης ιστού στον κόσμο — και δημοσιεύτηκε ως ανοιχτός κώδικας το 2016 υπό την άδεια Apache 2.0. Είναι φτιαγμένο για ένα μόνο πράγμα, που το κάνει εξαιρετικά: γρήγορες συναθροίσεις σε τεράστιους όγκους δεδομένων. Στην αρχιτεκτονική του 4buildsite, το ClickHouse είναι η μηχανή που επιλέχθηκε για το επίπεδο στατιστικών: κάθε επίσκεψη, κλικ και παραγγελία γίνεται ένα γεγονός που μπορεί να αναλυθεί αμέσως.

Το μυστικό είναι η αποθήκευση ανά στήλες: αντί να διαβάζει ολόκληρη κάθε «γραμμή», το ClickHouse διαβάζει μόνο τις στήλες που χρειάζεται η αναφορά και τις επεξεργάζεται διανυσματικά, σε μεγάλα μπλοκ. Γι' αυτό μια ερώτηση όπως «πόσους επισκέπτες είχα χθες, ανά σελίδα, από κάθε πηγή» παίρνει απάντηση σε λιγότερο από ένα δευτερόλεπτο ακόμη και πάνω από εκατομμύρια γεγονότα — κάτι που μια κλασική βάση δεδομένων προσανατολισμένη σε γραμμές λύνει με πολύ μεγαλύτερη δυσκολία.

Δεν είναι εξειδικευμένη τεχνολογία: η Cloudflare τη χρησιμοποιεί για την ανάλυση της κίνησης HTTP σε παγκόσμια κλίμακα, ενώ οι Uber, eBay και Spotify τη χρησιμοποιούν για αναλυτικά και επεξεργασία logs σε τεράστιους όγκους. Στο 4buildsite, η ίδια μηχανή αποτελεί μέρος της στοίβας της πλατφόρμας — χωρίς να χρειάζεται να προσλάβετε ομάδα μηχανικών δεδομένων.

Στατιστικά σε πραγματικό χρόνο — πώς σχεδιάστηκε η ενότητα

Η ενότητα στατιστικών της πλατφόρμας βρίσκεται υπό ανάπτυξη και η αρχιτεκτονική της είναι απλή: τα γεγονότα κίνησης συλλέγονται ασύγχρονα και γράφονται στο ClickHouse, εντελώς χωριστά από τους διακομιστές που παραδίδουν τις σελίδες. Δεν υπάρχει βαρύ script παρακολούθησης τρίτου στη σελίδα — η συλλογή είναι ελάχιστη και first-party.

Οι αναφορές στο panel.4buildsite.net θα υπολογίζονται απευθείας στο ClickHouse: κίνηση ανά σελίδα, πηγές επισκεπτών, μετατροπές, πωλήσεις ανά προϊόν. Οι συχνές συναθροίσεις προϋπολογίζονται μέσω materialized views σε κάθε εγγραφή, οπότε το dashboard δεν ξεκινά βαρύς υπολογισμός κάθε φορά που το κοιτάτε.

  • Ζωντανή κίνηση: επισκέψεις, σελίδες, πηγές και συσκευές — διαθέσιμα για ερωτήματα μετά τη συλλογή
  • Πωλήσεις ανά προϊόν, παραγγελίες και μετατροπές για το κατάστημά σας, συναθροισμένες
  • Ιστορικό μηνών και ετών με χαμηλό κόστος — η στηλοειδής συμπίεση μειώνει την αποθήκευση πολλαπλάσια σε σχέση με τα ακατέργαστα δεδομένα
  • Η συλλογή είναι ασύγχρονη, η αναφορά τρέχει σε άλλο σύστημα

PostgreSQL + ClickHouse: γιατί χρησιμοποιούμε και τα δύο

Η στοίβα της πλατφόρμας συνδυάζει δύο βάσεις δεδομένων επειδή κάνουν θεμελιωδώς διαφορετικά πράγματα. Το PostgreSQL είναι το μητρώο συναλλαγών (OLTP): παραγγελίες, πληρωμές, απόθεμα, λογαριασμοί χρηστών — λειτουργίες που πρέπει να είναι απόλυτα σωστές η μία μετά την άλλη, με συναλλακτικές εγγυήσεις. Το ClickHouse είναι η αίθουσα ανάλυσης (OLAP): εκατομμύρια γεγονότα που διαβάζονται ταυτόχρονα για να απαντηθούν οι ερωτήσεις σας για την κίνηση και τις πωλήσεις.

Αν οι βαριές αναφορές έτρεχαν στην ίδια βάση δεδομένων που επεξεργάζεται τις παραγγελίες, κάθε αναφορά θα ανταγωνιζόταν τους πελάτες που πληρώνουν εκείνη τη στιγμή. Ο διαχωρισμός OLTP/OLAP εξαλείφει αυτή τη σύγκρουση: η παραγγελία του πελάτη και η αναφορά σας εκτελούνται σε χωριστά συστήματα. Κάθε μηχανή κάνει ακριβώς ό,τι φτιάχτηκε να κάνει.

  • PostgreSQL: παραγγελίες, πληρωμές Stripe, απόθεμα, πελάτες — συναλλακτική ορθότητα
  • ClickHouse: γεγονότα κίνησης, αναφορές, στατιστικά — συνάθροιση σε όγκο
  • Ο σχεδιασμός προβλέπει ότι τα σχετικά συναλλακτικά δεδομένα καταλήγουν στο ClickHouse ως γεγονότα, άρα οι αναφορές πωλήσεων δεν αγγίζουν ποτέ τη βάση που εξυπηρετεί το κατάστημα

Δικά σας analytics, φιλικά προς την ιδιωτικότητα — αντί για Google Analytics

Η αρχή της ενότητας στατιστικών: τα δεδομένα του ιστότοπού σας παραμένουν στην υποδομή της πλατφόρμας. Δεν αποστέλλονται στην Google ή σε άλλα διαφημιστικά δίκτυα, δεν πωλούνται και δεν συνδυάζονται με εξωτερικά προφίλ χρηστών. Είναι first-party analytics με την κυριολεκτική έννοια: τα δεδομένα για τους επισκέπτες σας είναι δικά σας.

Επειδή η προσέγγιση δεν χρησιμοποιεί cookies παρακολούθησης τρίτων, η συμμόρφωση με τον GDPR γίνεται πολύ πιο απλή. Το πλαίσιο μετράει: το 2022, οι αρχές προστασίας δεδομένων της Αυστρίας, της Γαλλίας και της Ιταλίας δήλωσαν ότι η χρήση του Google Analytics δεν συμμορφώνεται με τον GDPR λόγω των διαβιβάσεων δεδομένων στις ΗΠΑ. Με δικά σας analytics, φιλοξενούμενα στην Ευρώπη, αυτή η κατηγορία κινδύνου εξαφανίζεται εξαρχής.

Υπάρχει και ένα άμεσο πρακτικό όφελος: οι αναφορές που υπολογίζονται στο ClickHouse δεν είναι δειγματοληπτικές. Πλήρη νούμερα.

Αναφορές καταστήματος και marketplace — τι θα παραδώσει η ενότητα

Για ένα ηλεκτρονικό κατάστημα, το ClickHouse θα σημαίνει απαντήσεις στις ερωτήσεις που μετράνε: ποια προϊόντα πωλούνται, από ποιες πηγές έρχονται οι πελάτες που αγοράζουν, πού εγκαταλείπονται τα καλάθια. Για ένα marketplace πολλών πωλητών, οι ίδιες συναθροίσεις θα τρέχουν πάνω από όλες τις παραγγελίες: όγκος ανά πωλητή, προμήθειες, κορυφαία προϊόντα ανά κατηγορία — χωρίς χειροκίνητες εξαγωγές και χωρίς υπολογιστικά φύλλα.

Και σε κλίμακα τα πράγματα παραμένουν φθηνά και γρήγορα. Η στηλοειδής συμπίεση μειώνει τα δεδομένα πολλαπλάσια σε σχέση με την ακατέργαστη μορφή, άρα κρατάτε ιστορικό ετών με μικρό κόστος αποθήκευσης. Και όταν η κίνηση αυξάνεται από χιλιάδες σε εκατομμύρια γεγονότα, οι συναθροίσεις παραμένουν στη ζώνη του υπο-δευτερολέπτου — η μηχανή σχεδιάστηκε εξαρχής για δισεκατομμύρια γραμμές, δεν προσαρμόστηκε εκ των υστέρων.

Πλεονεκτήματα και περιορισμοί

Πλεονεκτήματα

  • Συναθροίσεις σε εκατομμύρια γεγονότα — αναφορές με συναθροισμένα δεδομένα.
  • Τα analytics τρέχουν σε σύστημα χωριστό από αυτό που σερβίρει τις σελίδες.
  • Τα δεδομένα κίνησης παραμένουν δικά σας, στην υποδομή της πλατφόρμας — χωρίς διαβίβαση στην Google ή σε διαφημιστικά δίκτυα.
  • Χωρίς cookies παρακολούθησης τρίτων — απλούστερη συμμόρφωση με τον GDPR.
  • Ισχυρή στηλοειδής συμπίεση — ιστορικό ετών με χαμηλό κόστος αποθήκευσης.
  • Ανοιχτού κώδικα (Apache 2.0), χωρίς άδειες ανά όγκο — το κόστος δεν εκτοξεύεται όταν αυξάνεται η κίνηση.

Περιορισμοί

  • Δεν είναι συναλλακτική βάση δεδομένων — η τροποποίηση ή διαγραφή μεμονωμένων γραμμών είναι βαριά λειτουργία· γι' αυτό οι παραγγελίες και οι πληρωμές βρίσκονται στο PostgreSQL.
  • Είναι βελτιστοποιημένο για εγγραφές σε μεγάλες παρτίδες· πολλά μικρά και συχνά inserts απαιτούν batching — η πλατφόρμα το διαχειρίζεται, αλλά είναι πραγματικός περιορισμός της μηχανής.
  • Τα σύνθετα JOIN είναι λιγότερο ευέλικτα απ' ό,τι στο PostgreSQL — το σχήμα γεγονότων πρέπει να σχεδιαστεί για ανάλυση εξαρχής.
  • Η αναζήτηση μίας μόνο γραμμής (point lookup) είναι πιο αργή απ' ό,τι σε μια ευρετηριασμένη βάση OLTP — δεν αντικαθιστά την κύρια βάση του καταστήματος.

Σύντομο συμπέρασμα

Το ClickHouse είναι η σωστή επιλογή για ανάλυση σε όγκο: στατιστικά κίνησης και πωλήσεων σε πραγματικό χρόνο, με τα δικά σας δεδομένα, χωρίς να αγγίζει την ταχύτητα του ιστότοπου. Για παραγγελίες, πληρωμές και απόθεμα παραμένει το PostgreSQL — γι' αυτό η στοίβα του 4buildsite τα συνδυάζει και τα δύο, το καθένα εκεί που είναι καλύτερο. Η ενότητα στατιστικών που χτίζεται πάνω στο ClickHouse βρίσκεται υπό ανάπτυξη.

Πίνακας προδιαγραφών

ΔυνατότηταΌριο / κατώφλιΤυπική χρήση
Αναλυτικές συναθροίσειςΚάτω από ένα δευτερόλεπτο σε εκατομμύρια γεγονότα (στηλοειδές + διανυσματικό)Αργό στην αναζήτηση μίας γραμμής — δεν προορίζεται για OLTP lookupsΑναφορές κίνησης και πωλήσεων (ενότητα στατιστικών, υπό ανάπτυξη)
Εισαγωγή γεγονότωνΜεγάλοι όγκοι, γραμμένοι σε παρτίδεςΤα μικρά και συχνά inserts απαιτούν batching / async insertΣυλλογή pageviews, κλικ, παραγγελιών
Αποθήκευση & συμπίεσηΣτηλοειδής συμπίεση (LZ4/ZSTD), πολλαπλάσια κάτω από τον ακατέργαστο όγκοΤα πολύ τυχαία δεδομένα συμπιέζονται λιγότεροΙστορικό γεγονότων μηνών και ετών, με χαμηλό κόστος
Ενημερώσεις & διαγραφέςΑσύγχρονα mutations για περιστασιακές διορθώσειςΑκατάλληλο για συχνά UPDATE σε μεμονωμένες γραμμέςΔιαγραφές GDPR (τα δεδομένα ενός χρήστη, κατόπιν αιτήματος)
Materialized viewsΠροϋπολογισμένες συναθροίσεις σε κάθε εγγραφήΟι συναθροίσεις πρέπει να οριστούν εκ των προτέρων, ανά αναφοράDashboards: πωλήσεις ανά ημέρα, προϊόν, πηγή
Πραγματικός χρόνοςΤα γεγονότα γίνονται διαθέσιμα για ερωτήματα αφότου συμβούνΔεν είναι σύστημα streaming σε επίπεδο χιλιοστού του δευτερολέπτουΖωντανά στατιστικά κίνησης και μετατροπών

ClickHouse έναντι PostgreSQL έναντι Google Analytics / BigQuery — για αναλυτικά

ΚριτήριοClickHouse (4buildsite)PostgreSQL (για αναλυτικά)Google Analytics / BigQuery
Ταχύτητα συναθροίσεων σε όγκοΚάτω από ένα δευτερόλεπτο σε εκατομμύρια γραμμέςΕπιβραδύνεται αισθητά σε δεκάδες εκατομμύρια γραμμές (αποθήκευση ανά γραμμές)Το BigQuery είναι γρήγορο· το GA4 έχει τυπικές προσυναθροισμένες αναφορές, χωρίς ελεύθερα ερωτήματα
Ιδιοκτησία δεδομένων / GDPRΤα δεδομένα σας, στην υποδομή της πλατφόρμας, στην ΕυρώπηΤα δεδομένα σας, στους δικούς σας διακομιστέςΤα δεδομένα στην Google· οι διαβιβάσεις του GA στις ΗΠΑ κρίθηκαν μη συμβατές με τον GDPR από αρχές της ΕΕ το 2022
Cookies & συγκατάθεσηΧωρίς cookies παρακολούθησης τρίτωνΕξαρτάται από τη δική σας υλοποίησηΑπαιτεί banner συγκατάθεσης για την παρακολούθηση
Πραγματικός χρόνοςΔεδομένα διαθέσιμα για ερωτήματαΔυνατό, αλλά οι βαριές αναφορές φορτώνουν τη συναλλακτική βάσηΟι τυπικές αναφορές του GA4 μπορεί να εμφανίζονται με καθυστέρηση ωρών· το streaming BigQuery κοστίζει επιπλέον
Κόστος σε όγκοΑνοιχτού κώδικα — το κόστος είναι μόνο η υποδομή, που περιλαμβάνεται στη συνδρομήΑυξάνεται με ευρετήρια, vacuum και υλικό σε μεγάλους όγκουςΤο BigQuery χρεώνει ανά όγκο που ερωτάται· η enterprise έκδοση του GA είναι δαπανηρή
Επίδραση στην ταχύτητα του ιστότοπουΑσύγχρονη συλλογή, αναφορά σε χωριστό σύστημαΟι αναφορές μπορούν να ανταγωνίζονται τις παραγγελίες στην ίδια βάσηScript τρίτου (gtag.js) στη σελίδα — επιπλέον JavaScript και εξωτερικά αιτήματα

Συχνές ερωτήσεις

Μου επιβραδύνει το ClickHouse τον ιστότοπο ή το κατάστημα;

Το ClickHouse τρέχει σε σύστημα χωριστό από αυτό που σερβίρει τις σελίδες — έτσι έχει σχεδιαστεί η αρχιτεκτονική. Τα γεγονότα κίνησης αποστέλλονται ασύγχρονα και οι αναφορές δεν αγγίζουν ποτέ τη βάση δεδομένων του καταστήματος.

Γιατί δεν χρησιμοποιείτε απλώς το Google Analytics;

Για τρεις λόγους. Τα δεδομένα παραμένουν δικά σας, στην υποδομή της πλατφόρμας, όχι στην Google. Δεν χρειάζεστε cookies παρακολούθησης τρίτων, άρα η συμμόρφωση με τον GDPR είναι απλούστερη — το 2022, αρχές της Αυστρίας, της Γαλλίας και της Ιταλίας δήλωσαν το GA μη συμβατό με τον GDPR. Και οι αναφορές είναι πλήρεις, όχι δειγματοληπτικές.

Ποια η διαφορά ανάμεσα στο ClickHouse και στο PostgreSQL — γιατί και τα δύο;

Το PostgreSQL είναι η συναλλακτική βάση (OLTP): επεξεργάζεται παραγγελίες, πληρωμές και απόθεμα, η μία μετά την άλλη, με εγγυήσεις ορθότητας. Το ClickHouse είναι η αναλυτική βάση (OLAP): διαβάζει εκατομμύρια γεγονότα ταυτόχρονα για αναφορές. Ο διαχωρισμός σημαίνει ότι μια βαριά αναφορά τρέχει σε άλλο σύστημα από τις παραγγελίες των πελατών σας.

Είναι ασφαλή και συμμορφωμένα με τον GDPR τα δεδομένα κίνησής μου;

Ναι — εκ σχεδιασμού. Τα στατιστικά είναι first-party: βρίσκονται στην υποδομή της πλατφόρμας, στην Ευρώπη, δεν πωλούνται και δεν μοιράζονται με διαφημιστικά δίκτυα. Η προσέγγιση δεν χρησιμοποιεί cookies παρακολούθησης τρίτων, ενώ τα δεδομένα ενός χρήστη μπορούν να διαγραφούν κατόπιν αιτήματος, σύμφωνα με τον GDPR.

Πόσο «σε πραγματικό χρόνο» είναι τα στατιστικά;

Ένα γεγονός — μια επίσκεψη, ένα κλικ, μια παραγγελία — γίνεται ορατό στις αναφορές αφότου συμβεί. Οι συναθροίσεις σε μεγάλες περιόδους (μήνες, έτη) απαντούν επίσης σε λιγότερο από ένα δευτερόλεπτο, επειδή το ClickHouse φτιάχτηκε ακριβώς για αυτό το είδος ερωτημάτων.

Πρέπει να ρυθμίσω κάτι για να έχω στατιστικά στον ιστότοπό μου;

Δεν θα χρειαστεί. Η ενότητα στατιστικών βρίσκεται υπό ανάπτυξη και χτίζεται ως μέρος της πλατφόρμας: όταν ενεργοποιηθεί στον πίνακα διαχείρισης, η συλλογή ξεκινά αυτόματα για τους δημοσιευμένους ιστότοπους — χωρίς scripts προς εγκατάσταση και χωρίς εξωτερικούς λογαριασμούς.

4b2b.net
Επιχειρηματικό οικοσύστημα
4conta.ro
Λογιστική
4invoices.net
Εφαρμογή τιμολόγησης
4expenses.net
Διαχείριση εξόδων
4notify.net
Ειδοποιήσεις
4hosting.net
Φιλοξενία
4database.net
Βάσεις δεδομένων
4buildsite.net
Δημιουργία ιστοσελίδων
4myapp.net
Δημιουργία εφαρμογών
4avatars.net
AI άβαταρ
4chaty.net
Chatbot AI
4webagency.net
Λογισμικό για web agencies
4softedu.net
Ιστοσελίδες εκπαίδευσης
4softcrm.net
Πλατφόρμα CRM
4softerp.net
Σύστημα ERP
4softhr.net
Διαχείριση HR
4mystaff.net
Πύλη προσωπικού
4myprojects.net
Διαχείριση έργων
4mycontracts.net
Συμβόλαια
4docs.net
Διαχείριση εγγράφων
4appointments.net
Ραντεβού
4marketingonline.net
Μάρκετινγκ
4insurance.net
Ασφάλιση
4property.net
Ακίνητα
4lawyers.net
Νομικό λογισμικό
4mygarage.net
Συνεργείο αυτοκινήτων
4driving.net
Σχολές Οδηγών
4fleet.net
Διαχείριση στόλου
4myevents.net
Εκδηλώσεις
4therapy.net
Θεραπεία
4clinics.net
Κλινικές
4dental.net
Οδοντιατρεία
4restaurants.net
Εστιατόρια
4beautify.net
Σαλόνι ομορφιάς
4gym.net
Γυμναστήρια
4guards.net
Εταιρείες φύλαξης
4softvet.net
Κτηνιατρεία
4softauto.net
Λογισμικό για επιχειρήσεις αυτοκινήτων
4construct.net
Κατασκευαστικές εταιρείες
4marketplace.net
Αγορά
4shopy.net
Ηλεκτρονικό κατάστημα
4pricing.net
Σύγκριση τιμών
4salefood.net
Παράδοση φαγητού
4rentify.net
Ενοικιάσεις
4transports.net
Μεταφορές
4agencytravel.net
Ταξιδιωτικό γραφείο
4hotel.net
Διαχείριση ξενοδοχείων
4ong.net
Διαχείριση ΜΚΟ