云上数据库的不同点
提取和无国界的应用也涉及到数据库。Benjamin Day Consulting的总裁Ben Day就举例说,Azure比起标准的关联模板能为研发人员提供不同种类的数据库。Azure存储引擎不能用于标准的关联数据库,因此如果你使用标准关联数据库开发一款标准应用软件,能用到的很多元素在云数据库中是无法使用的。他还以存储流程中的关联数据库概念为例表示,查询逻辑和真实的数据比较接近。在Azure云上就无法使用。
Day表示"问题是使用Azure的话,不能保证数据在任何特殊的位置,数据库或者任何特殊设备上也能使用。这样你就无法编译SQL查询,因为存储流程无法再进行关联"。另外,Azure存储引擎与微软规划的SQL Server的SQL数据库服务云版本是不同的,Day强调说,因此研发人员在编译时必须非常小心。比如说,SQL Server是将数据存储在表格中,而Azure是将1MB文件作为二进制大对象来存储的。
而且并不只是Azure有这些数据库的差异。谷歌的App Engine产品经理Pete Koomen举例说,谷歌的App Engine不仅抽取了真实物理硬件而且还有设备的任何概念。这就意味着研发人员可以上传代码,然后谷歌对其在数据库中进行管理和分类。Koomen表示"因为我们让整个流程更加自动化,因此这种研发人员必须遵循的特定模式与传统的结构化查询语言模式是不同的"。
使用App Engine,研发人员就可以利用谷歌的Big Table数据存储来用于永久储存。Koomen解释说"Big Table不是一种结构化查询语言数据库,原因是某些由SQL数据库支持的函数会让数据库在多重平台上的分离非常困难"。
Koomen还表示"使用我们的系统,我们实行的是从开始就采用反向思维的编程模式"。研发人员同时在不同地点存储数据的好处是这种方法能让应用软件非常有效的进行查询。
Koomen反对在云环境中使用关联数据库:"我们发现在流量高发的情况下,关联数据库非常难于管理,还会耗费研发人员大量的资金和资源"。