Hbase总结(八)Hbase中的Coprocessor
1.起因(Why HBase Coprocessor) HBase作为列族数据库最常常被人诟病的特性包含:无法轻易建立“二级索引”,难以运行求和、计数、排序等操作。比方,在旧版本号的(<0.92)Hbase中, 统计数据表 的总行数。须要使用Counter方法,运行一次MapReduce Job才干得到。尽管HBase在 数据存储层 中集成了MapReduce。能够有效用于数据表的分布式计算。然而在非常多情况下,做一些简单的相加或者聚合计算的时候,假设直接将计算过程放置在server端,能够降低通讯开销,从而获得非常好的性能提升。于是,HBase在0.92之后引入了协处理器(coprocessors)。实现一些激动人心的新特性:能够轻易建立二次索引、复杂过滤器(谓词下推)以及訪问控制等。 2.灵感来源( Source of Inspration) HBase协处理器的灵感来自于Jeff Dean 09年的 演讲 ( P66-67)。 它依据该演讲实现了相似于bigtable的协处理器,包含以下特性: 每一个表服务器的随意子表都能够 运行代码 client的高层 调用接口 (client能够直接訪问数据表的行地址。多行读写会自己主动分片成多个并行的RPC调用) 提供一个非常灵活的、可用于建立分布式服务的数据模型 能够自己主动化扩展、负载均衡、应用请求路由