Ios yazılım geliştirmede hangi veritabanını kullanmalıyım?

Bu konu içimizde (ekibimizde ve yazılımcılar arasında) sürekli tartışmalara yol açtığı için değinilmesi gereken bir konu. Öncelikle seçeneklerimize bakalım. Ios yazılım geliştirme sırasında lokal bir veritabanı kullanma ihtiyacı ortaya çıkarsa 3 tane seçeneğiniz var. Core Data, SQLite veya Realm.

SQLite: Bu hem ios hem android de çok sık kullanılan açık kaynak bir veritabanıdır. ANSI-C de yazıldığı için basit ve kullanışlı bir programlama arayüzü sunar. Bazı avantajları şunlardır.

  • SQLLite ayrı bir sunucu process ine ihtiyaç duymaz. Direk dosyalara yazar ve okursunuz.
  • Ayar gerektirmez
  • Çoklu multi-thread işlemleri destekler
  • Veri kısıtlamaları (Data constraints) kullanabilirsiniz.
  • Tabloyu silme ve veriyi değiştirme işlemlerini hafızaya yüklemeden yapabilir.

Core Data: Bu ise iOS veri saklama konusunda en başından beri Apple tarafından sunulan bir veritabanıdır. Daha çok yaratılan objelere odaklanmış bir yapısı vardır. Core Data ile class lar ile tanımlanmış objelerinizin içeriğini saklar ve yönetirsiniz.

  • SQLite dan daha fazla memory tüketimi yapar
  • SQLite dan daha fazla yer kaplar
  • SQLite dan daha hızlı kayıtları getirir
  • Veri kıstlama yoktur. Yapılmak istiyorsa bunu kendiniz yazmanız gerekir.
  • Hafıza da çalışır. Veri disk den hafıza ya yüklenir.
  • Silme ve güncelleme yapmak istiyorsanız bütün datayı tekrar yüklemek gerekir.

Realm: Realm son yıllarda geliştirilmiş SQLite ve Core Data dan daha hızlı ve verimli çalışabilen bir veritabanıdır.

  • Cross platform olduğundan her yerde kullanılabilir. Örneğin android, desktop uygulamaları gibi yerlerde.
  • Birkaç satır kod ile herşeyi halledebilirsiniz.
  • En azından iOS 8 olmalıdır daha altında çalışmaz
  • Basit bir kurulumu vardır. Cocoapods ile kolayca kurabilirsiniz.
  • SQLite ve Core Data dan daha hızlıdır.
  • Ölçeklenebilir yapısı ile büyük verilerde ve çok sayıda kayıt ile daha rahat çalışır.
  • Dökümantasyon ve desteği gayet iyi durumdadır.
  • Pinterest, Dubsmash , Hipmunk gibi büyük mobil uygulamalar tarafından kullanılmaya başlanmış ve gereken güveni kazanmıştır.

Sonuç:

Bu seçimi yapmak için düşünüyorsanız hiç düşünmeden Realm seçin derim. Pişman olmayacaksınız. https://realm.io/ adresinden incelemeye başlayabilirsiniz.