HBase 表设计_3 | 学习笔记

简介: 快速学习 HBase 表设计_3

开发者学堂课程【HBase入门教程HBase表设计_3】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/397/detail/5083


HBase表设计_3


内容介绍

一、表设计代码

二、讲解


一、表设计代码

person

rowkey

CF1

CF2

 

person_info

role

member_id

person_info:name

person info:age

role:role id1=优先级 num

role:role id2=优先级 num

 

001

cf1:name=xiaoming

cf2:101=1cf2:102=0

role

rowkey

CF1

CF2

 

role_info

person

role_id

role info:name

role info:fullname

person:member

id1 =member name

person:member id2=member name

101

102

cf1:name=服务员

cf1:name=前台

cf2:001=xiaoming

cf2:001=xiaoming


二、讲解

找到对应的人员 id,查找第二个列族下边所有的列,以及对应的值的优先级,拿到所有用户的角色,只要找到一个用户,找对对应角色 id,角色之间有优先级,通过这个值,标示出优先级。角色有多个人员,查询要比修改多,查询的时候,只要找到对应的角色 id,可以很快的找到这一行,person 这一列族下边的所有的列全部查询出来,对应的人员 id 和名称。不同的人员,人员 id 一定是唯一的,以不同的人员 id 做为你的列,对应的名称,对应的值。

人员

删除添加角色 xaioming 刚开始是101,对应的101xiaoming 角色加过去,删除 把小明对应的前台的001删除,可以满足需求

角色

可以添加删除人员 直接跟刚才一样,把人员添加上,给小明前台下添加一个小明,对应的把前台这边加载过来,删除与之类似。

人员  角色

删除添加 向表格里添加角色  删除:小明这一行数据要删除,小明有101102这两个角色,在101102对应的角色里的小明删除。对应的人员列表里有小明,对应的找到001,人员表里001 102删除。

添加,删除操作起来比较麻烦,查询的操作远多于删除,人员-角色这种关系,录入系统的时候,操作的最多,后期修改的可能性会小一些。只有新的人员和新的角色假加入,才会进行操作,大部分时间做的都是一些查询,这样设计完全是可以的。

人员角色的变更和查询,实际场景当中人员和角色实际有多少条,这个问题,设置了一个场景,跳出这个业务场景来考虑,人员和角色这样设计描述了两张表多对多这样一种情况,描述了多对多表的设计,直接将多对多表设计比较复杂。设计表的时候,考虑 HBase 的特点

做范围查询,前缀的过滤,各种过滤器,值的过滤。这个表通过id查询。

两张: ptable (员工) rtable (角色)

ptable:1

rk:rid cf1:pid=pname cf2:rname=角色名称(人员添加查角色下人员数量)

ptable:2

rk:pid cf1:rid=优先级 cf2:pname=员工名称。。(人员多少角色可查角色删除等)

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库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
相关文章
|
6月前
|
机器学习/深度学习 分布式计算 Hadoop
一种HBase表数据迁移方法的优化
一种HBase表数据迁移方法的优化
91 0
|
6月前
|
SQL Java 分布式数据库
实现HBase表和RDB表的转化(附Java源码资源)
该文介绍了如何将数据从RDB转换为HBase表,主要涉及三个来源:RDB Table、Client API和Files。文章重点讲解了RDB到HBase的转换,通过批处理思想,利用RDB接口批量导出数据并转化为`List<Put>`,然后导入HBase。目录结构包括配置文件、RDB接口及实现类、HBase接口及实现类,以及一个通用转换器接口和实现。代码中,`RDBImpl`负责从RDB读取数据并构造`Put`对象,`HBaseImpl`则负责将`Put`写入HBase表。整个过程通过配置文件`transfer.properties`管理HBase和RDB的映射关系。
57 3
实现HBase表和RDB表的转化(附Java源码资源)
|
6月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.16 安装HBase
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
137 1
Hadoop学习笔记(HDP)-Part.16 安装HBase
|
存储 前端开发 Cloud Native
基于 HBase 快速构架海量订单存储系统|学习笔记
快速学习基于 HBase 快速构架海量订单存储系统
基于 HBase 快速构架海量订单存储系统|学习笔记
|
存储 Java Shell
分布式数据库HBase的常用操作的基本Shell命令的表操作
HBase是一个分布式数据库系统,支持高性能、可伸缩、实时的数据存储和处理。在HBase中,我们可以使用Shell命令来进行常用的操作,如创建表、插入数据、查询数据、更新数据等。本文将介绍关于分布式数据库HBase的常用操作基本Shell命令的表操作。
254 0
|
存储 搜索推荐 Java
如何基于 HBase 构建图片、视频数据的统一存储检索方案|学习笔记
快速学习如何基于 HBase 构建图片、视频数据的统一存储检索方案
如何基于 HBase 构建图片、视频数据的统一存储检索方案|学习笔记
|
SQL 缓存 分布式计算
HBase查询一张表的数据条数的方法
HBase查询一张表的数据条数的方法
1017 0
HBase查询一张表的数据条数的方法
|
分布式数据库 索引 Hbase
《HBase应用与发展之HBase RowKey与索引设计》电子版地址
HBase应用与发展之HBase RowKey与索引设计
122 0
《HBase应用与发展之HBase RowKey与索引设计》电子版地址
|
分布式数据库 Hbase
|
分布式数据库 Hbase