创建云数据库?

时间:2010-10-12 21:02:18

标签: database cloud

由于云计算似乎是最受欢迎的主题之一,它让我思考,而且由于我对该主题不太了解,请原谅我对这个问题的任何无知。

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

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

感谢您帮助我解决困惑。

2 个答案:

答案 0 :(得分:5)

由于酸度,在云中拥有真正的数据库是非常困难的。数据存储完全是一个不同的问题。在您可能知道的情况下,数据存储不必是经典数据库。 Cassandra和其他键值数据存储提供了很多,因为它们读写速度很快,但很难报告。如果你几乎不需要报告,速度是你最关心的问题(意味着你有一个非常大的数据集,其中加入并不重要,它通常不在经典的网络意义上),那么这样的东西是非常有价值的。

当您进行大量数据处理和etl工作时,可能会出现具有高度稳定和非常高性能的散列连接的经典数据库非常有价值,但这甚至可以用带有Map的Big Table实现替换减少在许多机器上运行的代码片段,您将获得良好的快速结果。已经在Hadoop上构建了Big Table实现,因此您可能希望在那里查看。

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

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

我不认为“云数据库”是查看问题的正确方法,而不是“云解决方案”。 Cassandra作为一个数据存储,可以被认为是一个非常大的问题的“云解决方案”:对于非常大的数据集(Facebook,以及其他网站,使用它),我们如何才能获得最佳性能?如果这意味着在帖子之后并非所有群集都是最新的,那么只要一切顺利进行,就是这样。

'在线数据库' - 就像他们对于infodome所说的那样 - 是有趣的措辞。我认为在线数据库是一个正在运行的数据库(也许可以连接到)。我认为他们的意思是一个可通过网络访问的数据库,这是不同的。要构建这样的站点,你可能需要对某种数据存储区有一定的了解,从技术上讲,任何不丢弃数据的东西(Memcache丢弃数据,cassandra不会,postgres,mysql,oracle都是经典数据库,所以它们是好的)应该工作。那么你需要学习如何编写一个网站,我建议你从一大堆活跃用户开始(Ruby On Rails,Drupal,虽然我从来没有使用过,比Perl Catalyst更容易,我更喜欢,但显然更难),然后学习如何构建有效的客户端javascript,并为您的应用程序生成有意义的xml或json api。

不幸的是,这是很多工作。我已经在这个行业工作多年了,而且我向你保证,在你的知识达到足够的程度以便用这种复杂程度编写自己的应用程序之前,你将会在这一段时间。当你想到facebook& twitter,他们没有从那个级别开始,但随着他们的成长,他们的主要问题是扩展,而不是应用程序的复杂性,这是不同的。

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

答案 1 :(得分:0)

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