由于酸度,在云中拥有真正的数据库是非常困难的。数据存储完全是一个不同的问题。在您可能知道的情况下,数据存储不必是经典数据库。 Cassandra和其他键值数据存储提供了很多,因为它们读写速度很快,但很难报告。如果你几乎不需要报告,速度是你最关心的问题(意味着你有一个非常大的数据集,其中加入并不重要,它通常不符合传统的网络意义),那么这样的东西是非常有价值的。
当你进行大量的数据整理和etl工作时,一个具有高度稳定和非常高性能的散列连接的经典数据库是非常有价值的,但是甚至可以用Big Table实现替换Map Reduce代码运行在许多机器上,您将获得良好的快速结果。已经在Hadoop上构建了Big Table实现,因此您可能希望在那里查看。
在内存中,用于非常快速检索的数据存储(例如memcache)也可以使用,只要您不担心在运行时填充缓存,而在网站上定期提取对象。
不幸的是,一旦你开始将交易和酸度的其他部分应用到任何数据存储,它就变得更难管理。这就是为什么如此多的非经典数据库数据存储放弃其中的一些,以获得性能提升。
我不认为“云数据库”是查看问题的正确方法,而不是“云解决方案”。 Cassandra作为一个数据存储,可以被认为是一个非常大的问题的“云解决方案”:对于非常大的数据集(Facebook,以及其他网站,使用它),我们如何才能获得最佳性能?如果这意味着在帖子之后并非所有集群都是最新的,那么只要一切顺利进行,它就是这样。
一个'在线数据库' - 就像他们对于infodome所说的那样 - 是有趣的措辞。我认为在线数据库是一个正在运行的数据库(也许可以连接到)。我认为他们的意思是一个可通过网络访问的数据库,这是不同的。要构建这样的站点,你可能需要对某种数据存储区有一定的了解,从技术上讲,任何不丢弃数据的东西(Memcache丢弃数据,cassandra不会,postgres,mysql,oracle都是经典数据库,所以它们是好的)应该工作。那么你需要学习如何编写一个网站,我建议你从一大堆活跃用户开始(Ruby On Rails,Drupal,虽然我从来没有使用过,比Perl Catalyst更容易,我更喜欢,但显然更难),然后学习如何构建有效的客户端javascript,并为您的应用程序生成有意义的xml或json api。
不幸的是,这是很多工作。我已经在这个行业工作多年了,而且我向你保证,在你的知识达到足够的程度以便用这种复杂程度编写自己的应用程序之前,你将会在这一段时间。当你想到facebook& twitter,他们没有从那个级别开始,但随着他们的成长,他们的主要问题是扩展,而不是应用程序的复杂性,这是不同的。
无论哪种方式,我希望我回答几个问题并推动你朝着正确的方向前进。如果没有,那也没关系。只需打字就可以在这里烧一些时间。
实际上除了云数据库将位于某个远程服务器上之外没有这种显着差异。它已经配置好,您唯一担心的是为其功能设置的缩放限制。云数据库的方式可能与本地数据库相同。因此,如果您决定将应用程序迁移到云平台,则不应该在浏览器中管理“虚拟”数据库时遇到任何困难。 您也可以使用其IP地址建立与数据库的远程连接。 如果您仍然感到困惑,为什么不尝试使用其中一个云平台 亚马逊 , flexiscale , WindowsAzure , Jelastic