SysteHot/Warm/Cold
1) Ինչու՞ կիսել տվյալները Hot/Warm/Cold-ում։
Մեկ կլաստերի մեջ գոյություն ունեն տարբեր հասանելիության արտոնագրեր 'ինտերակտիվ հարցումներ թարմ տվյալների համար, վերլուծաբան վերջին ժամանակահատվածներում և արխիվին հազվագյուտ հասանելիություն։ Մակարդակների բաժանումը թույլ է տալիս
Օպտիմիզացնել արժեքը 'արագ և թանկ շերտը միայն «տաք» աշխատանքային հավաքածուի համար։
Պահել SLO: p95/throughput-ը առցանց, ավելի երկար dedline պատմության համար։
Պարզեցնել մեծացումը 'հորիզոնական մեծացնել էժան շերտերը առանց «ռազմաճակատի»։
Նվազեցնել ռիսկերը 'հրաժարվելու/վերարտադրման տարբեր օրինակներ, պաշտպանության անկախ քաղաքականություններ։
Կարճ
Hot-ը ամենաարագ, հաճախակի ընթերցանությունն/ձայնագրությունը, նվազագույն լատենտ։
Warm-ը ավելի քիչ փոխվում է, շատ ընթերցումներ ժամանակի միջակայքում։
Cold-ը արխիվը, էժան պահպանումը, բարձր TTFB-ը, դանդաղ վերականգնումը։
2) Ավելցուկը և SLO մակարդակները
Hot
Հասանելիություն: Միլիսեքսունդներ (p95-5-20 մզ KV/ինդեքսների վրա, 100-300 մզ բարդ պահանջների վրա)։
Վիրահատություններ ՝ հաճախակի ups.ru/append, ինդեքսավորում, OLTP/strim-ingest։
Փոխադրողները ՝ NVMe/SSD, հիշողությունը, արագ ցանցը։
Կրկնօրինակումը 'բարձրացված (օրինակ, RF = 3) RPO 240, RTO րոպեների համար։
Warm
Հասանելիություն 'տասնյակ-հարյուրավոր միլիոնավոր/վայրկյաններ։
Վիրահատությունները 'կարդալը «պատուհանի», բատչերը, OLAP-ը թարմ պատմության մեջ (7-90 օր)։
Փոխադրողները ՝ SATA SSD/արագ HDD/օբյեկտի պահեստ տեղական քեշով։
Կրկնօրինակումը 'չափավոր (RF = 2), թեմը միացված է։
Cold
Հասանելիություն 'վայրկյաններ-ժամացույց; հաճախակի մուտք, «retrieve-and-scan»։
Վիրահատություններ 'հազվագյուտ ընթերցումներ, կարգավորող (retenshn)։
Փոխադրողները ՝ օբյեկտի/արխիվային (S3 Glacier/Deep Archive, Azure Archive, GCS Coldics)։
Կրկնօրինակումը 'երկրորդային/միջտարածաշրջանային, WORM/Legal Hold։
3) Տիպային տեխնոլոգիաները շերտերով
Hot: PostgreSQL (OLTP, partitions), MySQL/InnoDB, Redis/Memcached (кэш), Elasticsearch/Opensearch hot-nodes, ClickHouse горячие партиции, Kafka local log.
Warm: ClickHouse-ը հսկայական պահեստավորում է, BigQuery/Winowflake վերջին կուսակցությունները, Elasticsearch warm-nodes, S3 + Presto/Trino, Tiered storage (Kafka/Pulsar)։
Cold: S3/Glacier, GCS Nearts/Coldive/Archive, Azure Cool/Archive, HDIV արխիվներ, bekaps։
4) Կյանքի ցիկլի քաղաքականությունը (ILM) և ավտոմատացումը
4. 1 Հասկացություններ
Ժամանակի կուսակցումը (օր/շաբաթ/ամիս) շերտերի միջև թարգմանության հիմնական լծակն է։
ILM կանոնները ՝ rollover (ծավալի/տարիքի), shrink/merge, freeze, prodete։
Դեդուպլիկացիան և ագրեսիան 'ներառել warm/cold, խուսափելով CPU-նեղ տեղերից hot-ում։
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 Lifecycle (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 կրողներ + ցանցը (egress) + CPU ագրեսիայի/սկանի վրա + կառավարել + DR/կրկնօրինակումը»։
5. 2 Լատենտության և գնի հավասարակշռություն
Տվյալների 5-20 տոկոսը տաք փաթեթը տալիս է հարցումների 80-95 տոկոսը։
Նպատակն է պահպանել աշխատանքային սեթը Hot/cashe-ում (CPU/RAM/NVMe), մնացած տեղադրումը Warm/Cold-ում։
5. 3 Մետրիկներ
hit_ratio_hot, pct_hot_of_total_bytes, cost_per_TB_month{tier}, scan_cost_per_TB, time_to_first_byte{tier}, promotion_rate (cold→warm), demotion_rate (hot→warm/cold).
6) Կուսակցությունը, ինդեքսավորումը և քեշինգը
Ժամանակի կուսակցությունները + secondary ինդեքսներ են «թարմ» կտրվածքների համար։
Հարցումների ոսկե կանոնը 'ֆիլտրը ժամանակի առաջին, ապա ընտրողական բանալիները։
Քեշը հիերարխիկ է 'in-proc no Redis dedge; pin-kashi տաք կոդերի/ագրեգատների համար։
Bloom ֆիլտրերը/skip ինդեքսները (ClickHouse, Parquet) նվազեցնելու համար warm/cold ընթերցումները։
7) Վերափոխում, անկայունություն և DR
Hot: սինխրոն կրկնօրինակումը (անջատողականություն), RPO 380, արագ ֆեյլերը։
Warm: Ասինխրոն միջմայրցամաքային/միջտարածաշրջանային կրկնօրինակը; RPO րոպե։
Cold: միջտարածաշրջանային WORM (Write Once Read Many), Legal Hold-ի համար։
DR պլանները ՝ run-գրքեր «սառը» արխիվների վերականգնման համար (ժամացույց), պարբերական fire-medills։
8) Անվտանգություն և համապատասխանություն
PII/PCI: կոդավորումը հանգույցի մեջ (KFC), հիմնական քաղաքականությունները յուրաքանչյուր փուլում, դիմակավորում ներքև։
Retenshn-ը և հեռացումը 'cold-ի ավտոմատ ժամանակը, ապացուցված լվացումը (erportreports)։
Իրավասություններ 'պահպանումը տարածաշրջանում (EU-only, RU-only, BY-region և այլն), bucket-ի գեո մեկուսացումը։
9) Օգտագործման արտոնագրեր
9. 1 Լոգա և հեռուստատեսություն
Hot: վերջին 24-72 ժամ Elasticsearch/ClickHouse-ում NVMe-ում։
Warm: 30-180 օր SSD/HDD + Parquet-ում։
Cold: > 180 օր Glacier-ում; Trino/Presto «պահանջով»։
9. 2 Գործարք/օրդեր
Hot: OLTP BD (PostgreSQL/MySQL) կարճ պատմությամբ։
Warm: BI-ի համար դենորմալիզացված սարքավորում։
Կոլդը 'իրավաբանական արխիվը, էքսպորտը օբյեկտի պահարանում։
9. 3 ML-ficestore
Hot: առցանց ֆիչին Redis/low-latency DB-ում։
Warm: offfline fichi կոլոնայում/օբյեկտի մեջ։
Cold: սկզբնական թվասեթները, versioned (Delta/Iceberg/Hudi)։
10) Փոխազդեցություն կլաստերների և Kubernetes հետ
Storts Class-ը տեղադրեք tier: «gold-nv.ru» (hot), «silver-ssd» (warm), «bronze-object» (cold)։
Պլանավորեք պուլներ (tainae/labels) hot/warm/cold worcloads-ի տակ։
Sidecar-kashe (օրինակ, wwww.al SSD cache) նախքան օբյեկտի պահանջները։
Օրինակ PVC
yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: { name: db-hot }
spec:
storageClassName: gold-nvme accessModes: [ ReadWriteOnce ]
resources: { requests: { storage: 500Gi } }
11) Դիտողականությունը
Dashbords: Բայթ/հարցումների բաշխումը tier, latency per tier, warm/cold, արժեքը/ամիս։
Ալբերտները 'hit-ratio hot, promotion-rate (արդյո՞ ք տաք ծավալը), TTFB-ի աճը warm-ում, cold դանդաղ վերականգնումը (SLO breach)։
12) Anti-patterna
«Ամեն ինչ hot» 'ավելցուկ արժեքը, վերագրանցելով IO-ն։
«Խորը ցուրտ առանց ինդեքսների» 'էժան պահել, թանկ կարդալ։ արագ կտրելու ուղիներ չկան։
«Ոչ ILM» 'ձեռքով փոխանցումներ, մարդկային սխալներ։
«Միասնական կրկնօրինակման քաղաքականությունը» բոլոր մակարդակների համար 'ավելցուկ և անհավասար RPO։
«Փաթեթների/արխիվային հարցումների խառնուրդը» հաշվարկների մեկ բաժակում 'փոխադարձ ազդեցություն։
«Անմոռանալի egress» -ը կոլդ ամպերից 'անակնկալներ։
13) Ներդրման չեկի ցուցակ
- Դասակարգեք տվյալների հավաքածուները 'SLA, մուտքի հաճախականությունը, պահեստավորման պահանջները։
- Ընտրեք կրիչներ և շարժիչներ շերտի վրա (NVMe/SSD/HDD/Object/Archive)։
- Նախագծեք կուսակցությունները (ժամանակ/բանալին), ինդեքսները և կոդերը (Parquet/ORC/Delta)։
- ILM կանոնները (rollover/transport/expire) և ավտոմատիզացված։
- Միացրեք թեմը/կոդավորումը (ZSTD/LZ4; cold-ում ավելի ուժեղ է)։
- Կրկնօրինակումը/RPO/RTO և DR ընթացակարգերը։
- Պարեք kash հիերարխիա և pin տաք ագրեգատների համար։
- Արժեքավոր/լատենտ և ալտերտեր tier։
- Անվտանգության քաղաքականությունը (KHL, իրավաբանական ռետեններ, գեո-իզացում)։
- Պարբերաբար վերանայեք թարգմանությունների շեմերը (seasonality, աճը)։
14) FAQ
Q 'Ինչպե՞ ս որոշել սահմանները hot-warm-ի միջև։
A 'Հարցումների իրական բաշխմամբ' «տաք աշխատանքային սեթ» = վերին 5-20% ռուբլիներ/կուսակցություններ, որոնք կազմում են հարցումների 80-95 տոկոսը։ Այն ամենը, ինչ չի հասնում, warm թեկնածուն է։
Q 'Կարո՞ ղ եք ուղղակիորեն կարդալ զանգից։
Այո, բայց պլանավորեք SLA-ը մեկ/ժամվա ընթացքում և egress-ի արժեքը։ ավելի հաճախ ավելի շահավետ է վերացնել հատվածը warm (staging) նախքան վերլուծությունը։
Q 'Ի՞ նչ ընտրել վերլուծաբանների համար 30-180 օր։
A: Կոլոնիկական բջիջները (Parquet/ORC) օբյեկտի վրա + հարցման շարժիչ (Trino/Presto/ClickHouse) քեշով; ինդեքսներ/skip-կոդեր IO խնայելու համար։
Q 'Ինչպե՞ ս խուսափել «փոթորիկներից» կոլդից տեղափոխվելիս։
A: Օգտագործեք wwww.fetch/www.pare-jobs, limits, cardirured ժամանակ, օգտագործեք request-coalescing և pin-cashi warm։
15) Արդյունքները
Hot/Warm/Cold-ի ճարտարապետությունը մուտքագրման արժեքի համապատասխանությունն է, գումարած կյանքի ավտոմատ կառավարումը։ Պարզ SLO-ը շերտերով, և ILM-ով, խելացի կրկնօրինակումը և քեշի հիերարխիան թույլ են տալիս պահել «տաք» արագ, «տաք» 'հասանելի, իսկ «սառը»' էժան և անվտանգ։