我在MySQL的空间舒适已经在过去的几年中设计了几个应用程序,然后不断改进性能和可扩展性方面。我也有一些经验,memcached的提供上频繁查询结果集的应用程序方面速度-UPS的工作。而最近我实现了亚马逊SDB作为我的主要“数据库”的电子商务实验。

要过于简单化,快速理由我经历了在我的脑海使用SDB服务是使用方案较少的数据库结构可以让我专注于我的项目的逻辑问题,在我的数据存储迅速累积含量。也就是说,不必担心设立和规范的手之前产品的属性的所有可能的排列;只需启动在产品装载和深发展将简单地记住一切可用。

现在,我已经设法通过我的项目的第一几个迭代来获取和我需要设置简单的接口数据,我跑,我已经采取的使用MySQL授予工作的问题。例如:在SELECT语句和语法限制分组查询“项50到100”。方便的优点我用深发展的模式自由架构获得了,我失去了查询的性能命中/循环一个结果刚刚超过1800项。

现在我在读有关正在扩展内存键值存储的概念,在可笑更快的速度提供伪关系的功能(14X我读的地方),如东京内阁项目。

我的问题: 是否有我作为一个应用程序设计/开发者可以顺利通过评估哪些数据库技术是我的项目的每个阶段最合适的一些基本准则或启发式。

例:在原型阶段,其中应用程序的逻辑/技术未知数使数据结构流体:使用SDB。 在一个较为成熟的阶段,用户可交付成果是一个优先事项,使用传统的工具,你不必花时间开发编写排序,分组和分页逻辑。

使用这些工具的实践经验将非常感激。

由于SO!

Shaheeb R.

有帮助吗?

解决方案

在新的解决方案都没有银子弹。

相对于传统的RDBMS

,这些系统在通过的交易断其他方面(还原查询功能,最终一致性,对于某些操作可怕性能)的一些方面(可扩展性,可用性或简单)做出改进。

觉得这些不是传统数据库的替代品,但它们是已知的,具体需要专门的工具。

以亚马逊简单数据库例如,深发展基本上是一个巨大的电子表格,如果这是你的数据是什么样子,那么它很可能工作得很好,精湛的可扩展性和简单性会为您节省大量的时间和金钱。

如果您的系统需要非常结构化和复杂的查询,但你坚持与这些很酷的新的解决方案之一,你很快就会发现自己在重新实施一个外行,设计不当的RDBMS的中间,其所有固有的问题。

在这方面,如果你不知道这些是否会满足您的需求,我认为它实际上是更好地做你的第几次迭代在传统的RDBMS,因为他们给你特别是在单台服务器部署的最佳的灵活性和能力和适度负载下。 (见 CAP定理)。

一旦你有你的数据会看起来像什么,以及他们如何被使用,那么你可以匹配的替代解决方案你的需要一个更好的主意。

如果你想有一个云托管解决方案的简单,但需要一个关系型数据库,你可以看看:亚马逊关系数据库服务

其他提示

你发现的问题是为什么RDBMS专家查看一些替代系统的一个偏见的眼光。是的,替代系统处理某些具体要求非常快,但只要你想做些别的事情与相同的数据,最轻捷突然变成落后。与此相反,一个RDBMS通常管理具有更大沉着的变化;它可能不那么快的轻捷为专业工作量其中轻捷是微优化以处理,但它很少一样快时,呼吁对付其他查询劣化。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top