GH GambleHub

Retention և պահպանման քաղաքականություն

1) Սկզբունքներ

1. Purpose & Minimization. Տաճարը ճիշտ է և ճիշտ այնպես, որքան անհրաժեշտ է վերամշակման նպատակները։

2. Policy as Code. Ռեթենշենը կատարյալ քաղաքականություն է, ոչ թե PDF։

3. Defense in Depth. TTL/ILM + կոդավորումը + Legal Hold։

4. Reversibility & Proof. Հեռացումը ստուգում է 'գործողությունների լոգներ, ծպտյալ սպրեդդինգ, պահպանման զեկույց։

5. Cost & Carbon Aware. Retenshen-ը հաշվի է առնում/GB-mes-ը և պահեստավորման ածխածնի հետքը/egress-ը։

2) Տվյալների դասակարգումը և «ռետենշենի քարտեզը»

Վերլուծեք դասարանների հավաքածուները նպատակներով և աջ հիմքերով

Վիրահատական (OLTP) 'պատվերներ, վճարումներ, նստարաններ։

Վերլուծական (MSH/ամսաթվերը) 'իրադարձություններ, լոգ փաստեր, կտրվածքներ։

Անձնական (PII/ֆինանսներ/առողջություն) պահանջում են հատուկ օրենքներ և սուբյեկտների իրավունքներ։

Տեխնիկական 'լոգներ, մետրեր, թրեյսներ, CI արտեֆակտներ։

Փաստաթղթերը/լրատվամիջոցները ՝ WORM/արխիվ/լեգասներ։

Յուրաքանչյուր դասարանի համար տվեք ՝ սեփականատերը, նպատակը, իրավական հիմքը, պայմանները, պաշտպանության մակարդակը, պաշտպանությունը, պաշտպանությունը և ունեցվածքը։

3) ILM 'կյանքի տվյալների ցիկլը

Տիպիկ փոխակրիչ

1. Ingest (hot) www.NVMe/SSD, հարցումների բարձր հաճախականությունը։

2. Warm-ը ավելի քիչ կարդացվում է, ագրեսիան, կոլոնիկը։

3. Cold/Archive-ը օբյեկտիվ/հիբրիդային է, երկար հասանելիություն։

4. Purge/Corete-ը երաշխավորված հեռացում է (համեղ կրկնօրինակներ/bakaps)։

ILM-2019 (YAML) օրինակը

yaml dataset: events_main owner: analytics purpose: "product analytics"
classification: "pseudonymized"
lifecycle:
- phase: hot; duration: 7d; storage: nvme; format: row
- phase: warm; duration: 90d; storage: ssd; format: parquet; compress: zstd
- phase: cold; duration: 365d; storage: object; glacier: true
- phase: purge; duration: 0d privacy:
pii: false dp_delete_window: 30d # SLA on personal deletions if ligaments appear

4) Քաղաքական գործիչները որպես կոդ (օգտակար էսքիզներ)

4. 1 Admission քաղաքականությունը (պարտադիր թեգեր/TTL)

yaml policy: require-retention-tags deny_if_missing: [owner, purpose, classification, retention]
default_retention:
logs:  "30d"
traces: "7d"
metrics:"90d"

4. 2 Gate CI/CD (Rego) - deploy արգելք առանց rentenshen

rego package policy. retention deny[msg] {
some d input. datasets[d].retention == ""
msg:= sprintf("Retention missing for dataset %s", [d])
}

4. 3 S3/օբյեկտի (lifecycle հատվածը)

yaml
Rules:
- ID: logs-ttl
Filter: { Prefix: "logs/" }
Transitions:
- { Days: 7, StorageClass: STANDARD_IA }
- { Days: 30, StorageClass: GLACIER }
Expiration: { Days: 180 }
NoncurrentVersionExpiration: { NoncurrentDays: 30 }

5) Retention հոսքերում և հերթերում

Kafka:
  • `retention. ms`/`retention. bytes '- պատուհանի ռետենշեն։
  • Compaction (`cleanup. policy = compact ") - մենք կառուցում ենք ստեղնաշարի վերջին արժեքը։
  • Tiered Storage-ը «պոչը» է սառը տիրույթի մեջ։
  • DLQ-ը առանձին retenshen և TTL-ն է։

Օրինակ

properties cleanup. policy=delete,compact retention. ms = 604800000 # 7d for tail removal
min. cleanable. dirty. ratio=0. 5 segment. ms=86400000

Երաշխիքներ

Հիմնական տեղանունների գրանցումը բացատրվում է էքսպլեյի/վերահաշվարկի բիզնես պատուհանի միջոցով։

Իրադարձությունների համար բիլինգը/աուդիտը առանձին երկար ռետենշեն կամ WORM-ն է։

6) Տվյալների և ռետենշենի հիմքերը

Ռելյացիոն

Ամսաթվի/միջակայքի կուսակցումը, հին կուսակցությունների detach & drop։

Ժամացույցի դաշտերը TTL հարցումների ինդեքսներ են։

Տեմպորալ սեղաններ (105-versioned) + purge հին տարբերակների պոլիս։

SQL սքեթը (PostgreSQL)

sql
-- Monthly instalments
CREATE TABLE audit_events (id bigserial, occurred_at timestamptz, payload jsonb) PARTITION BY RANGE (occurred_at);
-- Cleaning over 365 days
DELETE FROM audit_events WHERE occurred_at < now() - interval '365 days';
VACUUM (FULL, ANALYZE) audit_events;
NoSQL/Time-series:
  • TTL-ի մակարդակի վրա (MongoDB TTL index, Redis 'EXPIRE ", Cassandra TTL)։
  • Downsampling-ը մետրիկի համար (հում 7d - aggragata 90d - երկար 425d)։
  • Retention-ի քաղաքականությունները TSDB-ում (Influx/ClickHouse Materialized Views)։

7) Logs, metriks, treiss

Լոգները 'սահմանափակել դաշտերը, քողարկել PD, TTL 7-30d, արխիվը 90-180d։

Մետրիկները 'հում բարձր հաճախականությամբ' 7-14d; downsample (5m/1h) — 90–365д.

Թրեյսները ՝ tail-sampling և «հետաքրքիր» (սխալներ/պոչեր) ավելի երկար են։

Քաղաքականությունը (օրինակ)

yaml observability:
logs:  { ttl: "30d", archive: "90d", pii_mask: true }
metrics: { raw: "14d", rollup_5m: "90d", rollup_1h: "365d" }
traces: { sample: "tail-10%", ttl: "7d", error_ttl: "30d" }

8) Հեռացում ՝ տեսակներ և երաշխիքներ

Տրամաբանական (soft-intete) 'գրառման նշանը։ հարմար է վերականգնելու համար, չի համապատասխանում «հեռացման իրավունքը»։

Ֆիզիկական (hard-corete) 'տվյալների/տարբերակների իրական հեռացումը/կրկնօրինակը։

Կրիպտոգրաֆիկ (crypto-erasure) 'հեռացում/փոխարինումը wwww.ru, որից հետո տվյալները չեն վերականգնվում։

Կասկադային 'դերիվացիաների հեռացման միջոցով (քեշի, ինդեքսներ, վերլուծություն)։

Workflow անձնական (կեղծ)


request → locate subject data (index by subject_id) → revoke tokens & unsubscribe jobs → delete in OLTP → purge caches → enqueue erasure in DWH/lakes → crypto-shred keys (per-tenant/per-dataset) → emit audit proof (receipt)

9) Հեռացման իրավունք, Legal Hold և eDiscovery

Հեռացման/ուղղման իրավունքը 'SLA կատարումը (օրինակ, 30 օր), ուղեղի գործողությունները, քվիտանիան։

Legal Hold 'իրավաբանական խնդրով' այս հավաքածուների/կոդերի համար կոդավորման սառեցում։ գերակայություն TTL-ի վրա։

Edicovery: Տվյալների կատալոգը, ամբողջական տեքստի/կոդավորման որոնումը արտեֆակտների, էքսպորտը ռուսական ձևերում։

Legal Hold (YAML) նշանի օրինակ

yaml legal_hold:
dataset: payments scope: ["txn_id:123", "user:42"]
from: "2025-10-31"
until: "2026-03-31"
reason: "regulatory investigation"

10) Bakaps vs արխիվները vs WORM

Bakaps - կորստի/պոռնկի վերականգնման համար։ կարճ, արագ RTO։

Արխիվները երկարաժամկետ պահեստավորում են ռուսական/վերլուծության, էժան, երկար հասանելիության համար։

WORM-ը անփոփոխ կրողներ են կոմպլենսների համար (ֆինանսներ/հաշվետվություններ); «write-once, read-many»։

Կանոնները

Մի հաշվարկեք բեքապը որպես «դարի արխիվ»։

Վերականգնման փորձերը (DR-օրեր), ժամանակի և ամբողջական զեկույցը։

Beapas-ի կատալոգը, որը ունի ռենտեն, կոդավորումը և բաները առանձին կոդերից։

11) Գաղտնիությունը և անանունացումը

Կեղծանունացում 'PII-ի հետաձգված կապումը կոդավորման աղյուսակի միջոցով (թույլ է տալիս crypto-erasure-ը բանալին)։

Անանունացում 'անդառնալի տեխնոլոգիաներ (k-անունություն, աղմուկ, ընդհանրացում); ստուգեք մեթոդը, ռեդենտգենյան ռիսկը և ժամկետի ժամկետը։

12) Հաշվետվություններ և հաշվետվություններ

Հսկիչ վահանակներ 'ցուցանակների մասնաբաժինը վալիդային ռենտենով, ILM-ի փուլերով, սխալներով։

Ալերտներ 'տաք տիրույթում ծավալի ավելցուկ, «քայքայված» տերմինալներ, որոնք Լեգալ Հոլդն են։

Հաշվետվություններ ՝ ամսական աուդիտ (զանգահարում, միջին ժամկետի, ձախողումների), ծպտյալ շրեդինգի տպագրություն։

13) Ինտեգրումը գործընթացներին 'գեյտեր և հեղափոխություն

Desport-gate: Նոր ամսաթիվը չի անցնում առանց «owner/purpose/retention»։

Releant-gate: 108, որոնք ավելացնում են ռետենշենը առանց սեփականատիրոջ/հիմնավորման, արգելափակվում են։

Cost-gate-ը 'hot/warm-ի ծավալը գերազանցում է բյուջեն, ILM-ի խստացումը։

System-gate-ը 'Logy/Treiss-ի ներառման արգելքը առանց դիմակավորման և TTL-ի։

14) Anti-patterna

«Մենք ամեն ինչ ընդմիշտ ենք պահում, հանկարծ կօգտագործվի»։

Կոշտ կոդավորված TTL-ն քաղաքական ծրագրերում։

PD-ը լոգարաններում և թրեյսներում առանց դիմահարդարման/TTL/2019։

Թերի հեռացում (թողեցին քեշի/MSH/bakas)։

Legal Hold-ի բացակայությունը հետազոտության տակ տվյալների լվացքն է։

Մեկ ընդհանուր բանալին է ամեն ինչի վրա, անհնար է ճշգրիտ «ծպտյալ-ստերեոտլ»։

Զրոյական դիտարկումը. <<հավատում ենք, որ ջնջվել>>, բայց ապացույցներ չկան։

15) Ճարտարապետի չեկի թերթիկը

1. Յուրաքանչյուր ամսաթվի համար կա owner, purpose, classifox, retention, storage tier։

2. ILM/TTL քաղաքականությունները հայտարարված են որպես կոդ և օգտագործվում են ինքնաբերաբար։

3. PD-ն քողարկվում է լոգարաններում/treiss; արգելված են «սպիտակ» հավաքածուներից դուրս։

4. Կան անձնական հեռացման գործընթացներ (SLA, աուդիտ, քվիտանիա)։

5. Crypto-erasure-ը հնարավոր է (108-տենանտ/108-դենսացիա բանալիներ, KFC/rotation)։

6. Բեքապներ ՝ 108, ծածկագրում, վերականգնման թեստեր, առանձին բանալիներ։

7. Legal Hold/eDiscovery-ը աջակցվում է, գերագնահատում TTL-ի վրա, գործողությունների ամսագրերը կատարվում են։

8. Kafka/հերթը ՝ www.rtenshen/compaction/tiering, DLQ-ն ունի առանձին քաղաքականություն։

9. Մեթրիկներն ու ալերտները ռետենշենի և տիրամիի ծավալների պահպանման համար տրամադրված են։

10. RED LC-ում ռևին և խաղացողները արգելափակում են արտեֆակտները առանց ռետենշենի։

16) Մինի բաղադրատոմսեր

16. 1 ClickHouse: «կտրեք պոչը» 180 օրից բարձր

sql
ALTER TABLE events DELETE WHERE event_date < today() - 180;
OPTIMIZE TABLE events FINAL;

16. 2 Redis: TTL и lazy-purge

bash
SET session:123 value EX 3600
CONFIG SET maxmemory-policy allkeys-lru

16. 3 Tail-sampling ուղիների համար

yaml tail_sampling:
policies:
- name: keep-errors-and-slow latency_threshold_ms: 500 status_codes: ["5xx"]
rate_limit_per_min: 5000 default_ttl: "7d"

16. 4 Crypto-erasure (գաղափար)


keys:
dataset: users_pii key_id: kms://pii/users/tenant-42 erase(user_id=42):
rotate_or_destroy (key_id) # inability to restore former purge_indexes blocks ("user _ id = 42")
audit("crypto-erasure", user_id)

Եզրակացություն

Պահեստավորման քաղաքականությունը ձեր տվյալների պլատֆորմի «կմախքն» է, նրանք նկարագրում են, թե որքան են ապրում տվյալների տարբեր դասարաններ, որտեղ նրանք գտնվում են ամեն պահի, ինչպես են էժան ժամանակի ընթացքում, և երբ անհետանում են առանց հետքի 'օրինական, թափանցիկ և ստուգողական։ Դարձրեք վերափոխված քաղաքականություն որպես կոդ, միացրեք ILM-ը անվտանգության և արժեքի հետ, միացրեք դիտողությունն ու խաղացողները, և դուք կստանաք մի համակարգ, որը միաժամանակ արդյունավետ է, կոմպլեկտիվ և պատրաստ է աճի։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։