SQL SERVER 2005'TE DOSYA TÜRLERİ (*.MDF, *.NDF, *.LDF) VE DO

Veritabanı deyince yazılımcı tarafında, akla verilerin saklandığı tablolar, görünümler, satırlar, sorguların çekildiği saklı yordamlar, kullanıcı tanımlı fonksiyonlar gibi veriler üzerinde işlem yapılan nesneler gelmektedir. Peki bu nesneler asıl olarak nerede tutuluyor? Yedekleri tutuluyor mu? Büyük işletmeler için verileri nasıl farklı sunucularda tutuabilir? İşte bu makalede, verilerin tutulduğu dosyalar, dosyaların türleri, saklanma biçimleri hakkında inceleme yapacağız.

İnceleyeceğimzi başlıklar şu şekildedir;      

  • Primary Data Files
  • Secondary Data Files
  • File Groups
  • Transaction Logs

Veri dosyalarından başlayarak sırasıyla bu başlıklar üzerinde ilerleyerek örnek uygulamalarla bu konuları pekiştirelim.

Veri Dosyaları (Data Files)

Veri dosyaları (data files), veritabanındaki verilerin fiziksel olarak saklandıkları dosyalardır.

SQL Server içinde iki tür dosya türü vardır:

  • primary data file (birincil veri dosyası)
  • secondary data file (ikincil veri dosyası)

 

Yeni bir veritabanı oluşturduğumuz zaman, bütün bilgileri içermek için, tek bir primary (birincil) veri dosyası oluşur. Bu birincil dosya (primary file), mantıksal olarak birincil dosya (primary filegroup) grubundadır. Primary filegroup (birincil dosya grubu) otomatik olarak oluşturulur ve veritabanları için varsayılan değer olarak ayarlanır. Veri dosyaları yalnızca tek bir dosya grubuna (file group) dahildirler. Herbir veritabanı varsayılan değer olarak, veri dosyalarını içeren primary filegroup'a sahiptir.

Birincil Veri Dosyaları (Primary Data File)

Birincil veri dosyaları (primary datafiles), varsayılan değer olarak *.mdf uzantılı olarak verileri saklarlar. Bu uzantı kullanılmayabillir. Ancak fiziksel disk üzerinde, dosyanın anlanması açısından kullanılması tavsiye edilir.  

Şimdi veri dosyaları için örnek bir uygulama yapalım.

1.Örnek Uygulama

SQL Server 2005'te yeni bir veritabanı oluşturalım. Management Studio'da Databases üzerinde sağ tıklayarak New Database seçeneği ile yeni bir veritabanı oluşturalım. Oluşturduğumuz veritabanı üzerinde sağ tuş yapıp Properties sekmesine tıklayalım.


1.Şekil : Veritabanı özellikleri.

Gelen veritabanı özellikleri ileti kutusunun, ikinci sekmesi olan Files sekmesine gelelim. Bu seçenek aracılığı ile, oluşturduğumuz veritabanı verilerinin fiziksel olarak nerede ve ne kadar boyutta tutulacağı gibi bilgilerini ayarlayabiliriz.


2.Şekil : Veri Dosyası (Data Files) ayarları.

Logical Name: Veri dosya birincil dosyasına (data file) verilen isimdir. Kendi varsayılan uzantısı *.mdf'dir.
File Type: Dosya tür özelliği Data ve Log seçeneklerini alabilir. Veri dosyasımı, log'lama dosyası mı olacağını belirleyeceğimiz seçenektir.
Filegroup : Bu seçenek aracılığı ile dosya grubunu (file group) belirliyoruz. Dosya grubunu Primary filegroup olarak atıyoruz. Primary seçeneği; birincil dosya grubunu (primary filegroups) belirtir. Herhangi bir dosya grubu (file groups) belirtilmemişse, varsayılan değer olarak Primary seçili ayar olarak gelir. Primary filegroup, birincil veri dosyalarını içerir.
Initial size(MB): Boyutunun baslangıç olarak kaç MB'tan baslayacağını belirtiyoruz.

Autogrowth: Veri dosyasının (data file) otomatik olarak büyüyeceğini belirtiyoruz.

File Growth: Megabayt megabayt'mi (in megabytes) yoksa, belirli bir yüzde (by percent) ile mi büyüyecegini belirtiyoruz.
-In megabayts: Veri (data file) dosyasi için, daha fazla alan gerektiğinde, burada belirlediğimiz rakam boyutunda büyüme gerçekleşecektir. Varsayılan değer olarak 1 MB gelmektedir. Bunun anlamı, ilk etapta Initial size'da belirlediğimiz alan biterse, SQL Server veri dosyasını (data file) otomatik olarak 1 MB büyütecektir. Aynı şekilde, büyüme işlemi gerçekleşip, tekrar veri dosyası (data file) için alan gerekirse, otomatik olarak 1 MB büyüme gerçekleşecektir.

-In percent: Veri dosyası (data file) için, daha fazla alan gerektiğinde, burada belirlediğimiz rakam boyutunda yüzde olarak büyüme gerçekleşecektir. Varsayılan deger olarak %10 gelmektedir. Bunun anlamı, ilk etapta Initial size'da belirlediğimiz alan biterse, SQL Server veri dosyasını (data file) otomatik olarak kendi boyutunun %10' u kadar büyütecektir. Aynı şekilde, büyüme islemi gerçekleşip, tekrar veri dosyası (data file) için alan gerekirse, otomatik olarak %10 büyüme gerçekleşecektir.

Maximum file size: Büyümeyi sınırlamak için kullandığımız ayardır.
-Unrestricted file growth: Büyümeyi sınırlandırmamak için kullandığımız ayar. Herhangi bir boyut değeri belirtilmezse, dosya disk dolana kadar büyür.
-Restrict file growth (MB): Veri dosyamizin (data file) boyutu burada belirlediğimiz boyuta ulastığında, büyüme işlemi gerçekleşmeyecektir. Veri dosyasının (data file) boyutunu burada değer ile sınırlandırmış oluruz. Varsayılan değer olarak 2 MB gelir.
Path: Veri dosyasını (data file) nerede saklayacağımızı bu seçenek ile belirtebiliriz. Varsayılan değer olarak, SQL Server'in kurulduğu sunucu üzerinde bir klasör belirlenir.

FileName:
Birincil veri dosyasını (primary data file) oluşturduktan sonra, gidip oluşturduğumuz alana bakarsak, verdigimizDosyaAdi_Data.MDF isimli bir veri dosyasıyla (data file) karşılaşırız.


İkincil Veri Dosyaları (Secondary Data File)

Herhangi bir RAID sistemi kullanılmadığında, veri dosyalarını farklı fiziksel diskler üzerine nasıl yerleştireceğiz? Bu sorunun cevabını bize, ikincil veri dosyaları (secondary file) veriyor. Veritabanı dosyalarının boyutunu genişletmek için, ikincil veri dosyaları (secondary data file) oluşturulur.

2.Örnek Uygulama

1. örnekte olduğu gibi bir veritabanı oluşturmaya başlayalım.
Veritabanı oluştururken, ekrana gelen veritabanı özellikleri ileti kutusunun ikinci sekmesinden ikincil veri dosyası (secondary data file) özelliklerini ayarlayabiliriz.

İkincil dosyalarımızı istediğimiz dizin üzerine yerleştiriyoruz. Varsayılan değer olarak veritabanı dosyasının (data files) bulunduğu dizinde bulunmaktadır. Oluşturduktan sonra dizine bakarsak .ndf dosyasının oluşmuş olduğunu göreceğiz.

Bu uzantıları silebilirsiniz, ancak dosyanın anlamdırılabilmesi açısından, silinmemesi tavsiye edilir.

Veritabanı Boyutu

Bir veritabanı oluşturulduğunda, model veritabanının kopyası şeklinde oluşur. Böylece, veritabanının sistem tabloları ve sistem saklı yordamlarını içerdiğini görürüz. Oluşturduğumuz veritabanının boyutu, model veritabanının boyutuna eşit veya daha büyük olur. Bu durumun yanında, veritabanını kullanacağımız verilerin çokluğu/azlığı, verilere erişimin yoğunluğu gibi durumları göz önünde tutarak, birincil ve ikincil veri dosyaları oluşturmalıyız. Varsayılan değerlerle hareket etmek, performans kaybına sebep olabilir. İhtiyaçlara cevap verecek şekilde, veritabanı özelliklerini konfigüre etmemiz gerekir.

DOSYA GRUPLARI (FILEGROUPS)

Dosya grupları (Filegroups), karşılıklı birçok fiziksel dosya üzerinde dağıtık olan üniteler, içinde veri dosyalarını kategoriler veya gruplandırır. Bu özellik sayesinde, bizim için özel olan text, ntext ve image türü verileri, belirlediğimiz özel dosya grublarında saklayabiliriz. Veritabanı nesnelerini veya veri türlerini, örneğin text'i filegroup'a atadığımızda, veriler dosya grubu (filegroup) içinde atadığımız, veri dosyaları içindeki kullanılabilir alanda saklanacaktır. Veritabanı kaynaklarını karşılıklı birçok sürücüye dağıtmak sayesinde, veritabanı performansı artacaktır.

Örneğin; iki tane çok kullanılan veritabanını farklı fiziksel disklere yerleştirmek suretiyle, cevap verme süresini kısaltmış oluruz. Bu durumu sağlamak için, iki tane filegroup (dosya grubu) oluşturulmalı, ve iki tane farklı fiziksel disklerde olan veri dosyaları oluşturulmalı. Her bir veri dosyasını farklı filegroup'a (dosya grubuna) atamalıyız.   

SQL Server 2005 varsayılan değer olarak bir tane dosya grubu (filegroup) içerir. Bunun yanı sıra, kullanıcıya kendi ihtiyaçları doğrultusunda dosya grupları (file groups) eklemeye izin verir. SQL Server 2005 içinde iki temel dosya grubu (filegroups) vardır:

- Birincil dosya grubu (primary (default) filegroups)
- Kullanıcı tanımlı dosya grubları ( user defined filegroups)

Birincil dosya grubu (primary filegroups) her veritabanının içinde oluşturulur. Birincil dosya grubu (primary filegroup), her zaman için, birincil veri dosyalarını (primary data file) içerir. Bunun yanı sıra, kullanıcı tanımlı dosya grubları (user defined filegroups) üzerinde özellikle oluşturulmamış, başka bir ifadeyle başka bir dosya grubuna (filegroup) dahil olmayan dosyaları kapsar.

Not: Transaction log (işlem günlüğü) dosyaları herhangi bir dosya grubu (filegroup) dahilinde değildir. Log alanı, veri alanından ayrı olarak yönetilir.

Dosya Grupları (Filegroups) ile Veri Dosyalarının (Data File) Karşılaştırması:

Dosya grupları (file groups) ile veri dosyalarını (data files) karşılaştıracak olursak; dosya grupları (filegroups) veri tabanı nesnelerinin mantıksal gruplanmasını gösterir. Veri dosyaları ise (data files) fiziksel olarak saklanan dosyanın göstergesidir.

3.Örnek Uygulama

Kullanıcı tanımlı dosya grupları (user defined file groups) oluşturmak SQL Server 2005 Management Studio üzerinden mümkün. Örneğimizi uygulamak için, Enterprice Manager'i açalım.

Önceki örnekte oluşturduğumuz Teknoritma isimli veritabanı üzerinde sağ tıklayarak, özelliklerini açalım.

Özelliklerden Files sekmesine gelelim.

Burada dikkat edersek, yeni bir veri dosyası (data file) oluşturmak istediğimizde, yine dosya grubu (file group) olarak sadece Primary var. Varsayılan değer olarak birincil file grup (primary file groups) geliyor. Peki kendimiz nasıl file grup oluşturacak (user define filegroups) ve kullanacağız?

Bulunduğumuz özellikler penceresinden, Filegroups sekmesine gelelim.


8.Şekil : FileGroups sekmesinden yeni dosya grubu oluşturma.

Bu sekmeden kendimiz bir isim (BenimDosyaGrubum) vermek suretiyle yeni bir dosya grubu (file groups) oluşturalım.

Tamam dedikten sonra, tekrar Files sekmesine geçerek, ikincil veri dosyası (secondary data file) oluşturalım.


9.Şekil : Oluşturulan dosya grubunun (file groups) kullanımı.

Bu sefer filegroup seçeneklerinde, sadece primary seçeneğinin değilde, Filegroups sekmesi aracılığı ile oluşturduğumuz BenimDosyaGrubum isimli dosya grubu var.

Bu şekilde veri dosyalarına (data file) farklı dosya grubları atamış olduk.

Dosya Gruplarında (Filegroups) Dikkat Edilmesi Gereken Hususlar
  • Birinci veri dosyası (primary data file) birinci dosya grubu (primary filegroup) üzerinde yerleşmiş olmalı.
  • Bütün sistem dosyaları birincil dosya grubu (primary filegroup) üzerinde yerleşmeli.
  • Herhangi bir dosya, birden fazla dosya grubuna (filegroup) aynı anda üye olamaz.
  • Dizinler (indexes), tablolar (tables), text, ntext ve image verileri dosya grupları (filegroups) üzerinde tutulmazlar.
  • Dosya gruplarında (file group) boyutlandırma çok kritik bir durumdur. Geçerli dosya grubu (file group) bütün tabloları ve sistem dosyalarını tutacağından dolayı, hepsini tutabilecek kapasitede olmalıdır. Yeterli alana sahip olmayan bir dosya grubu (file group), veri tabanına yeni bilgi eklenememesine sebep olur. Otomatik büyüme seçeneği işaretlenmemişse, belirli bir süre sonra, dosya grubu (file group) dolar. Bu durum kullanımı etkilediği için, otomatik büyüme seçeneğinin işaretli olması tavsiye edilir.
Dosya Grupların (File Groups) Faydaları

Dosya grubları (file group) kullanmak ileri seviyede veritabanı tasarlama yöntemidir. Küçük ölçekli veritabanları için değil de, geniş çaplı bir veri tabanı üzerinde uygulandığında, herhangi bir yedekleme ve geri yükleme (restore) işlemlerinde performansa katkısı oldukça fazladır. Bunun en küçük örneği, veritabanının tamamını yedeklemek veya geri yüklemek yerine, dosya grupları (file groups) ve veri dosyaları (data files) yedeklenir. Bu sayede performans sağlanır. Dosya gruplarını (file group) yönetmek için, veritabanını, içerdiği veri türlerini, içerdiği veriyi, kullanılan sorguları çok iyi kavramak gerekmektedir. Performansı arttırmasıyla birlikte, konfigüre edilmesi noktasında veritabanı yöneticisine çok işler düşmektedir.

TRANSACTION LOG (İŞLEM GÜNLÜĞÜ) DOSYASI

Veritabanlarını bilgilerimizi saklamak için kullanırız. Bu saklama işlemini gerçekleştirirken hem yerden kazanmak isteriz, hem verilerimizi güvenli şekilde elde tutmak isteriz. Bunun yanı sıra, en optimum ayarları elde etmemiz gerekir ki, performanstan kazanç sağlayalım.

Bilgilerimizi saklarken veritabanı nesnelerini ve transaction log (işlem günlüğü) dosyalarını kullanırız. Herbir veritabanı bir tane veri dosyası ve log (günlük) dosyası içerir. Log (günlük) kayıtları her bir transaction'da (işlemde) başlar. Log (günlük) dosyası, veritabanında meydana gelen değişiklikleri tutan transaction log (işlem günlüğü) dosyasını içerir. Transaction log (işlem günlüğü) dosyaları, SQL Server 2005 içinde, veritabanında meydana gelen bütün değişiklikleri, veritabanı için ayrılmış olan alanda saklar. Bütün düzeltme işlemleri, veritabanına yazılmadan önce, transaction log (işlem günlüğü) dosyalarına yazılır. Transaction log (işlem günlüğü) dosyaları veritabanı aktivitelerini devamlı olarak kaydeder. Bu sayede, veritabanın verilerimizi kayıp etmemize sebep olacak bir durum gerçekleştiğinde, bu dosyaları veritabanı kurtarma işlemlerinde kullanabiliriz.

Veritabanı Dosyaları

Elimizdeki bilgileri, veritabanlarına ve bunun akabinde veritabanlarını sakladığımız yer olan dijital dünyaya emanet etmiş oluruz. Dijital ortamda saklanması açısından, verilerin başına her an herhangi bir sorun gelebilmesi sebebiyle, veri kaybına sebep olabilecek bir şeyler olabillir. İşte tam bu noktada transaction log (işlem günlüğü) dosyaları, veritabanını geri yüklemek için gerekli bütün bilgileri tutmasıyla, önemini bize hissettiriyor.

Transaction log (işlem günlüğü) dosyaları veri dosyaları gibi sayfalar içermezler. Bunun yerine, günlük kayıtlar gibi, kayıt bilgilerini tutarlar. Varsayılan değer olarak, log (günlük) dosyalarının uzantıları: *.ldf'dir. Veri dosyalarında olduğu gibi .ldf uzantısı gerekmeyebilir. Fakat log (günlük) dosyasının tanımlanması açısından kullanılması tavsiye edilir. Log (günlük) dosyaları varsayılan değer olarak otomatik büyümesi %10 olarak ayarlıdır. Veri dosyalarında olduğu gibi, bu ölçüm ihtiyaca ve isteğe göre ayarlanabilir.

Bir veritabanı oluşturduğumuzda verilerin nasıl ve nereye saklanacağı hakkında bilgimiz olması gerekir. Bunun için de gerekli olan bellek miktarı belirlenmesi gerekir. Bu belirleme işlemlerini SQL Server Management Studio 2005 aracılığı ile yapabiliriz.

4.Örnek Uygulama:

Veritabanının ismini, veritabanı dosyalarınn yerini ve boyutunu belirtme suretiyle bir veritabanı oluştururuz. Yeni bir veritabanı oluşturduğumuz dikkat edersek, içerisinde belirli tablolar ve saklı yordamlarla beraber oluşur. Bu tablo ve saklı yordamlar, oluşturulan veritabanı model veritabanının bir kopyası olarak oluşturulduğu için gelmektedir.

Bunun yanı sıra, bir veritabanı oluşturmak, o veritabanı için ayrıca bir transaction log (işlem günlüğü) dosyası oluşturmak demektir. Transaction log (işlem günlüğü) dosyası bir tablo değildir. Veritabanı içinde ayrı olarak işlem gören bir dosyadır.

Şimdi Microsoft SQL Server Management Studio üzerinde bir veritabanı oluşturalım ve transaction log (işlem günlüğü) dosyasının özelliklerini belirleyelim.

Oluşturduğumuz veritabanının özellikler penceresinde ikinci sekmesi Files sekmesidir. Bu sekme sayesinde veritabanı için tutulan transaction log (işlem günlüğü) dosyasının özellikleri, isteğimize ve ihtiyacımıza göre ayarlayabiliyoruz. Oluşturduğumuz dosyanın FileType'ını Log seçerek Log dosyası oluşturabiliriz.




10.Şekil : Transaction Log (İşlem Günlüğü) dosyası ayarları.

Şimdi buradaki özellikleri teker teker inceleyelim:

Logical Name: Transaction Log (İşlem günlüğü) dosyamıza bir isim veriyoruz. Kendi varsayılan uzantısı *.ldf'dir.
File Type: İşlem günlüğü dosyalarının dosya tür özelliği Log'dur.
FileGroup: İşlem günlüğü dosyaları herhangi bir dosya grubuna atanamaz.
Initial size(MB): Boyutunun başlangıç olarak kaç MB'tan başlayacağını belirtiyoruz. En az değer 1 MB'tır. (Ben buraya 0 değerini girmeye çalıştım. Kendisi otomatik olarak 1 Mb olarak değiştiriyor.)
Autogrowth: Transaction log (işlem günlüğü) dosyasının otomatik olarak büyüyeceğini belirtiyoruz.

File Growth: Megabayt megabayt'mı (in megabytes) yoksa, belirli bir yüzde (by percent) ile mi büyüyeceğini belirtiyoruz.

Not: Transaction log (işlem günlüğü) yeterli alana sahip değilse, SQL Server işlemleri kaydetmez ve veritabanında değişiklik yapılmasına izin vermez.

-In megabayts: Transaction log (işlem günlüğü) dosyası için, daha fazla alan gerektiğinde, burada belirlediğimiz rakam boyutunda büyüme gerçekleşecektir. Varsayılan değer olarak 1 MB gelmektedir. Bunun anlamı, ilk etapta Initial size'da belirlediğimiz alan biterse, SQL Server transaction log (işlem günlüğü) dosyasını otomatik olarak 1 MB büyütecektir. Aynı şekilde, büyüme işlemi gerçekleşip, tekrar transaction log (işlem günlüğü) dosyası için alan gerekirse, otomatik olarak 1 MB büyüme gerçekleşecektir.
-In percent: Transaction log (işlem günlüğü) dosyası için, daha fazla alan gerektiğinde, burada belirlediğimiz rakam boyutunda yüzde olarak büyüme gerçekleşecektir. Varsayılan değer olarak %10 gelmektedir. Bunun anlamı, ilk etapta Initial size'da belirlediğimiz alan biterse, SQL Server transaction log (işlem günlüğü) dosyasını otomatik olarak kendi boyutunun %10'u kadar büyütecektir. Aynı şekilde, büyüme işlemi gerçekleşip, tekrar transaction log (işlem günlüğü) dosyası için alan gerekirse, otomatik olarak %10 büyüme gerçekleşecektir.

Maximum file size: Büyümeyi sınırlamak için kullandığımız ayardır.
-Unrestricted file growth: Büyümeyi sınırlandırmamak için kullandığımız ayar. Herhangi bir boyut değeri belirtilmezse, dosya disk dolana kadar büyür.
-Restrict file growth (MB): Transaction log (işlem günlüğü) dosyamızın boyutu burada belirlediğimiz boyuta ulaştığında, büyüme işlemi gerçekleşmeyecektir. Transaction log (işlem günlüğü) dosyasının boyutunu burada değer ile sınırlandırmış oluruz. Varsayılan değer olarak 2 MB gelir.

Path: Transaction log (işlem günlüğü) dosyasını nerede saklayacağını belirtiyoruz. Varsayılan değer olarak, SQL Server'in kuruldugu server üzerinde bir klasör belirler.

FileName: İşlem günlüğü dosyasına verdiğimiz isimdir ve uzantısını göstermektedir.

Transaction log dosyasını oluşturduktan sonra, gidip oluşturduğumuz alan bakarsak, verdigimizDosyaAdi_Log.ldf isimli bir transaction log (işlem günlüğü) dosyasıyla karşılaşırız.


11.Şekil : Transaction Log (İşlem Günlüğü) dosyasının oluşması.

Not: SQL Server'da veritabanlarını taşımak için *.mdf (veri dosyaları) ve *.ldf (log -günlük- dosyalarını) taşımak yeterlidir. Taşıdığın yerden Attach Database diyerek veritabanı sunucuya eklenebilir.

Transaction Log (İşlem Günlüğü) Mimarisi

SQL Server 2005 her bir fiziksel transaction log (işlem günlüğü) için bir çok sanal dosya tutar. Bu sanal dosyaların sayısı ve boyutu SQL Server 2005 tarafından dinamik olarak belirlenir. SQL Server 2005, bu sanal dosyaların sayısını, veritabanı kurtarma (recovery) işleminde verim sağlamak amacıyla, en az sayıda tutmaya çalışır. Herbir sanal dosya yavaşmaya sebep olur. Log (günlük) dosyası oluşturduğumuzda, otomatik büyüme ayarı varsayılan olarak gelir.

Not: Herbir veritabanı dosyası, yalnızca tek veritabanı tarafından kullanılır.

Herhangi bir güncelleme (update), ekleme (insert), silme (delete), tablo oluşturma ve silme, dizin (index) oluşturma ve silme, sistem tablolarında değişiklik meydana geldiğinde, DDL durumunda işlem günlüklerinde tutulur.

Transaction log dosyalarının yaptığı işlem, veritabanında meydana gelen değişiklikleri kayıt ekmektir. Bu suretle veritabanında ne gibi değişiklikler olduğunu kontrol edebiliyor olacağız.

SONUÇ

Oluşturulan veritabanı (bütün veritabanları) birincil dosya (primary file) ve transaction log (işlem günlüğü) dosyalarına sahiptir. Bunun yanı sıra, veritabanı ikincil dosyaya da (secondary file) sahip olabilir. Dosya uzantıları aşağıdaki gibidir:

 *.mdf: primary (birincil) dosya uzantısı
 *.ndf: secondary (ikincil) dosya uzantısı
 *.ldf: transaction log (işlem günlüğü) dosya uzantısı.

Dosya grupları oluşturarak, veritabanı nesnelerinin mantıksal gruplanmasını sağlayabiliriz.

Veritabanı dosyalarının yönetimi ve düzenlenmesi verilerimizin saklanış şeklini belirler. Bunun yanı sıra, verilerimizin güvenliği açısından yapılandırma şekli önem arzetmektedir.

Yorum Yaz
Arkadaşların Burada !
Arkadaşların Burada !