我现在不做hbase,只是恰巧在big data 和open source 领域,因为我们的项目有这些
需求,所以任何项目都会涉及一点。
兄弟,我真要吐血了。(我对你没有个人意见,我也不知你是谁,如果之前说话不太
nice 请见谅。)
big data 领域,我们一般提 ad-hoc query 时,与知相对的是所谓的 batch
processing。batch processing 一般指run mapreduce job 或其他job比如scan 一个
巨大的文件,无论一个小时还是一晚上得到结果, doesn't matter. ad-hoc 相对的,
指随机的查询,很快的得到结果(<1sec),比如query user data by user id. 对于单
机DB小数据来说,这根本不是问题,但对于distributed file system, 我们需要相应
的技术来实现这种需求,所以才有bigtable 以及后来者。举个例子,在100TB数据中找
到一个user id,极相应记录,只有nosql 可以在1秒内办到。
given a key, to get the value(s), 本身就是最典型的ad-hoc query. 是每个nosql
最基本的功能,否则要他做什么?distributed file system 就可以了。你说nosql
not support ad-hoc query, 任何相关领域的人都得和你急。
NoSQL 多数所不具备的是 non-key indexing support, or secondary indexing, 其中
有其技术限制, 说来话长了。号称可以的,都有其自身限制。
说实话,我不认为我们有相同的tech background and context,这种最基本的term 还
有争议,深入的技术讨论也没有意义。
不好意思, hijack 了原帖,一会儿另回关于 big data and job 的想法。