《HBase实战》一2.7 原子操作

简介:

本节书摘来异步社区《HBase实战》一书中的第2章,第2.7节,作者: 【美】Nick Dimiduk , Amandeep Khurana 译者: 谢磊 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.7 原子操作

HBase实战
HBase操作库里的最后一个命令是列值递增(Increment Column Value)。它有两种使用方式,像其他命令那样使用Increment命令对象,或者作为HTableInterface的一个方法来使用。我们使用HTableInterface的方式,因为语义更直观。我们使用它来保存每个用户发布推帖的总数,如下所示:


q2


该命令不用先读出HBase单元就可以改变存储其中的值。数据操作发生在HBase服务器上,而不是在你的客户端,所以速度快。当其他客户端也在访问同一个单元时,这样避免了出现紊乱状态。你可以把ICV(Increment Column Value)等同于Java的AtomicLong.addAndGet()方法。递增值可以是任何Java``Long类型值,无论正负。我们将在下一节深入讨论原子性操作。

也请注意这个数据不是存储在twits表而是users表中。存在users表的原因是不希望这个信息成为扫描的一部分。存在twits表里会让常用的访问模式很不方便。

就像Java的原子类族,HTableInterface也提供checkAndPut()和check AndDelete()方法。它们可以在维持原子语义的同时提供更精细地控制。你可以用checkAndPut()来实现incrementColumnValue()方法:


q1

该实现有点长,但可以试试。使用checkAndDelete()的方式与此类似。

按照和前面相同的方式,你可以轻松地新建TwitsTool表。模型、DAO和命令行实现和前面users表的情况类似。本书附带的源代码提供了一个实现。

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
26天前
|
存储 分布式计算 大数据
HBase分布式数据库关键技术与实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析了HBase的核心技术,包括数据模型、分布式架构、访问模式和一致性保证,并探讨了其实战应用,如大规模数据存储、实时数据分析及与Hadoop、Spark集成。同时,分享了面试经验,对比了HBase与其他数据库的差异,提出了应对挑战的解决方案,展望了HBase的未来趋势。通过Java API代码示例,帮助读者巩固理解。全面了解和掌握HBase,能为面试和实际工作中的大数据处理提供坚实基础。
43 3
|
存储 分布式计算 监控
深入浅出 HBase 实战 | 青训营笔记
Hbase是一种NoSQL数据库,这意味着它不像传统的RDBMS数据库那样支持SQL作为查询语言。Hbase是一种分布式存储的数据库,技术上来讲,它更像是分布式存储而不是分布式数据库,它缺少很多RDBMS系统的特性,比如列类型,辅助索引,触发器,和高级查询语言等待。
833 0
深入浅出 HBase 实战 | 青训营笔记
|
2天前
|
存储 NoSQL 分布式数据库
【HBase入门与实战】一文搞懂HBase!
该文档介绍了HBase,一种高吞吐量的NoSQL数据库,适合处理大规模数据。HBase具备快速读写、列式存储和天然支持集群部署的特点,常用于高并发场景。NoSQL与关系型数据库的主要区别在于数据模型、查询语言和可伸缩性。HBase的物理架构包括Client、Zookeeper、HMaster和RegionServer,其中RegionServer管理数据存储。HBase的读写流程利用MemStore和Bloom Filter提高效率。此外,文档还提到了HBase的应用,如时间序列数据、消息传递和内容服务。
20 1
【HBase入门与实战】一文搞懂HBase!
|
分布式数据库 Hbase
|
存储 分布式计算 负载均衡
深入浅出 HBase 实战|青训营笔记
1.介绍 HBase 的适用场景和数据模型;2.分析 HBase 的整体架构和模块设计;3.针对大数据场景 HBase 的解决方案
185 0
深入浅出 HBase 实战|青训营笔记
|
分布式数据库 Hbase
|
分布式数据库 Hbase
|
分布式计算 Hadoop Java
hbase-微博三表实战demo
这是根据学习图谱中hbase的教程,写的最后的微博案例demo,使用的是mac系统,本地安装的mysql,单机版的hbase,本地环境配置的jdk版本是openjdk11.0.16.1,具体逻辑是用户微博内容写入到内容表,关注该用户的用户根据用户关系表,将数据推送到信箱表中。
165 0
|
大数据 分布式数据库 Hbase
《玩转HBase和Lindorm大数据入门和实战》电子版地址
玩转HBase和Lindorm大数据入门和实战
109 0
《玩转HBase和Lindorm大数据入门和实战》电子版地址
|
SQL 存储 消息中间件