1. Sistem şu: Çeşitli kullanıcılar -ya da webmasterlar, nasıl derseniz- curl ile, benim veritabanımı bastırdığım bir siteden veri çekecekler. Ana hedef bu yani. Ben, sahip olduğum veritabanındaki verileri basacağım, onlar da benim bastığım verileri çekecekler. Ana temamız bu. Ancak hedefim: bu işi en hızlı, en yormadan, en pratik şekilde yapmak.
2. Şu şekilde çalışacak: kullanıcım, x.com diyelim. x.com'da dolaşan birisi x.com?git=veri adresine gittiğinde, sitedeki fonksiyon otomatik olarak "veri"ye dair şeyleri çekmek için curl fonksiyonunu çalıştırıp sitemden o verileri alacak ve istediği şekilde şekillendirip ekrana basacak. Yani, veritabanı görevi göreceğim de diyebiliriz. Hatta durum birebir bu. Ben o adamların veritabanı olacağım. Almak istedikleri verileri, sitemden curl ile çekip ekrana bastıracaklar. (tabi isteyen, curl ile veritabanına da çekebilir, sıkıntı yok)
3. Soru: Şimdi, sizce bu işi en pratik, en hızlı nasıl yapabilirim? Veritabanı olarak görev yapacak siteme verileri nasıl bastırırsam en pratik olur? Onlar veriyi nasıl çekerse en pratik olur? Veritabanını en az nasıl yorabilirim ? (diyelim ki, bu sistemi 50 tane site kullanacak. bu durumda her veriyi kendi veritabanımdan çektirmek sıkıntı çıkarabilir) Neler tavsiye edersiniz?
Benim aklıma şöyle bir şey geldi: Veritabanımdaki bilgileri sürekli olarak bir html olarak kaydedeyim. Güncellendikçe html olarak kaydetsin ve kullanıcılar direkt oradan çeksin verileri. Bu sayede veritabanını sanırım hiç yormuş olmam. (Yani veritabanından çağırmıyorlar, html'den direkt çekiyorlar) Ama böyle bir şey yaparsam başka neyi yormuş olurum? Bana sıkıntıları ne olabilir?
Bu konuda tavsiyeye ihtiyacım var, sistemimi en az yoracak, kullanıcıları bezdirmemek için en hızlı şekilde sonuç alabileceğim hangi yöntemi kullanayım?
4. Hosting: böyle bir işlem için tavisye edeceğiniz hosting hangisi olabilir? Yurtdışı ağırlıklı çalışacağımdan, türk hostinglere bağlı değilim. Yurtdışından tavsiyeler almam daha bile iyi olabilir.
Bana maximum uptime'ı sağlayacak, hiç ama hiç kasmayacak bir hosting tavsiyesi lazım.
Tercihen set_time_limit özelliği açık veya sınırlandırılmış süresi yüksek olursa tadından yenmez?
REST yapisinda bir servis kullanabilirsin, JSON olarak donersen islenmesi cok da zor degil. birde cache kullanirsan, html ile filan parse edilmesi ile diger taraf ugrasmaz.
sunacağın veri ne tür bir veri? xml veya json ile yanıt verirsen karşı tarafın parse etmesi de kolay olur ve belli bir standartın olmuş olur.
performans konusunda ise database tasarımı ve kodların perfect olduğunu varsayarsak ve hala performans sıkıntısını yaşanacağını düşünürsen mongodb'ye geçiş yapabilirsin. ya da mysql'den çektiğin dataları html file olarak cachelemek yerine (i/o sorunları yaratabilir) memcache, redis gibi key-value store yapan memory tabanlı bir yazılım kullanabilirsin.
mongodb'yi araştırayım öyleyse önce.
ek: bu arada, 4. soruma da bir cevap alabilirsem süper olur esasında. bu işlemler için en uygun neresiyle çalışmalıyım?
4. aws ilk yil icin basit bir hesabi ucretsiz sunuyor, bak belki isine yarayabilir. aws.amazon.com