API vs Database

DannyTheNeil

Hectopat
Katılım
29 Mayıs 2020
Mesajlar
175
Bu ikisinin kullanım olarak farkları nelerdir? Hangisi daha basittir? Hangisini neden kullanmalıyım? Birinin yapıp diğerinin yapamadığı bir şey var mı? Hangisini tercih etmeliyim?
 
Son düzenleyen: Moderatör:
Bu ikisini nasıl bağdaştırdığını anlayamadım. Ne yapmak istiyorsun tam olarak?

Database ilişkisel veya değil veri saklayabildiğin, gerektiğinde veri alabildiğin bir ortam.
API ise sunulan endpointlerden veri alımı veya iletimini gerçekleştirdiğin bir arayüz.

Hangisini tercih etmelisin? Yapmak istediğin şeye uygunsa ikisini de, değilse hiçbirini tercih etmelisin. Bir endpoint'ten bilgi almak istiyorsan ,Rest veya Soap farketmez, gidersin gerekli parametrelerle oraya istek atarsın; sana ordaki bilgiyi döner. Oradaki bilgi de oranın database'inden geliyor. Oradan aldığın veriyi de gelirsin kullanmak veya saklamak için kendi database'ine yazarsın yani tamamen ne yapmak istediğinle alakalı. Aslında benzer, birbiriyle karıştırılacak yapılar değiller.
 
Son düzenleme:
API, Database'den verileri daha iyi ve farklı çekmek için kullanılıyor. Çok vakıf değilim, sadece kendim, React Native için REST API yazdım.

API, Database ile uygulama arasında konumlandırılır. Yani birbirinin yerine geçen terimler değildir. API, yapacağın işe göre Database'i tamamlar.

Ki, API'ler Database'ler ile sınırlı da değildir.
 
Öncelikle database veri depo eder. Eğer bahsettiğin DB query ise API de DB query kullanır sadece basit olarak işleri kolaylaştırır sürücü sorununu ortadan kaldırır. Sonuç olarak URL olarak her şeyi göndermeniz mümkün değil API size XAML veya JSON formatında dönebildiğinden elinizi genişletir.
 
Bu ikisini nasıl bağdaştırdığını anlayamadım. Ne yapmak istiyorsun tam olarak?

Database ilişkisel veya değil veri saklayabildiğin, gerektiğinde veri alabildiğin bir ortam.
API ise sunulan endpointlerden veri alımı veya iletimini gerçekleştirdiğin bir arayüz.

Hangisini tercih etmelisin? Yapmak istediğin şeye uygunsa ikisini de, değilse hiçbirini tercih etmelisin. Bir Endpoint'ten bilgi almak istiyorsan, rest veya soap fark etmez, gidersin gerekli parametrelerle oraya istek atarsın; sana oradaki bilgiyi döner. Oradaki bilgi de oranın Database'inden geliyor. Oradan aldığın veriyi de gelirsin kullanmak veya saklamak için kendi database'ine yazarsın yani tamamen ne yapmak istediğinle alakalı. Aslında benzer, birbiriyle karıştırılacak yapılar değiller.

Yani ben vanilla PHP kullanırken bilgileri DB'de tutardım ama şu an Angular öğreniyorum ve bilgileri Backend'den almak yerine json kullanarak alınıyor o yönden çok anlamadım.
 
Bilgileri DB'de tutmak ile API de tutmak arasında bir fark var mı peki.

Bilgiyi API'de tutmazsın. API, bilgiyi DB'den alır. Yani bir uygulama geliştirdin diyelim ki, elinde de MySQL veritabanı var.

Direkt MySQL'e bağlanıp veriyi almak yerine (ki bu çok sakat bir yöntemdir), yazacağın API sayesinde; önce API veriyi DB'den alıp bir endpointe basar (örn: websitesi.com/api/veriler), genellikle JSON formatında olur.

Sen de uygulamanla bu endpointe bağlanarak veriyi çekersin. Kabaca API mantığı budur. Verdiğim örneği REST API ile yapabilirsin.
 

Yeni konular

Geri
Yukarı