כספות חמות/קרות
1) מדוע לחלק נתונים על ידי חם/חם/קר
דפוסי גישה שונים מתקיימים יחד באותו אשכול: בקשות אינטראקטיביות למידע טרי, אנליטיקה לתקופות האחרונות וגישה נדירה לארכיון. השכבות מאפשרות לך:- ייעל את העלות: שכבה מהירה ויקרה למערך עבודה חם בלבד.
- ציית ל-SLO: p95/breadput עבור מקוון, מועדים ארוכים יותר להיסטוריה.
- פשט את קנה המידה: אופקי לבנות שכבות זולות מבלי לחמם יותר מדי את ”החזית”.
- סיכונים מקלים: כשלים שונים/תחומי שכפול, מדיניות הגנה עצמאית.
- חם - האחרון, תדיר קריאה/כתיבה, איחור מינימלי.
- שינויים חמים לעתים קרובות פחות, הרבה קריאה לאורך זמן.
- ארכיון קר, אחסון זול, טי-טי-אף-בי גבוה, התאוששות איטית.
2) פרופילים ו ־ SLOs ברמה
חם
גישה: אלפיות שנייה (p95 5-20 ms על KV/indexes; 100-300 ms על שאילתות מורכבות).
פעולות: upsert/append תדיר, indexing, OLTP/stream-innet.
מדיה: NVME/SSD, זיכרון, רשת מהירה.
שכפול: גדל (למשל. RF = 3) עבור RPO 0, דקות RTO.
חם
גישה: עשרות עד מאות אלפיות שנייה.
מבצעים: קריאת ”חלון”, גבשושיות, OLAP על היסטוריה חדשה (7-90 ימים).
מדיה: SATA SSD/מהיר HDD/אובייקט אחסון עם מטמון מקומי.
שכפול: מתון (RF = 2), דחיסה מופעלת.
קר
גישה: שניות-שעות; גישה לא מקוונת תכופה, ”לאחזר ולסרוק”.
פעולות: קריאות נדירות, ציות לרגולציה (שמירה על ידי שנים).
מדיה: אובייקט/ארכיון (S3 Glacier/Deep Archive, Azure Archive, GCS Coldline).
שכפול: Regional/Regional, WORM/Ligal Hold.
3) טכניקות טיפוסיות בשכבה
HOT: PostgreSQL (OLTP, מחיצות), MySQL/InnoDB, Redis/Memcashed (Cootice), Elasticsearch/Opensearch hot-nodes, Clickhouse יומן מקומי אפקה.
חם: אחסון עמודות ClickHouse, BigQuery/Snowflake, Elasticsearch foods, S3 + Presto/Trino עם מטמון, אחסון Tiered (קפקא/פולסר).
קור: S3/Glacier, GCS Nearline/Coldline/Archive, Azure Cool/Archive, ארכיון HDFS, גיבויים לטווח ארוך.
4) מדיניות אופן חיים (ILM) ואוטומציה
4. 1 מושגים
זמן החלוקה (יום/שבוע/חודש) הוא מנוף התרגום העיקרי בין השכבות.
כללי ILM: רולובר (לפי נפח/גיל), התכווצות/מיזוג, הקפאה, מחיקה.
שכפול ודחיסה: אפשר על חום/קר, הימנעות צווארי בקבוק מעבד על חם.
4. 2 דוגמאות
Elasticsearch ILM (חם = חם = קר = מחק)
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 Lifecycle (סטנדרטי # Infrequent * Glacier # Feire)
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 אחסון (סקיצה)
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 media + network (egress) + CPU עבור דחיסה/סריקות + ניהול + DR/שכפול.
5. 2 איזון של איחור ומחיר
סט חם של 5-20% מהנתונים מניב 80-95% מהשאילתות.
המטרה היא להשאיר את מערך העבודה במטמון/חם (CPU/RAM/NVME), להעביר את השאר לחום/קר.
5. 3 מדדים
, , , (חם), חם (חם/קר) .
6) מחיצה, אינדקס, ומטמון
מחיצות זמן + מדדים משניים לפרוסות ”טריות”.
כלל הזהב של בקשות: לסנן על ידי זמן ראשון, אז מפתחות סלקטיביים.
מטמון היררכי: In-proc # Redis # edge; מקלות סיכות למפתחות חמים/אגרגטים.
מסנני בלום/דילוג על אינדקסים (ClickHouse, Parquet) כדי להפחית את הקריאות לחום/קר.
7) שכפול, אשמת סובלנות וד "ר
שכפול סינכרוני (multi-zone), RPO ו0, feilover מהיר.
חם: asynchronous interzone/interregional העתק; דקות אר-פי-או.
Cold: Interregional with WORM (Write Once Read Many), Ligal Hold for Company.
ד "ר-תוכניות: רצים ספרים לשיקום ארכיון" קר "(שעות), תרגילי אש תקופתיים.
8) בטיחות וציות
PII/PCI: הצפנה במנוחה (KMS), מדיניות מפתח בכל שלב,
שימור והסרה: תאריכי יעד אוטומטיים למחיקה קרה ובלתי אפשרית (מחיקת דיווחים).
תחומי שיפוט: אחסון באזור (EU-only, RU-only, BY-region וכו '), בידוד גאו-בידוד של דליים.
9) דפוסי שימוש
9. יומנים וטלמטריה 1
חם: 24-72 שעות ביממה האחרונה ב ”אלסטיק סארק האוס” ב-NVME.
חם: 30-180 יום ב-SSD/HDD + Parquet ב-S3.
קר:> 180 ימים בקרחון; בקשות באמצעות טרינו/פרסטו ”לפי דרישה”.
9. 2 עסקאות/הזמנות
HOT: OLTP (PostgreSQL/MySQL) עם היסטוריה קצרה.
חם: תמונות מכחישות של בי י.
ארכיון חוקי, יצוא לאחסון אובייקטים.
9. 3 ML-ficestorName
תכונות מקוונות ברדיס/Latency DB.
חם: מאפיינים לא מקוונים בעמודה/אובייקט.
קור: נתוני מקור, מודדים (דלתא/קרחון/האדי).
10) אינטראקציה עם אשכולות וקוברנטות
'Gold-nvme' (חם), 'כסף-אס-די' (חם), 'ברונזה-אובייקט' (קר).
תוכנית צמתים בריכה (קצות/תוויות) לסדנאות חמות/חמות/קרות.
caches Sidecar (לדוגמה, מטמון 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) אנטי דפוסים
”הכל בחום”: עלות מוגזמת, חימום יתר.
”קור עמוק ללא אינדקסים”: זול לאחסון, יקר לקריאה; אין שבילים פרוסים מהירים.
העברות ידניות, טעויות אנושיות.
”מדיניות שכפול אחידה” לכל הרמות: תשלום יתר ו-RPOs לא אחיד.
ערבב שאילתות אבזור/ארכיון במאגר חישוב אחד - הפרעה.
”יציאה לא מוסברת” מעננים קרים: הפתעות בהצעת החוק.
13) רשימת מימושים
[ ] מסווגים: SLA, תדר גישה, דרישות אחסון.
[ ] בחר מדיה ומנועים לשכבה (NVME/SSD/HDD/Object/Archive).
[ ] זמן עיצוב/מחיצות מפתח, אינדקסים ופורמטים (Parquet/ORC/Delta).
[ ] להגדיר כללי ILM (rollover/transfer/fut) ואוטומטים.
[ ] אפשר דחיסה/קידוד (ZSTD/LZ4; בקור - חזק יותר).
[ ] הגדר תהליכי שכפול/RPO/RTO ו-DR.
[ ] הגדרת היררכיית המטמון וסיכה עבור אגרגטים חמים.
[ ] מדדי עלות/תלייה והתראות רובד.
[ מדיניות הביטחון ] (KMS, שימור חוקי, גיאו-בידוד).
[ ] סקור באופן קבוע את סף ההעברה (עונה, צמיחה).
14) FAQ
ש: איך אתה מגדיר את הגבולות בין חם לחם?
A: על פי הפצות אמיתיות של בקשות: ”קבוצת עבודה חמה” = 5-20% של מפתחות/מפלגות, המספקות 80-95% מהבקשות. כל מה שנכשל הוא מועמד חם.
קיו: האם אני יכול לקרוא ישירות מקור?
א. כן, אבל תוכנית SLAs תחת דקות/שעות ועלות יציאה; לעתים קרובות יותר כדאי להחזיר רסיס לחום (היערכות) לפני הניתוח.
ש: מה לבחור עבור אנליטיקה 30-180 ימים?
A: פורמטים של עמודה (Parquet/ORC) במנוע שאילתה של אובייקט + (Trino/Presto/ClickHouse) עם מטמון; אינדקסים/דילוג נתונים כדי להציל את IO.
ש: איך להימנע מ ”סופות חימום” כאשר הם נדלקים מהקור?
א ': השתמש בפרדס/הכן-עבודות, הגביל את הבקשות, זמן שארדי, בקשה-פחם ו סיכות מטמונים על חם.
15) סיכומים
הארכיטקטורה החמה/חמה/קרה היא התאמת עלות לפרופיל הגישה בתוספת ניהול אופן חיים אוטומטי. SLOs ברור על ידי שכבה, מחיצה ו-ILM, שכפול סביר והיררכיה מטמון לשמור ”חם” מהיר, ”חם” בר השגה, ו ”קר” זול ובטוח.