@Salih Dincer
Hocam merak etme sebebim su mesela
Verilerin fiziksel saklandığı yerleri bilirsek, fiziksel olarak saklanan dosyaları görüntüleyebilirsek içerisindeki kuralları görmüş olacağız
Smarty Engine denen sistem vardır PHP'de
Burada da aynı Template sistemi olabilir.
Örnek kurallı yapıdan bahsedecek olursak
/usr/bin/ddiliveritabani/veriler
dizininde veritabanındaki bilgilerin fiziksel halleri saklanıyor
ornek_veritabani.ddx
uzantisinda saklantidigi dusunelim ve bu dosyanin kurallarini belirtelim
icerik olarak
ornek_veritabani.ddx fiziksel dosyanın kural ifadeleri
$[]veritabani_adi->ornek_veritabani;
$[]veritabani_tablosu->ornek_veritabani->forum;
$[]veritabani_bilgileri->ornek_veritabani->forum->bilgiler;
gibi kurallı bi yapı olsa ve bu yapıların bağıntısı da
$[]veritabani_adi->ornek_veritabani;
$[]veritabani_tablosu->ornek_veritabani->forum;
$[]veritabani_bilgileri->ornek_veritabani->forum->bilgiler;
$->isle->ornek_veritabani_islem.ddx;
olsa ve isle'nin gosterdigi dosyaya mi islenecek bu bilgiler. Peki bu bilgiler biriktikte bu dosyanin boyutu artmiyor mu? Merak ettigim bir diger nokta da bu
Tabii bu yukaridaki verdigim sahte kodlar, ornegin bizim yazdigimiz veritabani sisteminin ornek olarak "Kanuni Veritabani Sistemi" olsun çalışma parametreleri olabilir. Yani standart olarak bu kodlar işletim sisteminde çalışan kodlar değiller. Ancak ilişkisi "Kanuni Veritabani Sistemi" çalışınca bir işe yarar.
@huseyin325325
hocam, aslında asıl merak ettiğim nokta bu veriler bir dosya içinde ne şekilde sıkıştırılıyor.
Serialization bana da mantıklı geliyor. Örneğin bir obje düşünün bu obje kullanılarak diğer bütün objelerin ilişkileri çözülür ve belirtilmiş olan kaynağa bu özellikler yaptırılır. Bu objenin hayata geçirilme evresi de bu işlemin tam tersi ile mümkündür.
Serialization olayının diğer yandan runtime esnasında bu işlemlere imkan tanıması da veritabanı çalışma prensibini açıklıyor sanırım. .NET için bu olaylar binary formatter ya da xml formatter olarak halledilir. Ama bahsedilen bi veritabanı sistemi olunca işin xml ile saklanacak basitlikte olduğunu sanmıyorum :)
Ama serialize işleminin konuda geçmesinden konudaki bir soruya cevap aldım onu da söyleyeyim
Serialize işleminin faydası daha da açıkca söylenecek olursa;
Bir obje'nin daha sonra da kullanılabilir olmasını sağlıyor. Yani biz ilk işlemde "Serialize" yöntemini kullandık. Tekrar kullanılabilir olması karşı tarafa aktarılabilmesi ve mevcut döngünün sürdürülebilmesi adına da deserialize işlemi gerekmekte sanırım.
Kafam karisti ama bilgim de cok fazla degil :)
Yine de cevaplar bilgilendirici oldu :)
Edit ://
Saklanma hakkında Windows'a kurdugum wamp ile bilgi aldım. C# ile işletim sisteminde anlık olarak yaratılan klasör ve dosyaların bilgisini aldım
Benim sistemimde
C:\wamp\bin\mysql\mysql5.5.24\data\ VERİTABANIADI yani
C:\wamp\bin\mysql\mysql5.5.24\data\agora
içine bakınca da
db.opt diye bi dosya oluştuğunu gördüm
default-character-set=utf8
default-collation=utf8_general_ci
tablolar vs. oluşturunca da
.frm
myd
myi
uzantısında dosyalar oluştuğunu gördüm
Yani ali hocamın bana gösterdiği yol aslında verilerin saklandığı fiziksel yolmuş.
Bu tip saklanma şekli de bize bir fikir olabilir
Linux altında
cd /var/lib/mysql
yazıp **ls -li **
ile listeletebilirsiniz.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]