-
Notifications
You must be signed in to change notification settings - Fork 0
TR Concept 2 Pillar Disaster Recovery
Maruf Çetin edited this page Sep 1, 2026
·
2 revisions
Turkce Dokumantasyon | English Documentation
Kategori: Mimari Kavramlar ve Prensipler
Alt Sistem: Yedekleme ve Bakim Motoru (AmberDB::Tools)
Madde Turu: Mimari Kavram
AmberDB'nin 2-Sutunlu Surekli Kurtarma Mimarisi (2-Pillar Disaster Recovery), gercek zamanli surekli yazma gunlugu (WAL - Write-Ahead Logging) ile tasinabilir, yer tasarruflu ve deterministik veritabani anlik goruntulerini (.amberdb) birlestiren cift katmanli bir veri koruma stratejisidir.
2-Sutunlu Kurtarma Mimarisi Modeli
1. Sutun: Surekli Eklemeli CSV WAL Denetim Akisi
Canli Veri Yazimlari (Insert / Modify / Delete)
backup/YYYY/YYYY-MM-DD.csv (Kronolojik kullanici ve islem gunlugu)
- Sifira yakin veri kaybi riski (RPO ~ 0)
- Degistirilemez denetim izi
2. Sutun: Native Tasinabilir Veritabani Anlik Goruntusu (.amberdb)
$tools->dump() veya Zamanlanmis Cron ile Tetiklenir
backup/YYYY/amberdb_YYYY-MM-DD.amberdb (Gzip tar arsivi)
- Semalari icerir: schema/*.table, schema/*.dbase
- Yetkili ana tablolari icerir: tables/*.db, *.del, *.aut, *.cnt, *.unq
- SHA-256 manifest.json ile kriptografik olarak dogrulanir
- Turetilmis indeksleri (.inx, .fld, .src, .fac, .srt) yer kazanmak icin haric tutar
- Geri yukleme aninda set_index ile tum indeksleri deterministik olarak yeniden insa eder
- Tum yazma islemleri (
insert_id,modify_id,delete_id, toplu listeler) gercek zamanli olarak gunluk dosyaya eklenir:dbstore/backup/YYYY/YYYY-MM-DD.csv. - Her satir su formattadir:
[ZamanDamgasi, IslemTuru (INSERT/MODIFY/DELETE), KullaniciID, TabloID, KayitID, SerilestirilmisVeri ]. - Gecici yuklemelerde
no_backup => 1ile devre disi birakilabilir.
-
Alan Tasarrufu: Ikincil indeksler (
.inx,.src,.fld,.fac,.srt) veritabani boyutunun yaklasik %70'ini kaplar. AmberDB bu turetilmis dosyalari.amberdbpaketine koymaz; dosya boyutunu cok kucuk tutar. -
Deterministik Yeniden Insa:
restore(file => "yedek.amberdb")calistirildiginda motor yetkili dosyalari acar ve tum tablolar icin otomatik olarakset_indexcagirip binary indeksleri diske yeniden yazar. -
Kriptografik Dogrulama: Her arsiv kokunde SHA-256 karmalari barindiran bir
manifest.jsontasir. Bozuk veya tahrif edilmis arsivler geri yuklenmeden once tespit edilir.
use AmberDB;
use AmberDB::Tools;
my $adb = AmberDB->new(path => { dbase_dir => "./dbstore" });
my $tools = AmberDB::Tools->new($adb);
# 1. Sikistirilmis tam veritabani yedek arşivi olusturma
my $arsiv_yolu = $tools->dump();
print "Yedek arsivi olusturuldu: $arsiv_yolu\n";
# 2. Yedegi baska bir sunucuya veya temiz dizine geri yukleme
$tools->restore(
file => $arsiv_yolu,
force => 1, # Mevcut tablolari ezmeye izin ver
reindex => 1 # Tum indeksleri deterministik olarak yeniden uret
);AmberDB — High-Performance Schema-Driven NoSQL Database Engine for Perl.
Copyright 2005-2026 Maruf Cetin. Released under the Artistic License 2.0.
CPAN · GitHub Repository · Issue Tracker
- Berkeley DB (DB_File) Engine
- AmberDB Table Schema
- Global Flags
- Table Schema Flags
- Directory Structure
- File Structure (Extensions)
- Repeat Blocks
- Auto-Increment ID
- ASCII ID
- Relational Records
- Record Anatomy
- JOIN-Free Architecture
- Packed Binary Index
- Strict 2PL Locking
- Undo Journal & Rollback
- Tiered Junk Indexing
- Disjunctive Faceting
- Phonetic Accent Search
- 2-Pillar Disaster Recovery
- RAM-Disk Acceleration
- In-Memory Schema Mutation
- Simple Mode
- new
- config
- set_datadir
- insert_id
- insert_list
- modify_id
- modify_list
- delete_id
- delete_list
- read_id
- read_all
- read_list
- exist_id
- exist_list
- exist_table
- table_count
- table_keys
- table_lastid
- table_attr
- table_create
- field_fetch
- field_filter
- search_table
- facet_menu
- field_fltkeys
- field_allfltkeys
- facet_rules
- slug_read
- slug_fetch
- transact_start
- transact_end
- transact_commit
- transact_rollback
- transact_recover
- flock_open
- flock_close
- cache_setup
- cache_read
- cache_write
- cache_delete
- cache_preload
- cache_ensure
- buffer_write
- buffer_read
- buffer_delete
- recs_scan
- recs_get
- recs_put
- recs_del
- locale_uc
- locale_lc
- locale_sort
- locale_to_ascii
- locale_num2text
- locale_format_currency
- locale_format_date
- array_sort
- array_punch
- array_filter
- array_sublist
- deep_copy
- log_owner
- use_counter
- use_junk
- keep_deleted
- auto_id
- buffer_write
- simple
- no_write
- no_backup
- jnktype
- keys_only
- id_type
- language
- .db · .table · .dbase
- .inx · .fld · .src
- .fac · .srt · .slg
- .unq · .del · .aut
- .cnt · .txn · .amberdb
- .csv · .cache · .tmp