2010-10-12 142 views
10

由于云计算似乎是最受欢迎的话题之一,它让我思考,而且由于我对这个话题不太了解,所以对于这个问题的任何无知,我都不以为然。创建云数据库?

究竟是一个云数据库,甚至会创建这个服务。它只是一个带有Web前端的MySQL数据库,它允许用户从浏览器创建自己的数据库/表单/报表/关系。再次,请原谅我对此事的无知。

虽然浏览我遇到了这个InfoDome产品,它说这是一个在线数据库。这和云数据库有什么不同?另外,如果您在此处查看产品的视频演示(http://vimeo.com/9132578),它允许用户使用拖放界面创建数据库表单和报告,他们是如何编写此功能的,因为我发现它非常令人印象深刻。

感谢您的帮助,以清除我的困惑。

+2

似乎是一种正常的问题给我。我敢肯定,纳粹问题将会得到他们的方式... @Kirk,谷歌搜索“云数据库”和“创建云数据库”不返回NoSQL的任何结果。在他的问题中,他对这个问题的无知要求耐心,没有理由不礼貌。 -1给你。 – 2010-10-12 22:14:39

+0

我同意安倍 - 这似乎是一个好问题。 +1来对付downvote。 – 2010-10-13 11:14:40

+1

我也是+1。在这里提出基本问题有什么不对?如果我们想要Google,我们会去那里。 :-) – cbmeeks 2011-03-04 19:48:37

回答

5

由于酸度的原因,在云中建立真正的数据库非常困难。数据存储完全是一个不同的问题。数据存储不一定是一个经典的数据库,因为你可能知道它。 Cassandra和其他关键值数据存储提供了很多,因为它们读取和写入速度很快,但难以报告。如果您几乎不需要报告,并且速度是您最关心的问题(也就是说,您有一个非常大的数据集,在这个数据集中,连接并不重要,但它通常不是传统的网络意义上的数据集),那么类似的东西就非常有价值。

当你在做大量的数据管理和工作时,那么具有高稳定性和非常高性能的散列连接的经典数据库可能会发生非常有价值的事情,但是甚至可以用带有Map减少运行在许多机器上的代码片段,并且您将获得快速的结果。一个大表实现已经建立在Hadoop之上,所以你可能想看看那里。

在内存中用于非常快速检索的数据存储(例如memcache)也有用,只要您不担心在运行时填充缓存时,定期在您的网站上提取对象。

不幸的是,一旦您开始将交易和酸度的其他部分应用到任何数据存储区,管理变得更加困难。这就是为什么如此多的非经典数据库数据存储放弃其中的一些,以获得性能提升。

我不认为'云数据库'是正确的方式来看问题,而不是'云解决方案'。作为数据存储的Cassandra可以被看作是一个非常大的问题的“云解决方案”:对于非常大的数据集(Facebook和其他站点中使用它),我们如何才能获得最佳性能?如果这意味着并不是所有的集群都会在一篇文章后更新,那么只要一切顺利,就这样做。

一个'在线数据库' - 就像他们对infodome所说 - 是有趣的语言。我认为在线数据库是一个正在运行的数据库(也可以连接到该数据库)。我认为他们的意思是一个网络可访问的数据库,这是不同的。要建立这样的网站,你可能需要一些数据存储的体面知识,从技术上讲,任何不会丢失数据的东西(Memcache丢弃数据,cassandra不会,postgres,mysql,oracle都是古典数据库,所以它们是好)应该工作。然后你需要学习如何编写一个网站,我建议你从一大群活跃用户开始(Ruby On Rails,Drupal,尽管我从来没有用过,比Perl Catalyst更容易,我更喜欢,但显然更难),然后学习如何构建有效的客户端JavaScript,并为您的应用程序生成有意义的XML或JSON API。

不幸的是,这是很多工作。我已经在这个行业工作了很多年了,我向你保证,在你的知识足以让你编写自己的应用程序的过程中,你将会持续一段时间。当你考虑twitter时,他们并没有从这个层面入手,但随着他们的发展,他们的主要问题是缩放,而不是应用程序的复杂性,这是不同的。

无论哪种方式,我希望我回答了几个问题,并将您推向了正确的方向。如果不是,那也没关系。只需打字在这里烧一段时间。

0

实际上,除了云数据库将位于某个远程服务器之外,没有这种独特的区别。它已经配置完毕,您唯一担心的是您为其功能设定的缩放限制。云数据库的手段可能与本地数据库相同。因此,如果您决定将应用程序迁移到云平台,则不应该在浏览器上管理“虚拟”数据库时遇到任何困难。 您也可以使用其IP地址建立与数据库的远程连接。 如果你仍然感到困惑,为什么不尝试一下用的例如AmazonflexiscaleWindowsAzure云计算平台之一,Jelastic