Büyük Birbirine Bağlı Veriler Bir Veritabanına Aittir
Uygulamanız büyük, kalıcı, birbirine bağlı bir veri öğeleri kümesini işleyecekse, onu ilişkisel bir veritabanında depolamaktan çekinmeyin. Geçmişte RDBMS'ler pahalı, kıt, karmaşık ve hantal hayvanlardı. Bu artık geçerli değil. Günümüzde RDBMS sistemlerini bulmak kolaydır - kullandığınız sistemde zaten bir veya iki tane kurulu olması muhtemeldir. MySQL ve PostgreSQL gibi bazı çok yetenekli RDBMS'ler açık kaynaklı yazılım olarak mevcuttur, bu nedenle satın alma maliyeti artık bir sorun değildir. Daha da iyisi, sözde gömülü veritabanı sistemleri, neredeyse hiçbir kurulum veya yönetim gerektirmeden doğrudan uygulamanıza kitaplıklar olarak bağlanabilir - iki dikkate değer açık kaynak, SQLite ve HSQLDB'dir. Bu sistemler son derece verimlidir.
Uygulamanızın verileri sistemin RAM'inden daha büyükse, dizine alınmış bir RDBMS tablosu, sanal bellek sayfalarını bozacak olan kitaplığınızın harita toplama türünden çok daha hızlı işlem yapacaktır. Modern veritabanı teklifleri, ihtiyaçlarınızla kolayca büyüyebilir. Uygun bakımla, gerektiğinde gömülü bir veritabanını daha büyük bir veritabanı sistemine yükseltebilirsiniz. Daha sonra ücretsiz, açık kaynaklı bir tekliften daha iyi desteklenen veya daha güçlü bir tescilli sisteme geçebilirsiniz.
SQL'e alıştıktan sonra, veritabanı merkezli uygulamalar yazmak bir zevktir. Veri tabanında düzgün bir şekilde normalize edilmiş verilerinizi depoladıktan sonra, okunabilir bir SQL sorgusu ile gerçekleri verimli bir şekilde çıkarmak kolaydır; herhangi bir karmaşık kod yazmaya gerek yoktur. Benzer şekilde, tek bir SQL komutu karmaşık veri değişiklikleri gerçekleştirebilir. Tek seferlik değişiklikler için, kalıcı verilerinizi düzenleme şeklinizde bir değişiklik olduğunu söyleyin, kod yazmanıza bile gerek yok: Veritabanının doğrudan SQL arayüzünü çalıştırmanız yeterli. Bu aynı arayüz aynı zamanda, normal bir programlama dilinin derleme-düzenleme döngüsünden kaçınarak sorgularla denemeler yapmanıza da olanak tanır.
Kodunuzu bir RDBMS'ye dayandırmanın bir başka avantajı, veri öğeleriniz arasındaki ilişkilerin ele alınmasını içerir. Verilerinizi bir uç durumda güncellemeyi unutursanız, aldığınız işaretçilerin sarkan riskinden kaçınarak, verileriniz üzerindeki tutarlılık kısıtlamalarını bildirimsel bir şekilde tanımlayabilirsiniz. Örneğin, bir kullanıcı silinirse, o kullanıcı tarafından gönderilen mesajların da kaldırılması gerektiğini belirtebilirsiniz.
Ayrıca, sadece bir dizin oluşturarak, istediğiniz zaman veritabanında depolanan varlıklar arasında verimli bağlantılar oluşturabilirsiniz. Sınıf alanlarının pahalı ve kapsamlı yeniden düzenlemelerini gerçekleştirmeye gerek yoktur. Ek olarak, bir veritabanı etrafında kodlama yapmak, birden çok uygulamanın verilerinize güvenli bir şekilde erişmesine olanak tanır. Bu, uygulamanızı eşzamanlı kullanım için yükseltmeyi ve ayrıca uygulamanızın her bir bölümünü en uygun dil ve platformu kullanarak kodlamayı kolaylaştırır. Örneğin, web tabanlı bir uygulamanın XML arka ucunu Java'da, bazı denetleme komut dosyalarını Ruby'de ve bir görselleştirme arayüzünü İşleme'de yazabilirsiniz.
Son olarak, RDBMS'nin SQL komutlarınızı optimize etmek için çok terleyeceğini ve algoritmik ayar yerine uygulamanızın işlevselliğine konsantre olmanızı sağlayacağını unutmayın. Gelişmiş veritabanı sistemleri, arkanızdaki çok çekirdekli işlemcilerden bile faydalanacaktır. Ve teknoloji geliştikçe uygulamanızın performansı da artacaktır.
Diomidis Spinellis Tarafından
Last updated