哪些耗费时间的开源维护活动最为常见?
|
HBase 应用场景 对象存储系统 HBase MOB(Medium Object Storage),中等对象存储是 hbase-2.0.0 版本引入的新特性,用于解决 hbase 存储中等文件(0.1m~10m)性能差的问题。这个特性适合将图片、文档、PDF、小视频存储到 Hbase 中。 OLAP 的存储 Kylin 的底层用的是 HBase 的存储,看中的是它的高并发和海量存储能力。kylin 构建 cube 的过程会产生大量的预聚合中间数据,数据膨胀率高,对数据库的存储能力有很高要求。 Phoenix 是构建在 HBase 上的一个 SQL 引擎,通过 phoenix 可以直接调用 JDBC 接口操作 Hbase,虽然有 upsert 操作,但是更多的是用在 OLAP 场景,缺点是非常不灵活。 时序型数据 openTsDB 应用,记录以及展示指标在各个时间点的数值,一般用于监控的场景,是 HBase 上层的一个应用。 用户画像系统 动态列,稀疏列的特性。用于描述用户特征的维度数是不定的且可能会动态增长的(比如爱好,性别,住址等),不是每个特征维度都会有数据。 消息/订单系统 强一致性,良好的读性能,hbase 可以保证强一致性。 feed 流系统存储
feed 流系统具有读多写少、数据模型简单、高并发、波峰波谷式访问、持久化可靠性存储、消息排序这些特点,比如说 HBase 的 rowKey 按字典序排序正好适用于这个场景。 3. 前面说到 Hlog 为了保证 Hbase 数据的一致性,那么如果 Hlog 太多的话,会导致故障恢复的时间太长,因此 Hbase 会对 Hlog 的最大个数做限制。当达到 Hlog 的最大个数的时候,会强制刷盘。这个参数是 hase.regionserver.max.logs,默认是 32 个。 4. 可以通过 hbase shell 或者 java api 手工触发 flush 的操作。 5. 在正常关闭 RegionServer 会触发刷盘的操作,全部数据刷盘后就不需要再使用 Hlog 恢复数据。 6. 当 RegionServer 出现故障的时候,其上面的 Region 会迁移到其他正常的 RegionServer 上,在恢复完 Region 的数据后,会触发刷盘,当刷盘完成后才会提供给业务访问。 HBase 中间层 Phoenix 是 HBase 的开源 SQL 中间层,它允许你使用标准 JDBC 的方式来操作 HBase 上的数据。在 Phoenix 之前,如果你要访问 HBase,只能调用它的 Java API,但相比于使用一行 SQL 就能实现数据查询,HBase 的 API 还是过于复杂。Phoenix 的理念是 we put sql SQL back in NOSQL,即你可以使用标准的 SQL 就能完成对 HBase 上数据的操作。同时这也意味着你可以通过集成 Spring Data JPA 或 Mybatis 等常用的持久层框架来操作 HBase。 其次 Phoenix 的性能表现也非常优异,Phoenix 查询引擎会将 SQL 查询转换为一个或多个 HBase Scan,通过并行执行来生成标准的 JDBC 结果集。它通过直接使用 HBase API 以及协处理器和自定义过滤器,可以为小型数据查询提供毫秒级的性能,为千万行数据的查询提供秒级的性能。同时 Phoenix 还拥有二级索引等 HBase 不具备的特性,因为以上的优点,所以 Phoenix 成为了 HBase 最优秀的 SQL 中间层。 HBase 安装使用
下载 HBase 压缩包,首先解压 (编辑:信阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
