SQLite
- Okunuşu
- es-kyu-layt
Kısaca
SQLite, uygulamanızın içinde çalışan ve bütün bir veritabanını tek bir dosyada saklayan küçük bir SQL veritabanı motorudur; yönetilecek ayrı sunucu yoktur.
SQLite nedir?
SQLite, 2000'de D. Richard Hipp tarafından geliştirildi ve kamu malıdır (public domain); yani herkes onu her amaçla kullanabilir. PostgreSQL ya da MySQL'in aksine, uygulamaların ağ üzerinden bağlandığı bir sunucu değildir. Programın kendisine bağlanan bir kütüphanedir; bütün veritabanı, tüm tablo ve indeksleriyle birlikte diskteki sıradan tek bir dosyada durur.
Boyutuna rağmen gerçek bir ilişkisel veritabanıdır: SQL'in büyük bölümünü anlar, ACID kurallarına uyan transaction'ları destekler, çökmelere ve elektrik kesintilerine veri bozulmadan dayanır. Yapılandırılacak hiçbir şey olmadığı için bir veritabanını açmak bir dosyayı açmak kadar basittir.
SQLite muhtemelen dünyada en yaygın kullanılan veritabanıdır. Her Android ve iOS cihazında, web tarayıcılarında, masaüstü uygulamalarında ve sayısız gömülü sistemde bulunur; buralarda ayarları, önbellekleri ve uygulama verilerini saklar. Prototipler, testler, küçük web siteleri ve veri analizi için de harika bir seçimdir; bazı servisler artık onu replikasyon araçlarıyla canlı ortamda bile çalıştırıyor.
Sık yapılan bir yanlış, SQLite'ın bir oyuncak olduğu düşüncesidir. Son derece iyi test edilmiş ve güvenilirdir; ama tek bir makine için tasarlanmıştır: birçok süreç aynı anda okuyabilir, ancak aynı anda yalnızca biri yazabilir. Bu yüzden eşzamanlı yoğun yazma yapan, çok kullanıcılı yoğun sunuculara genellikle istemci-sunucu modelindeki bir veritabanı daha iyi hizmet eder.
Önemli noktalar
- SQLite gömülü bir SQL veritabanıdır: sunucu değil, bir kütüphanedir.
- Bütün bir veritabanı diskteki sıradan tek bir dosyadır.
- ACID transaction'ları destekler ve çökmelere güvenle dayanır.
- Telefonlarda, tarayıcılarda ve birçok masaüstü uygulamasında yerleşik olarak bulunur.
- Aynı anda tek yazıcı olması onu yazma ağırlıklı sunucular için daha az uygun kılar.
Örnek
import sqlite3
# Creates notes.db if it doesn't exist; no server needed
con = sqlite3.connect("notes.db")
con.execute("CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT)")
con.execute("INSERT INTO notes (body) VALUES (?)", ("Buy milk",))
con.commit()
for row in con.execute("SELECT id, body FROM notes"):
print(row)Sık sorulan sorular
SQLite bir sunucuya ihtiyaç duyar mı?
Hayır. SQLite uygulamanızın içinde bir kütüphane olarak çalışır ve veritabanı dosyasını doğrudan okuyup yazar; kurulacak, başlatılacak ya da bağlanılacak hiçbir şey yoktur.
SQLite canlı ortamda kullanılabilir mi?
Birçok durumda evet. Milyarlarca cihazda canlı ortamda çalışır ve orta trafikli web sitelerinde iyi iş görür. Aynı anda çok sayıda yazıcısı olan sistemler ise genellikle istemci-sunucu modelindeki bir veritabanını seçer.
SQLite ücretsiz mi?
Evet. SQLite kamu malıdır; lisans ücreti ödemeden her amaçla kullanılabilir, değiştirilebilir ve dağıtılabilir.
İlgili sayfalar
- İlişkisel VeritabanıVeritabanları, s. 14İlişkisel veritabanı, veriyi satır ve sütunlardan oluşan tablolarda saklar, tabloları anahtarlarla bağlar ve veriyi SQL ile sorgulayıp birleştirmeyi sağlar.
- SQLVeritabanları, s. 29SQL, ilişkisel veritabanlarıyla çalışmanın standart dilidir; tablo oluşturmak ve içindeki veriyi eklemek, sorgulamak, güncellemek ve silmek için kullanılır.
- VeritabanıVeritabanları, s. 37Veritabanı, bilgisayarda düzenli biçimde saklanan ve uygulamaların verimlice kaydedip arayıp güncelleyebildiği, bir yazılımla yönetilen veri topluluğudur.
- ACIDVeritabanları, s. 1ACID; atomiklik, tutarlılık, yalıtım ve dayanıklılıktan oluşan, hata ya da çökme olsa bile veritabanı transaction'larını güvenilir tutan dört garantidir.
- PostgreSQLVeritabanları, s. 26PostgreSQL, güvenilirliği, standartlara sıkı uyumu ve eklentileriyle bilinen ücretsiz, açık kaynaklı ilişkisel veritabanıdır; web uygulamalarında yaygındır.
- Dosya Sistemiİşletim Sistemleri, s. 10Dosya sistemi, işletim sisteminin bir depolama aygıtındaki veriyi dosya ve klasörlere düzenleyen ve her parçanın nerede saklandığını izleyen bölümüdür.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin