鸿蒙HarmonyOS北向应用开发者极速入门教程
这就是 HBase 实现的大致思路。接下来正式进入 HBase 设计解析。 2 Hbase 简介 Hbase 官网:http://hbase.apache.org 2.1 HBase 特点 海量存储 HBase适合存储 PB 级别的海量数据,能在几十到百毫秒内返回数据。 列式存储 HBase是根据列族来存储数据的。列族下面可以有非常多的列,在创建表的时候列族就必须指定。 高并发 在并发的情况下,HBase的单个IO延迟下降并不多,能获得高并发、低延迟的服务。 稀疏性 HBase的列具有灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。 极易扩展 基于 RegionServer 的扩展,通过横向添加 RegionSever 的机器,进行水平扩展,提升 HBase 上层的处理能力,提升HBase服务更多 Region 的能力。 基于存储的扩展(HDFS)。 2.2 HBase 逻辑结构
逻辑思维层面 HBase的存储模型如下: 这里面用到了异步迭代器相关的概念。如果不明白,可以去看我的另一篇专门讨论异步迭代器的文章,【传送门】。 二、解决终止标志 好像做好了,我们用循环接收和发送,并传递了外部的终止标志给这两个方法。 真的做好了吗? 还没有。问题出在终止标志上。我们没有考虑到这两个流是相互依赖的,特别是,我们不希望生产者(使用SendAsync的代码)在任何连接失败的场景中仍然运行。 实际上,会有比我们想像中更多的终止路径:
这只是一些可能的例子,但实际的可能会更多。 本质上,这些都表示连接终止,因此我们需要以某种方式包含所有这些场景,进而允许发送和接收路径之间传达问题。换句话说,我们需要自己的CancellationTokenSource。
显然,这种需求,用库来解决是比较完美的。我们可以把这些复杂的内容放在一个消费者可以访问的单一API中: (编辑:南通站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |