Θερμά/ζεστά/κρύα θησαυροφυλάκια
1) Γιατί διαιρούν τα δεδομένα με ζεστό/ζεστό/κρύο
Διαφορετικά πρότυπα πρόσβασης συνυπάρχουν στο ίδιο σύμπλεγμα: διαδραστικά αιτήματα για νέα δεδομένα, αναλυτική για πρόσφατες περιόδους και σπάνια πρόσβαση στο αρχείο. Το layering σας επιτρέπει:- Βελτιστοποίηση κόστους: Γρήγορη και ακριβή στρώση μόνο για θερμές εργασίες.
- Συμμόρφωση με την SLO: p95/throughput για επιγραμμικές, μεγαλύτερες προθεσμίες για την ιστορία.
- Απλούστευση της κλιμάκωσης: οριζόντια δημιουργία φθηνών στρωμάτων χωρίς υπερθέρμανση του «εμπρόσθιου μέρους».
- Μετριασμός των κινδύνων: διαφορετικοί τομείς αποτυχίας/αναπαραγωγής, ανεξάρτητες πολιτικές προστασίας.
- Θερμή - η πιο πρόσφατη, συχνή ανάγνωση/γραφή, ελάχιστη καθυστέρηση.
- Θερμή - αλλάζει λιγότερο συχνά, πολλή ανάγνωση σε χρονικές περιόδους.
- Κρύο - αρχείο, φθηνή αποθήκευση, υψηλή TTFB, αργή ανάκτηση.
2) Προφίλ και SLO ανά επίπεδο
Θερμή
Πρόσβαση: χιλιοστά του δευτερολέπτου (p95 ≤ 5-20 ms σε KV/δείκτες· ≤ 100-300 ms σε σύνθετα ερωτήματα).
Λειτουργίες: συχνές upsert/append, indexing, OLTP/κατάποση ρεύματος.
Μέσα: NVMe/SSD, μνήμη, γρήγορο δίκτυο.
Πολλαπλασιασμός: αυξημένη (π.χ. RF = 3) για RPO≈0, λεπτά RTO.
Ζεστό
Πρόσβαση: Δεκάδες έως εκατοντάδες χιλιοστά του δευτερολέπτου/δευτερόλεπτο.
Πράξεις: ανάγνωση «παραθύρου», γλουτοί, OLAP σε νωπό ιστορικό (7-90 ημέρες).
Μέσα: SATA SSD/γρήγορη αποθήκευση HDD/αντικειμένου με τοπική μνήμη.
Αναπαραγωγή: μέτρια (RF = 2), ενεργοποιημένη συμπίεση.
Κρύο
Πρόσβαση: δευτερόλεπτα-ώρες. συχνή πρόσβαση εκτός σύνδεσης, «ανάκτηση-και-σάρωση».
Διαδικασίες: σπάνιες ενδείξεις, συμμόρφωση με τις κανονιστικές ρυθμίσεις (διατήρηση κατά έτη).
Μέσα: αντικείμενο/αρχείο (S3 Glacier/Deep Archive, Azure Archive, GCS Coldline).
Αντιγραφή: Περιφερειακή/διαπεριφερειακή, WORM/νόμιμη λαβή.
3) Τυπικές τεχνικές ανά στρώμα
Καυτό: PostgreSQL (OLTP, χωρίσματα), MySQL/InnoDB, Redis/Memcached (кэш), Elasticsearch/Opensearch hot-nodes, ClickHouse горячие партиции, Kafka local log.
Θερμή: αποθήκευση στήλης ClickHouse, BigQuery/Snowflake πρόσφατα μέρη, Elasticsearch ζεστοί κόμβοι, S3 + Presto/Trino με κρύπτη, Tiered αποθήκευση (Kafka/Pulsar).
Κρύο: S3/Glacier, GCS Nearline/Coldline/Archive, Azure Cool/Archive, αρχείο HDFS, μακροχρόνια αντίγραφα ασφαλείας.
4) Πολιτικές για τον κύκλο ζωής και αυτοματοποίηση
4. 1 Έννοιες
Η χρονική κατάτμηση (ημέρα/εβδομάδα/μήνα) είναι ο κύριος μεταφραστικός μοχλός μεταξύ των στρωμάτων.
Κανόνες ILM: ανατροπή (κατ "όγκο/ηλικία), συρρίκνωση/συγχώνευση, πάγωμα, διαγραφή.
Αφαίρεση και συμπίεση: ενεργοποιήστε θερμά/ψυχρά, αποφεύγοντας τα σημεία συμφόρησης της ΚΜΕ σε θερμή κατάσταση.
4. 2 παραδείγματα
Elasticsearch ILM (hot→warm→cold→delete)
json
{
"policy": {
"phases": {
"hot": { "actions": { "rollover": { "max_age": "7d", "max_size": "50gb" } } },
"warm": { "min_age": "7d", "actions": { "allocate": { "require": { "box_type": "warm" } }, "forcemerge": { "max_num_segments": 1 } } },
"cold": { "min_age": "30d", "actions": { "allocate": { "require": { "box_type": "cold" } }, "freeze": {} } },
"delete":{ "min_age": "365d", "actions": { "delete": {} } }
}
}
}
S3 Κύκλος ζωής (Standard→Infrequent→Glacier→Expire)
json
{
"Rules": [{
"ID": "logs-lifecycle",
"Filter": { "Prefix": "logs/" },
"Status": "Enabled",
"Transitions": [
{ "Days": 7, "StorageClass": "STANDARD_IA" },
{ "Days": 30, "StorageClass": "GLACIER" }
],
"Expiration": { "Days": 365 }
}]
}
Kafka Tiered Storage (σκίτσο)
properties log. segment. bytes=1073741824 log. retention. ms=259200000 tiered. storage. enable=true remote. log. storage. system=s3 remote. log. storage. bucket=topic-archive
Ταξινομήσεις PostgreSQL έως την ημερομηνία
sql
CREATE TABLE events (
id bigserial, at timestamptz NOT NULL, payload jsonb
) PARTITION BY RANGE (at);
CREATE TABLE events_2025_10 PARTITION OF events
FOR VALUES FROM ('2025-10-01') TO ('2025-11-01')
TABLESPACE ts_hot; -- further ALTER TABLE... SET TABLESPACE ts_warm по ILM
5) Μοντελοποίηση κόστους και απόδοσης
5. 1 Απλό μοντέλο TCO
«TCO = CapEx/OpEx μέσα + δίκτυο (έξοδος) + ΚΜΕ για συμπίεση/σαρώσεις + διαχείριση + DR/αντιγραφή».
5. 2 Ισοζύγιο καθυστέρησης και τιμής
Ένα θερμό σύνολο ≈ 5-20% των δεδομένων αποδίδει το 80-95% των ερωτημάτων.
Ο στόχος είναι να διατηρηθεί το σύνολο εργασίας στο Hot/cache (CPU/RAM/NVMe), να μετατοπιστούν τα υπόλοιπα στο Warm/Cold.
5. 3 Μετρήσεις
, , , , , ( ), ( ).
6) Κατάτμηση, τιμαριθμική αναπροσαρμογή και αποθήκευση
Χρονικά χωρίσματα + δευτερεύοντες δείκτες για «φρέσκες» φέτες.
Ο χρυσός κανόνας των αιτήσεων: φίλτρο με το χρόνο πρώτα, στη συνέχεια επιλεκτικά κλειδιά.
Ιεραρχική μνήμη: in-proc → Redis → άκρο. caches για θερμά κλειδιά/συγκεντρωτικά στοιχεία.
Φίλτρα Bloom/δείκτες skip (ClickHouse, Parquet) για τη μείωση των αναγνώσεων σε ζεστό/κρύο.
7) Αντιγραφή, ανοχή βλάβης και DR
Θερμό: συγχρονισμένη αντιγραφή (πολλαπλών ζωνών), RPO≈0, γρήγορο feilover.
Θερμή: ασύγχρονη διαπεριφερειακή ζώνη/αντίγραφο. RPO λεπτά.
Κρύο: διαπεριφερειακό με WORM (Write Once Read Many), Νόμιμη κράτηση για συμμόρφωση.
Σχέδια DR: τρέχοντα βιβλία για την αποκατάσταση «ψυχρών» αρχείων (ώρες), περιοδικές ασκήσεις πυρκαγιάς.
8) Ασφάλεια και συμμόρφωση
PII/PCI: κρυπτογράφηση σε ηρεμία (KMS), βασικές πολιτικές σε κάθε στάδιο, κάλυψη όταν κινείται προς τα κάτω.
Διατήρηση και αφαίρεση: αυτόματες προθεσμίες για ψυχρή, αποδεδειγμένη διαγραφή (διαγραφή εκθέσεων).
Δικαιοδοσίες: αποθήκευση στην περιοχή (μόνο στην ΕΕ, μόνο ΣΕ, περιφέρεια BY κ.λπ.), γεωγραφική απομόνωση κουβάδων.
9) Πρότυπα χρήσης
9. 1 Κούτσουρα και τηλεμετρία
Hot: Τελευταία 24-72 h στο Elasticsearch/ClickHouse στο NVMe.
30-180 ημέρες σε SSD/HDD + Parquet σε S3.
Κρύο:> 180 ημέρες σε παγετώνα. αιτήσεις μέσω Trino/Presto «κατά παραγγελία».
9. 2 Συναλλαγές/Εντολές
Hot: Βάση δεδομένων OLTP (PostgreSQL/MySQL) με σύντομο ιστορικό.
Θερμά: απομαλοποιημένα στιγμιότυπα για BI.
Κρύο: νόμιμο αρχείο, εξαγωγή σε αποθήκευση αντικειμένων.
9. 3 ML-ficestore
Hot: online χαρακτηριστικά σε Redis/χαμηλής καθυστέρησης DB.
Θερμή: εκτός σύνδεσης χαρακτηριστικά στη στήλη/αντικείμενο.
Κρύο: σύνολα δεδομένων πηγής (Delta/Iceberg/Hudi).
10) Αλληλεπίδραση με συσπειρώσεις και Kubernetes
Mark Stories Class by tier: 'gold-nvme' (hot), 'silver-ssd' (warm), 'bronze-object' (cold).
Προγραμματισμός κόμβων συγκέντρωσης (πινακίδες/ετικέτες) για εργαστήρια θερμής/θερμής/ψυχρής εκκίνησης.
Sidecar caches (για παράδειγμα, τοπική μνήμη SSD) πριν από τις αιτήσεις για αποθήκευση αντικειμένων.
Παράδειγμα PVC
yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: { name: db-hot }
spec:
storageClassName: gold-nvme accessModes: [ ReadWriteOnce ]
resources: { requests: { storage: 500Gi } }
11) Παρατηρησιμότητα
Ταμπλό: διανομή ψηφιολέξεων/αιτημάτων ανά βαθμίδα, καθυστέρηση ανά βαθμίδα, εκφόρτωση σε ζεστό/κρύο, κόστος/μήνα.
Ειδοποιήσεις: μείωση του θερμού λόγου επιτυχίας, αύξηση του ρυθμού προώθησης (υπάρχει αρκετός θερμός όγκος), αύξηση του TTFB θερμά, αργή αποκατάσταση του κρυολογήματος (παραβίαση SLO).
12) Αντι-μοτίβα
«Όλα ζεστά»: υπερβολικό κόστος, υπερθέρμανση ΙΟ.
«Βαθύ κρύο χωρίς δείκτες»: φθηνό για αποθήκευση, ακριβό για ανάγνωση. δεν υπάρχουν μονοπάτια με γρήγορες φέτες.
«No ILM»: χειροκίνητες μεταφορές, ανθρώπινα σφάλματα.
«Ενιαία πολιτική αντιγραφής» για όλα τα επίπεδα: υπερπληρωμή και άνιση ΠΟΑ.
Αναμείξτε ερωτήσεις prod/αρχειοθέτησης σε μία ομάδα υπολογισμών - παρεμβολές.
«Μη ληφθείσα έξοδος» από τα κρύα σύννεφα: εκπλήξεις στο νομοσχέδιο.
13) Κατάλογος ελέγχου εφαρμογής
- Ταξινόμηση συνόλων δεδομένων: SLA, συχνότητα πρόσβασης, απαιτήσεις αποθήκευσης.
- Επιλέξτε μέσα και κινητήρες ανά στρώμα (NVMe/SSD/HDD/Object/Archive).
- Χρόνος σχεδιασμού/κατατμήσεις κλειδιών, δείκτες και μορφότυποι (Parquet/ORC/Delta).
- Καθορισμός κανόνων ILM (ανατροπή/μετάβαση/λήξη) και αυτοματοποίηση.
- Ενεργοποίηση συμπίεσης/κωδικοποίησης (ZSTD/LZ4; σε ψυχρό - ισχυρότερο).
- Καθορισμός διαδικασιών αντιγραφής/RPO/RTO και DR.
- Ρυθμίστε την ιεραρχία της κρύπτης και την καρφίτσα για θερμά μεγέθη.
- Μετρήσεις κόστους/καθυστέρησης και προειδοποιήσεις βαθμίδας.
- Πολιτικές ασφαλείας (KMS, νόμιμη διατήρηση, γεωγραφική απομόνωση).
- Τακτική επανεξέταση των ορίων μεταφοράς (εποχικότητα, ανάπτυξη).
14) ΣΥΧΝΈΣ ΕΡΩΤΉΣΕΙΣ
Ε: Πώς ορίζετε τα όρια μεταξύ ζεστού και ζεστού
A: Σύμφωνα με πραγματικές διανομές αιτημάτων: «σετ θερμής εργασίας» = το κορυφαίο 5-20% των κλειδιών/κομμάτων, παρέχοντας 80-95% των αιτήσεων. Το μόνο που αποτυγχάνει είναι ένας θερμός υποψήφιος.
Ε: Μπορώ να διαβάσω απευθείας από το κρύο
A: Ναι, αλλά σχεδιάστε SLA κάτω από λεπτά/ώρες και κόστος εξόδου. είναι πιο συχνά επικερδής ο επαναπατρισμός ενός θραύσματος σε ζεστό (στάδιο) πριν από την ανάλυση.
Ε: Τι να επιλέξετε για ανάλυση 30-180 ημέρες
A: Μορφότυποι στήλης (Parquet/ORC) σε κινητήρα αντικειμένων + ερωτημάτων (Trino/Presto/ClickHouse) με κρύπτη. δείκτες/παραλήπτες δεδομένων για την αποθήκευση IO.
Ε: Πώς να αποφύγετε τις «καταιγίδες προθέρμανσης» κατά την εκ νέου δειγματοληψία από το κρύο
Α: Χρήση προπαρασκευαστικών/προπαρασκευαστικών εργασιών, περιορισμός των αιτήσεων, χρονική απόχρωση, απόκρυψη αιτήσεων και απόκρυψη καρφιτσών σε θερμή κατάσταση.
15) Σύνολα
Η αρχιτεκτονική θερμού/θερμού/ψυχρού είναι η αντιστοίχιση του κόστους με το προφίλ πρόσβασης συν την αυτόματη διαχείριση του κύκλου ζωής. Καθαρισμός SLO ανά στρώμα, κατάτμηση και ILM, λογική αντιγραφή και ιεραρχία κρυφής μνήμης διατηρούν «καυτή» γρήγορη, «ζεστή» προσιτή, και «ψυχρή» φθηνή και ασφαλή.