-
Notifications
You must be signed in to change notification settings - Fork 0
TR Concept In Memory Schema Mutation
Turkce Dokumantasyon | English Documentation
Kategori: Mimari Kavramlar ve Prensipler
Alt Sistem: Sema Motoru (AmberDB::Base)
Madde Turu: Mimari Kavram
Gocsuz Bellek Ici Dinamik Sema Mutasyonu (In-Memory Schema Mutation), AmberDB'nin calisma zamaninda table_attr() metodu uzerinden tablo sema kurallarini, indeks hedeflerini, dogrulama kurallarini ve depolama yollarini anlik olarak degistirebilme yetenegidir.
Geleneksel veritabanlarinda tabloya yeni bir alan veya indeks eklemek; agir ALTER TABLE DDL komutlari calistirmayi, tablolari kilitmeyi ve goc (migration) betikleri yurutmeyi gerektirir. AmberDB'de ise kayitlar dogal olarak esnek bloklardan olustugu icin sema degisiklikleri diskteki dosyaya dokunmadan bellek icinde aninda gerceklestirilir.
Calisma Zamaninda Dinamik Sema Yonetimi
Fiziksel Sema Dosyasi (schema/catalog_product.table)
Baslangicta belleğe yuklenir
Bellek Ici Tablo Sema Hash'i
Calisma Zamani Mutasyonu: $adb->table_attr("catalog_product", ...)
Anlik Olarak Guncellenen Ozellikler (O Surec Icin Gecerli Olur):
- keep_deleted => 1 (Yumusak silme cop kutusunu aktif et)
- search_block => [1, 4, 9 ] (9. blogu da tam metin aramaya dahil et)
- use_cache => 2 (Kati RAM-disk yansitmasini ac)
- path => "/ozel/depolama/yolu" (Dosya yollarini otomatik yeniler)
table_attr() ile year, section veya language gibi yonlendirme alanlari degistirildiginde, AmberDB arka planda tum fiziksel dosya yollarini (.db, .inx, .src, .fld, .fac) guvenli bir sekilde otomatik olarak yeniden hesaplar.
# 1. Mevcut bir sema ozelligini sorgulama
my $id_tipi = $adb->table_attr("catalog_product", "id_type");
# 2. Calisma aninda yumusak silmeyi acip arama bloklarini genisletme
$adb->table_attr("catalog_product", {
keep_deleted => 1,
search_block => [1, 4, 8 ],
use_cache => 0,
});
# 3. Artik delete_id() kaydi tamamen yok etmez, .del cop kutusuna tasir
$adb->delete_id("catalog_product", 101);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