我想为我们的应用程序实现一个缓存系统,我们已经开始与Memcached集成。最近我开始听说Hypertable,并且看到了一些很棒的基准。
然而,我找不到两者之间的很好的比较。
只是为了简单起见,:我知道Hypertable被认为更接近DB而不是缓存。另一方面,它并不完全是关系数据库管理系统--实际上,它正是而不是关系数据库管理系统。它有它自己的好处,但问题是,它们是否值得性能成本(如果有的话)?
发布于 2009-08-08 20:23:51
超表是谷歌的BigTable中概念的实现。即面向列数据库,它具有高度非规范化的特性,这意味着它不需要联接。
梅卡奇是一个内存中的缓存层,它的作用就像一个分布式哈希表,使您的应用程序不必访问实际的DB。
两者都能很好地实现分布式,并且能够很好地使用MapReduce风格的拓扑,但它们的用途不同。Memcached/DHT将用于加速对内存中数据的访问,而HyperTable/BigTable则是在磁盘上永久存储数据的实际机制。
发布于 2012-04-18 17:05:48
Memcached用于通过将所有内容存储在内存(RAM)中来加快速度,例如SQL查询的结果,而不访问DB。
超级表(HBase、Cassandra、MongoDB等)还有一些是永久存储的NoSQL DB(从硬盘存储和检索的数据)。它们不能给您读写RAM (例如memcached)的性能。因此,这些都不是相互比较的。
一个更好的用例是使用NoSQL DB作为永久存储,并使用memcached作为web应用程序和(NoSQL或任何)DB之间的前端快速访问缓存。
https://stackoverflow.com/questions/1249742
复制相似问题