Yani, doğal olarak HTTP protokolünü destekleyen bir veritabanı var mı? Eh, bazı vardır. Sen MonetDB / XQuery'yi (http://monetdb.cwi.nl/XQuery/QuickTour/XRPC/), ve CouchDB gibi bir NoSQL veritabanları (http://couchdb.apache.org/). Ayrıca Oracle gibi daha geleneksel rdbms-es o var (Oracle Application Express dayanan bir dahili HTTP sunucusu, APEX hizmet aka http://www.oracle.com/technology/products/database/application_express/index.html) ve MS SQL gibi (Hizmet şema nesnesi {[(3) }] ve XML görünümleri, {bakın [(4)]})
Ama gerçekten - bu gerçekten yararlı olup olmadığını sorgulamalıdır.
Yani, her zaman HTTP kolları bir bileşen olarak var oluyor. Bunu size ekstra ve uygulaması ve veritabanı arasında oturur hissediyorum çünkü webserver / php tabakasını almak için iyi bir his olabilir. Ama gerçekten, ben sadece belirtilen çözümler farklı değildir - onlar yazılım aynı parça üstünde etiketli, ancak veri hala fazladan bir katman akmasına vardır vardır.
Ayrı bir web sunucusu ile, bağımsız veritabanı sunucusunun web sunucusu katmanı ölçekli olabilir: Ve o tek parça hepsi var gerçekten yararlı olup olmadığını merak edebilirsiniz. Yoksa bağımsız webserver tabakasının veritabanı katmanı dışarı ölçekli olabilir. Bu yazılım tüm tek parça varsa, bunu yapamazsınız.
Temelde, veritabanına http sunucusu kurarak, diğer db görevler için kullanılan olabilirdi kaynaklarını tüketir bir görev ile db sunucu Zahmetli ediyoruz. Şimdi db bir işlemci başına lisans için ödenen ortak bir durum, düşünün. Eğer gerçekten tam olarak apache gibi ücretsiz bir web sunucusu ile yapmış olabilir zaman, db sap HTTP istekleri olan o lisansı geçirmek ister misiniz? Eğer ücretsiz alkolsüz veritabanı ürününü kullanıyor olsanız bile, birçok durumda veritabanı sunucusu bir darboğaz olduğunu. Eğer gerçekten bir HTTP sunucusu kurarak bu plaka üzerinde daha fazla görevleri koymak istiyor musunuz?
Ben o kadar da iyi bir fikir değil bence başka bir nedeni var. Veri değişim formatı olarak XML bahsetti. Goody. Ama JSON ne isterseniz? Veya YAML? Ya da belki sade CSV? PHP, ASP.NET, Perl, ve hatta Java gibi tüm Webserver betik dilleri bu şeylerle uğraşmak çok iyi kütüphaneler var. Tipik veritabanı saklı yordam dilleri yok. Tabii ki, bir adım daha ileri götürün ve söyleyin, cehennem, Java veya veritabanına NET söylemek inşa neden, ama yine ters sorunu çeviriyor olabilir -. Veritabanının görev verilerini saklamak ve almak için, ve iyi almak depolandığı çalışırken veri bakım. Bir uygulama sunmak için veri işleme bunun bir parçası değildir. Eğer o dikkat çekmek için DB'ın işinin bir parçası yaparsanız, bir bütün olarak sistemin esneklik ve ölçeklenebilirlik önemli bir kaynağını götürmek. Orada düşünmek için daha az bir bileşen (yani webserver / betik dili), ama gerçekte, o hala orada çünkü daha az yük olduğunu düşünebilirler, bu sadece veritabanı yazılımı içinde gizler, ve kullanılan olabilirdi kaynaklarını emmektedir vb depolama ve ayrıştırma sorguları, veri almak