Programlama Dilleri Ve Veritabanları Arasındaki İlişki
-
merhabalar üstadlar;
Programlama dilleri ile veritabanları arasındaki uyumu öğrenebileceğim bir yer varmıdır acaba. kastettiğim şey şu örnek vb.net c# ile sql e kolay bağlantı sağlanabiliyor php dede mysql e çok kolay bağlantı sağlanabiliyor. benim istediğim tüm dillerden (en azından fazlalık olarak) java vb.net c# borland c++ python php gibi hepsinin kolay şekilde bağlanabildiği extra plugin dll gerektirmeyen dillerin kendi kütüphanesinde bağlantı araçları olan sağlam veri tabanı varmıdır. hepsi ile hepsine bağlanılabilir bunu biliyorum. fakat arağıdım şey büyük datalar tutabilecek (25 gb) güvenlik zaafiyeti pek fazla olmayan web vpn local tarzı uygulamalarda ve android ios platformlarında sıkıntı vermeyecek aynı zamanda tüm dillerden hızlı ve kolay birşekilde sıkıntı yaratmadan çalışabileceğim bir veri tabanı arıyorum. hangi veritabanlarının neye göre artısı neye göre eksisi vardır fiyatları nelerdir bu konua bilgi alabilirmiyi
açıklayıcı olması için:
bir yazılımın macde düzgün çalışması ve performansı açısından javada webde düzgün çalışması için asp de windowsda düzgün çalışması için c# da linuxda çalışması için c de yazıldığını düşünün 5 dil var bu 5 dilde ortak bir veri tabanına aynı şekilde bağlanacak fakat hangi veritabanına :D
furkiak tarafından 18/Ağu/15 23:07 tarihinde düzenlenmiştir -
kolay baglantı dıye bırsey yok acıkcası .2 satır bılemedın hadı 5 satır kodla baglarsın
hepsının kullandıgı farklı verıtabanları var ıken secme ımkanın oldugunda ıs boyutuna performansına ve ücretli ücretsiz durumuna gore secım yaparsın.
-
hipokondriyak bunu yazdı
kolay baglantı dıye bırsey yok acıkcası .2 satır bılemedın hadı 5 satır kodla baglarsın
hepsının kullandıgı farklı verıtabanları var ıken secme ımkanın oldugunda ıs boyutuna performansına ve ücretli ücretsiz durumuna gore secım yaparsın.
iştebende performans konusunda ve extra zahmet getirmeyen arıyorum yani oracle tüm dillere performansı aynıdır yada sql visual studio dillerinde yüksek performans verirken javada kötü performans verir tarzında yada fiyaları şudur gibi bir tablo arıyorum açıkcası
-
hız arıyorsan nosql çözümleri hocam.. driver ı olmadan ancak txt dosyasına yazarsın :) a dan z ye her şeyin driverı vardır.. Belki kütüphanesi içerisinde geliyordur örneğin .net framework için ado.net var ya da EF var ama sql server kurulu değilse mssql, microsoftun olduğu halde kullanamzsın, access i bile kullanamazsın, ya office gerekli ya da access in driverı, aynı şey mysql için de geçerli..
odbc için bile driver gerekiyor :) o yüzden driversız bir şeyi unut.. ya da metin tabanlı olarak tut..
ikinci konuya gelince, mobil platformlarda öyle kafana göre db kullanamazsın.. direk erişimi yok, mesela sqlite kullanabiliyorsun.. ama diğerleri için bir webservis aracılığı ile iletişim sağlayabilirsin ki bu da güvenildir. mantık şöyle yani
bir çözüm de cloud veritabanlarıdır, gerek amazon gerek azure gerekse başka firmalar mobil desteği veriyor cloud db lere (tabi arkaplanında bir webservis var).. sana tavsiyem de bu yönde
https://www.youtube.com/watch?v=yjH10T3Miag
-
unbalanced bunu yazdı
ikinci konuya gelince, mobil platformlarda öyle kafana göre db kullanamazsın.. direk erişimi yok, mesela sqlite kullanabiliyorsun.. ama diğerleri için bir webservis aracılığı ile iletişim sağlayabilirsin ki bu da güvenildir. mantık şöyle yani
hocam burda merak ettiğim şey xamarin tarzı c# ile yazdığımız uygulamalardada mı kafamıza göre db kullanmıyoruz yine ?
bulut çözümlerin kolaylığı konusunda süphem yok güvenilir ve hızlı (abd dışındaki) fakat müşteriler genelde verilerinin bulut sistemlerde olmasından şikayetci oluyor bu konuda canımı sıkıyor her ne kadar rackspacein verileri kriptolu tuttuğunu söylesemde bazı müşteri illa servarım gözümün önünde olacak derdinde.
birde özel kurumlar hastaneler vsler bulut sistemde çalışamyıor devlet bunlara izin vermiyor. devlet izin vermediği içinde illa localde durucak fakat bu sefer farlı platformlarda işlem yapan kişiler (web-mobil-mac-windows) ortak bir platformad birleşemiyor
-
şimdi hocam tam olarak istediğin ne? ortada tek bir veritabanı olacak ve senin birden fazla platformda uygulaman olacak (ios,android,masaüstü.. ) ve hepsi localden mi bağlanacak aynı db ye?
-
unbalanced bunu yazdı
şimdi hocam tam olarak istediğin ne? ortada tek bir veritabanı olacak ve senin birden fazla platformda uygulaman olacak (ios,android,masaüstü.. ) ve hepsi localden mi bağlanacak aynı db ye?
aynen öyle hocam bi şirket düşün web sitesi mac pcsi ios ve android telefonu windows pcsi var mac için java kullanıyorum programını yazmak için windows için c# andorid için java ios içinde java web içinde php bunların hepsi localde tuttuğum bir veritabanına bağlanacak. ama kullanıdığım diller farklı olduğu için bağlantıda sürekli sıkıntı çıakrmayan en sorunsuzunu arıyorum
-
anladım hocam :) senin ilacın web servis..
veritabanını seçmekte özgürsün.. ister nosql çözümlerinden seçersin ister mysql, mssql ister oracle..
daha sonra bir server edin, eğer windows tabanlı ise WCF ile bir webservis yazacaksın(ız) ya da asp.net tabanlı, linux ise artık nasıl servis yazacaksanız.. (bir sürü tip var) ya da basit olarak bir restful servis yazılacak local de çalışan. Ben iyi bildiğim şeyden gideyim, WCF i, IIS de host edeceksin, localde konfigure edeceksin.. daha sonra her platformdaki uygulamalar bu webservis aracılığı ile veritabanınla iletişim kuracaklar...
n-tier model ile yazarsan, yeni veritabanı eklendiğinde ya da veritabanı değiştiğinde (mssql den oracle a geçiş), hiç bir şeyi değiştirmeden direk oracle ı kullanabilirsiniz...
en mantıklısı bu olur..
srv-app/servis/service.svc gibi bir adres ile tüm platformlardan iletişim kurabilirsiniz, ister java, ister c# ister başka bir dil.. Mobil tarafında wcf için client proxy hazırlamak gerekiyor :) Ama soap ya da restful ile hazırlarsanız sorun yok, bizim firmada kullandığımız wcf ile hazırlanmış bir servis olduğu için kendim proxy oluşturuyorum (silverlight aracını kullanarak), böyle bir şey yaparsan yardımcı olurum sorun değil..
Ama genel işler için restful servis hazırlaman kafi gelir..