2000 yılında ilk sürümü ile internette adını duyurmaya başlamış bir veritabanı yönetim sistemi olan SQLite, günümüzde Adobe, Apple, Dropbox, Mozilla, Google, Microsoft gibi birçok kuruluş tarafından aktif olarak yazılım geliştirme ve kullanıcı verisi depolama alanında yaygın bir kullanıma sahiptir ve Python,PHP gibi programlama dilleri de SQLite'ı desteklemektedir. SQLite olabildiğince az yer kaplayan, güvenilir, hızlı, anlaşılması ve kullanılması basit bir sistem olmak üzere geliştirilmiştir ve birçok kullanıcının da bu yöndeki taleplerini karşılamaktadır. Çoğu rakibine göre daha hızlı çalışmasının altında yatan temel etmen ise diğer sistemlerin aksine veritabanını sürekli çalışan bir sunucu üzerinden değil, sistemde kayıtlı bir veritabanı dosyasını modifiye eden bir kütüphane olarak işlemlerini gerçekleştirmesidir.
SQLite'ı özgün kılan özelliklerden en göze çarpanı, daha önce de bahsedildiği gibi,aslında SQLite'ın sadece bir dosya üzerinde işlem yapan temel bir kütüphane olması. Bu özelliği sayesinde işlemlerini yeterince hızlı bir şekilde gerçekleştirmesinin yanında veritabanı yedekleme işlemini de ciddi ölçüde kolaylaştırmaktadır. SQLite birçok sisteme uyarlanabilir, küçük bir kütüphane olması ile de ön plana çıkmaktadır. Bu sayede SQLite ile oluşturulmuş veritabanları SQLite'ı destekleyen bütün platformlarda hiçbir değişiklik gerektirmeden uyarlanabilmektedir. SQLite'ın kendi başına çok küçük bir yer kaplaması(platforma göre 300-400 kilobayt aralığında) da PHP ve Python gibi programlama dillerine yerleşik kütüphane olarak eklenmesine önayak olmaktadır. SQLite, diğer birçok SQL tabanlı veritabanı sisteminin aksine, SQL standardını desteklemektedir. Bu sayede başka bir veritabanı dilinde uzmanlaşmış birisi de SQLite sorgularını rahatça anlayabilmektedir. SQLite mümkün olduğunca temel olması amacıyla tasarlandığı için sadece 5 farklı veri türünü desteklemektedir. MySQL'de 26, Oracle'da 22, PostgreSQL'de 36 adet veri türü desteği olduğunu düşünecek olursak bu adedin birçok uygulama için yeterli gelmeyeceği düşünülebilir ancak, birçok kompleks veri türünü depolamak için SQLite bunları daha basit veri türlerine dönüştüren yardımcı fonksiyonlarla birlikte çalışmaktadır ve bu fonksiyonlar sayesinde bütün diğer veri türleri dinamik bir şekilde SQLite'ın temel tiplerine dönüştürülebilmektedir.
Ancak basit bir düz dosya veritabanı olması yanında bazı dezavantajlar getirmektedir. Bunlardan en önemlisi, SQLite sadece dosya üzerinde işlem yaptığı için, birden fazla farklı kaynağın eşzamanlı olarak veritabanına veri kaydedememesidir. SQLite her ne kadar hızlı olsa da, eşzamanlı dosya yazma engeli büyük sistemler üzerinde uygulanmasını engellemektedir. Başka bir dezavantajı olarak da, basit tasarımından dolayı, veritabanı güvenliği ve SQL standardı dışı özellikleri desteğinin çok kısıtlı olmasını söyleyebiliriz. Bun yüzden SQLite; MySQL, PostgreSQL gibi birçok diğer veritabanı sisteminde mevcut olan çok kullanıcı tarafından kullanım özelliği gibi bazı özellikleri barındırmamaktadır.
Birçok geliştiricinin aklındaki temel soru ise bu veritabanı sistemini nerede kullanmamız veya kullanmamamız gerektiğidir. SQLite yukarıda belirttiğimiz üzere sadece tek bir yazım işlemine izin veren, bu nedenle çok fazla ve eş zamanlı miktarda veri alımı ve yazımı gerektiren uygulamalarda kullanılmaması gereken bir sistemdir. Aynı zamanda, eğer ki verilerinizin birden fazla sunucu ve dosya sistemi üzerinden işlenmesi gerekiyorsa veya sunucular arası iş bölümü gerçekleştirmeniz gerekiyorsa ağ üzerinden dosya yazım ve okuma işlemlerinden herhangi birinde düzeltilemez bir hatanın açığa çıkması olası olduğu için SQLite yerine diğer veritabanı sunucularını kullanmanızı tavsiye ederiz.
Son olarak da SQLite'ın yaygın kullanım alanlarından bahsetmek gerekirse, birçok firmanın ürünlerinde SQLite veritabanları yerel veri depolama çözümleri olarak kullanılmaktadır. Bu kullanıma verilebilecek örneklerin başında Apple, Google ve Microsoft gibi firmaların ürettiği işletim sisteminde kullanıcı ayarlarının ve sistem kayıtlarının SQLite veritabanlarında tutulmasının yer alabilir. Aynı zamanda Firefox ve Google Chrome tarayıcılarında da kullanıcı verileri SQLite veritabanı olarak kullanılmaktadır.
SQLite veritabanı oluşturma ve yönetmeye getirdiği yeni bakış açısıyla yazılım üreticilerinin işini gittikçe kolaylaştıracakmış gibi gözükmekte. Bu yazımda genel olarak SQLite'ı tanıtmaya çalıştım, daha fazla bilgi edinebilmek için kendi internet adresi olan www.sqlite.org'u ziyaret etmenizi öneririm.
Kaynakça: