Kendi Veritabanımızı Oluşturmak İçin KSQL
Tarih: Ağustos 19th, 2009 | Yazar: Ertuğrul Erkan | Kategori: Php | Etiketler: ksql, msqyl, php ile veritabanı, veritabanı, veritabanı sınıfı | 1 Yorum »Vertiabanı sınıflarının bir önbellek kısmı olur. Burada verilerin defalarca MySQL çekilip, performans kaybı yerine, txt dosyalarına saklayarak tasarruf yapan teknikler vardır. KSQL ise önbellek yerine tamamen txt ve klasör mantığı ile çalışan bir çeşit veritabanı sınıfı.
Bazı hostlar Sql desteği vermiyorlar. Bu yüzden veritabanı bağlantısı kuramıyor, devamlı Xml gibi dosyalar ile uğraşmak zorunda kalınıyor. Bunun üzerine KSQL fikri ortaya çıktı. Aslında sınıfın SQL kodları ile alakası bile yok, sadece klasörler ve txt dosyaları ile veritabanı oluşturabiliyoruz…
Kodları;
<?
class ksql {
function ksql() {
if(!is_dir("ksql")) {
$ac = mkdir("ksql","0777");
}
}
function kur($db,$sut) {
$tdb = "ksql/".$db."/";
if(!is_dir("ksql/".$db)) {
$ac = mkdir("ksql/".$db,"0777");
}
foreach($sut as $ad ) {
if(!is_file($tdb.$ad.".txt")) {
$fp = fopen($tdb.$ad.".txt","a+");
}
}
}
function baglan($db) {
$this->db = "ksql/".$db."/";
}
function veri_ekle($sut,$veri) {
$fp = fopen($this->db.$sut.".txt","a+");
fwrite($fp,",".$veri);
}
function oku($sut) {
$dosya = $this->db.$sut.".txt";
$fp = fopen($dosya,"r");
$veriler = fread($fp,filesize($dosya)+1);
return array_splice(explode(",",$veriler),1);
}
}
?>
Siz sınıfı çağırdığınız anda ksql isimli bir klasör aranıyor; bulamazsa tekrar açıyor. Veritabanınızı kendiniz bilgiler vererek kuruyorsunuz. “Kur” isimli fonksiyon çağırıldığında sizden iki parametre istiyor. Bunlardan birisi açılacak veritabanın adı, diğeri ise dizi halde verilen sütunların ismi. Dizi halde olduğu için istediğiniz kadar sütun tanımlayabilirsiniz.
Veritabanınız tamamen kurulduğu zaman “Bağlan” isimli fonksiyon çağrılabilir. Bunun için ise veritabanı adı verilmesi yeterli. Bu sayede klasör şeklindeki veritabanı açılıp, içindeki sütunlar yani txt dosyaları çekiliyor. Bundan sonra isterseniz veri ekleyebilirsiniz. Bu işlem içinde iki parametre var; sütun adı ve eklenecek veri. Bu sayede txt dosyası çekiliyor ve içerideki verilere yenisi eklenip kapanıyor.
Son olarak veri okuma işlemi. Sütunlarımız yani txt dosyalarında veriler “,ver1,veri2,veri3,verin” şeklinde saklanıyor. Siz verileri çekmek için sütun adını verdiğiniz anda dosya açılıyor ve veriler parçalanıp dizi halinde geri yollanıyor. Kısaca oldukça basit ama kullanışlı bir veritabanı uygulaması KSQL..
Mysql, Mssql gibi veritabanlarının açıklarının hiçbirini bulundurmaz ( o kadar profesyonel değil çünkü ). Veriler eklenip, kapanır. CHMOD ayarlarında bir sorun olmaz ise hack açığı da yoktur. Denemelerime göre küçük çaplı işlemlerde Mysql’ den daha çok performans sağlıyor..
Herkese iyi günler…
Benzer Yazılar;
- Php de Özel Mesaj Sistemi Mantığı Nedir?
- AS3 - Adobe Air ve Veritabanı Sınıfı
- Php ile Verileri Sayfalayalım

Süper birşey tabi sql desteği vermeyen sunucular için.Gerçekden mysqlden yüksek performans veriyorsa bunu geliştirip ve güzel bir arayüz giydirip bir boşluğu doldurabilirsin.