关于没有像hadoop,hbase等sql数据库的帮助

时间:2011-01-02 16:34:32

标签: database memcached nosql hadoop hbase

我是Hadoop,Cassandra等分布式NoSQL数据库的新手。我几乎没有问题需要专家建议:

  1. 您是否可以列出从现有的传统数据库(如MySQL)转移到这些基于群集的大型数据库时通常会遇到的问题/挑战?
  2. 当需要适应这些开源项目的较新版本时,有哪些困难?
  3. 你能列出一般存储/保存在memcached中的东西,以便快速呈现页面吗?
  4. 我如何理解开源项目的源代码,以便我可以在其上构建并回馈社区?
  5. 以上问题听起来可能是愚蠢和基本的,但请求专家详细回答上述问题并尽最大努力。

2 个答案:

答案 0 :(得分:0)

我可以提出一些想法:

1:使用Hadoop和相关项目的文档和示例对我的项目来说是一个重大挑战。与MySQL相比,通常很难找到可用的功能以及如何使用它们。邮件列表在这方面提供了很大的帮助。学习思考批处理和“全表扫描”也是一种调整,习惯Map Reduce编程并非易事,尽管有许多工具可以保护你不用编写原始地图缩减。

2:大部分Hadoop&朋友代码库基本上仍然是alphaware,有时候版本之间的变化很多。您肯定希望测试集群首先进行升级,看看有什么中断。在升级过程中,显着的API更改并不意外。

3:我没有专门使用memcached,我使用Hadoop进行后端ETL处理,而不是渲染页面。在这里真的无法帮到你。

4:了解项目的最佳方法是获取代码并开始查看它。练习使用它一段时间,最终你会找到你认为可以做得更好的东西,或者你想要的功能。这是任何参与的好地方。请务必注册开发人员邮件列表,并注意现有的错误和功能请求列表,以查看是否有人正在处理类似的事情。大多数这些项目你需要获得具有提交权限的人才能放入你的代码,但这并不难。阅读您感兴趣的特定项目,了解更多具体信息。

答案 1 :(得分:0)

我的经历是:

  1. 主要的挑战是在来自关系背景时以无SQL术语思考。例如,HBase(基于Hadoop DFS构建)只会提供升序,如果要执行降序查找,则需要维护反向索引;即ID 1指向书A,反向索引(max - 1)指向1.文档是一个问题但是 - 社区,就像在所有OSS中一样,非常重要。沿着Git和Jersey我会说HBase社区非常有用,因此可以弥补文档的不足,并且HBase文档一直在不断改进。另一个挑战是搜索。我们经常使用SQL RDBMS进行搜索,例如,HBase完全不适用于此目的。建议使用其他软件进行搜索,同时使用HBase进行可靠的存储,例如:弹性搜索,Apache Solr,Apache Lucene等。
  2. 这实际上取决于项目到项目,在HBase的情况下有很大的改进从0.20.X到0.90.X(它的发布是显着的)。 AFAIK的数据存储格式不会发生变化,API也不会发生变化,但是像主要版本的主要OSS一样会改变API的变化,但是稍作修改就没有API的变化。虽然在升级方面没有太大的经验,但从我的小冒险中我发现没有检索数据的问题。
  3. 这很棘手,在很大程度上取决于此处所讨论的应用程序类型。正如你提到memcached我想分享我们目前正在经历的经验。除了直接主键查找之外,我们没有使用HBase进行任何搜索。所有其他搜索都通过Apache Solr(基于Lucene)进行。所以搜索结果由Solr缓存。在应用程序层,当我们使用Java时,我们使用Ehcache来存储原始对象。在网络缓存中,我们使用Varnish Cache,使用ESI我们将页面分段为每个用户内容,例如登录,注销,帐户,购物车等,以及一般内容,例如新闻,事件,产品等实现高吞吐量。
  4. 我想同意Mark Tozzi的意见。