Database neden kullanılır?

Merhabalar, şahsen projelerimde json dosyası veya txt dosyalarını database gibi kullanan birisi olarak soruyorum bu soruyu. Neden bir dosyada tutmak yerine harici database lerde veri tutuluyor. Bunun güvenlik hız gibi sebepleri var mıdır yoksa sadece “kolaylık” adına mı kullanılır? Bir çok kez gördüm sql veya mongodb gibi araçların eğitimleri var ve bunlara uzun süreler harcanıyor oysa sadece bir txt dosyasına split ederek her şeyi tutmak varken ya da daha kolay olarak json dosyasında tutmak varken. Mesela bir sohbet aplikasyonu var ve bunları serverda tutmak istiyoruz bunları böyle json da tutmak mantıklı mı? her zaman böyle şeylerde yavaşlatır gibi düşünmüşümdür doğru mu bilmiyorum ama gene database kullanmakta bundan daha hızlı olacak gibi gelmiyor. Kısaca artısı eksisi nedir bunların?

Her veri tutmak isteyene soyluyorum, “pickle kullan”, “text dosyasina yaz”, “JSON’a yaz” diye. Buradaki cogu insan SQL ogrenmek, pratik yapmak, ise girerken “HedeSQL kullandim” diyebilmek icin kullaniyor.

Sunlar RDBMS kullanmak icin iyi sebep:

  • Veri hafizaya sigmiyor
  • Veriyi uzakta veya baska makinada tutmak istiyoruz
  • Verinin semasi (sekli) belli, sapmak istemiyoruz
  • Verinin kontrollere ihtiyaci var, bunlari koda yazmak istemiyoruz
  • Verinin (kontroller gibi) basit koda ihtiyaci var, her aplikasyona eklemek istemiyoruz
  • Veri uzerinde basit olmayan sorgular yapmak istiyoruz
  • Veri uzerinde O(n)'den hizli calisan (index’li) sorgular yapmak istiyoruz
  • Veri uzerinde kilitler tutmak veya parcalanamayan isler (transaction) yapmak istiyoruz
  • Verinin bozulmasini istemiyoruz, dosya sisteminin detaylarini ve garantilerini bilen muhendisimiz yok

Dahasi icin herhangi bir database sisteminin sagladiklari okunabilir. (ACID iyi bir baslangic noktasi.)

Surada da ilgili seyler var ama ayiklamak gerekebilir: Neden MySQL kullanmamaliyim? Yerine ne kullanabilirim? [PostgreSQL]

8 Beğeni

Teşekkürler özetiniz için. Neden kullanılması gerektiğini anladım ve artık kullanmama gerek bile kalmadığını düşünüyorum açıkçası. Gerçektende bazı katkıları varmış onu gördüm ancak bence günümüz koşullarında pek bir gereği kalmamış gibi. Bazen kolaylık sağlıyabiliyor ama insanların bunları öğrenirken çektiklerinide görünce pek mantıklı olmadığını düşünüyorum aynı zamanda. Arada kalsamda bilmekte fayda vardır diyeceğim, faydasız bir şeyde değil zaten doğru alanda çok işimize yarar muhtemelen.