hbase性能调优_表设计案例

2017年2月9日, 星期四


hbase性能调优案例

1、人员-角色

人员有多个角色  角色优先级

角色有多个人员

人员 删除添加角色

角色 可以添加删除人员

人员 角色 删除添加

设计思路

 

person表

rowkey cf1 - 人员基本信息  cf2 - 角色列表
pid cf1:pname=;cf1:age;..  cf2:rid=n数字、优先级;...

person表--举例说明

001  cf1:pname=小周;cf1:age=1;    cf2:102=0;

002  cf1:pname=小明;cf2:age=99;   cf2:101=1;cf2:102=0;

role表

rowkey  cf1 - 角色基本信息 cf2 - 人员列表
rid    cf1:rname=;  cf2:pid=pname;...

role表--举例说明

101  cf1:rname=前台;    cf2:002=小明;

102  cf1:rname=销售;     cf2:001=小周;cf2:002=小明;

2、组织架构 部门-子部门

查询 顶级部门

查询 每个部门的所有子部门

部门 添加、删除子部门

部门 添加、删除

设计思路

1.    优先考虑查询的性能,(部门的添加删除要少于查询)

rowkey cf1 - 基本信息 cf2 - 子部门列表
pid cf1:name;cf1:pid;... cf2:pid=name;...

pid 设计:

0_标识    顶级部门

1_标识    非顶级部门

举例说明

0_001        cf1:name=互联网;...                              cf2:1_002=开发部;cf2:1_003=测试部;

1_002        cf1:name=开发部;cf1:pid=0_001;...

1_003        cf1:name=测试部;cf1:pid=0_001;...

3、根据新浪微博系统:请建立微博系统的表

发微博

查看微博:

1、查看首页微博

2、查看某个用户发布的所有微博

关注好友、取消关注、查看关注的好友列表

查看粉丝列表

设计思路

 

用户表

关注好友、取消关注、查看关注过的好友列表

查看粉丝列表

rowkey  cf1 - 关注列表 cf2 - 粉丝列表
uid cf1:uid=uname;... cf2:uid=name;...

用户表--举例说明

001        小明                                                                                cf2:002=李雷

002        李雷                        cf1:001=小明

 

微博表

完成查看某个用户发布的所有微博功能

rowkey  cf1 - 微博信息
wid cf1:weibo=微博内容

wid 设计:

uid_(Long.max-time)

 

收微博表

开启一个子线程,进行微博收集

完成查看首页微博功能

rowkey cf1
uid cf1:collect=wid
(version=1000)

                            

时间: 2024-11-03 01:36:43

hbase性能调优_表设计案例的相关文章

hbase性能调优案例

hbase性能调优案例 1.人员-角色 人员有多个角色  角色优先级 角色有多个人员 人员 删除添加角色 角色 可以添加删除人员 人员 角色 删除添加 设计思路 person表 rowkey cf1 - 人员基本信息  cf2 - 角色列表 pid cf1:pname=;cf1:age;..  cf2:rid=n数字.优先级;... person表--举例说明 001  cf1:pname=小周;cf1:age=1;    cf2:102=0; 002  cf1:pname=小明;cf2:age

hbase性能调优(1)

hbase性能调优 标签: hbase 性能调优 | 发表时间:2014-05-17 15:10 | 作者:无尘道长 分享到: 出处:http://www.iteye.com 一.服务端调优 1.参数配置 1).hbase.regionserver.handler.count:该设置决定了处理RPC的线程数量,默认值是10,通常可以调大,比如:150,当请求内容很大(上MB,比如大的put.使用缓存的scans)的时候,如果该值设置过大则会占用过多的内存,导致频繁的GC,或者出现OutOfMem

MySQL性能调优与架构设计——第 14 章 可扩展性设计之数据切分

第 14 章 可扩展性设计之数据切分 前言 通过 MySQL Replication 功能所实现的扩展总是会受到数据库大小的限制,一旦数据库过于庞大,尤其是当写入过于频繁,很难由一台主机支撑的时候,我们还是会面临到扩展瓶颈.这时候,我们就必须许找其他技术手段来解决这个瓶颈,那就是我们这一章所要介绍恶的数据切分技术. 14.1 何谓数据切分 可能很多读者朋友在网上或者杂志上面都已经多次见到关于数据切分的相关文章了,只不过在有些文章中称之为数据的 Sharding.其实不管是称之为数据的 Shard

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化 前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只是在解决前妻设计所遗留下来的一些问题而已,而且能够解决的问题通常也比较有限.本章将就如何在 MySQL 数据库 Schema 设计的时候保证尽可能的高效,尽可能减少后期的烦恼. 9.1 高效的模型设计 最规范的就一定

MySQL性能调优与架构设计——第 18 章 高可用设计之 MySQL 监控

第 18 章 高可用设计之 MySQL 监控 前言: 一个经过高可用可扩展设计的 MySQL 数据库集群,如果没有一个足够精细足够强大的监控系统,同样可能会让之前在高可用设计方面所做的努力功亏一篑.一个系统,无论如何设计如何维护,都无法完全避免出现异常的可能,监控系统就是根据系统的各项状态的分析,让我们能够尽可能多的提前预知系统可能会出现的异常状况.即使没有及时发现将要发生的异常,也要在异常出现后的第一时间知道系统已经出现异常,否则之前的设计工作很可能就白费了. 18.1 监控系统设计 系统监控

MySQL性能调优与架构设计——第 17 章 高可用设计之思路及方案

第 17 章 高可用设计之思路及方案 前言: 数据库系统是一个应用系统的核心部分,要想系统整体可用性得到保证,数据库系统就不能出现任何问题.对于一个企业级的系统来说,数据库系统的可用性尤为重要.数据库系统一旦出现问题无法提供服务,所有系统都可能无法继续工作,而不像软件中部分系统出现问题可能影响的仅仅只是某个功能无法继续服务.所以,一个成功的数据库架构在高可用设计方面也是需要充分考虑的.本章内容将针对如何构建一个高可用的 MySQL 数据库系统来介绍各种解决方案以及方案之间的比较. 17.1 利用

[转]MySQL性能调优与架构设计——第11章 常用存储引擎优化

第11章 常用存储引擎优化 前言: MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多.每一种存储引擎都有各自的特长,也都存在一定的短处.如何将各种存储引擎在自己的应用环境中结合使用,扬长避短,也是一门不太简单的学问.本章选择最为常用的两种存储引擎进行针对性的优化建议,希望能够对读者朋友有一定的帮助. 11.1 MyI SAM存储引擎优化 我们知道,MyISAM存储引擎是MySQL最为古老的存储引擎之一,也是最为流行的存储引擎之一.对

MySQL性能调优与架构设计——第11章 常用存储引擎优化

第11章 常用存储引擎优化 前言: MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多.每一种存储引擎都有各自的特长,也都存在一定的短处.如何将各种存储引擎在自己的应用环境中结合使用,扬长避短,也是一门不太简单的学问.本章选择最为常用的两种存储引擎进行针对性的优化建议,希望能够对读者朋友有一定的帮助. 11.1 MyI SAM存储引擎优化 我们知道,MyISAM存储引擎是MySQL最为古老的存储引擎之一,也是最为流行的存储引擎之一.对

MySQL性能调优与架构设计——第13章 可扩展性设计之 MySQL Replication

第13章 可扩展性设计之 MySQL Replication 前言: MySQL Replication 是 MySQL 非常有特色的一个功能,他能够将一个 MySQL Server 的 Instance 中的数据完整的复制到另外一个 MySQL Server 的 Instance 中.虽然复制过程并不是实时而是异步进行的,但是由于其高效的性能设计,延时非常之少.MySQL 的Replication 功能在实际应用场景中被非常广泛的用于保证系统数据的安全性和系统可扩展设计中.本章将专门针对如何利