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)
            
 

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

  1. hbase性能调优案例

    hbase性能调优案例 1.人员-角色   人员有多个角色  角色优先级   角色有多个人员   人员 删除添加角色   角色 可以添加删除人员   人员 角色 删除添加   设计思路 person表 ...

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

    第 14 章 可扩展性设计之数据切分 前言 通过 MySQL Replication 功能所实现的扩展总是会受到数据库大小的限制,一旦数据库过于庞大,尤其是当写入过于频繁,很难由一台主机支撑的时候,我 ...

  3. hbase性能调优(1)

    hbase性能调优 标签: hbase 性能调优 | 发表时间:2014-05-17 15:10 | 作者:无尘道长 分享到: 出处:http://www.iteye.com 一.服务端调优 1.参数 ...

  4. MySQL性能调优与架构设计——第8章 MySQL数据库Query的优化

    第8章 MySQL数据库Query的优化 前言: 在之前“影响 MySQL 应用系统性能的相关因素”一章中我们就已经分析过了Query语句对数据库性能的影响非常大,所以本章将专门针对 MySQL 的 ...

  5. MySQL性能调优与架构设计——第6章 MySQL Server 性能的相关因素

    第6章 MySQL Server 性能的相关因素 前言 大部分人都一致认为一个数据库应用系统(这里的数据库应用系统概指所有使用数据库的系统)的性能瓶颈最容易出现在数据的操作方面,而数据库应用系统的大部 ...

  6. MySQL性能调优与架构设计——第4章 MySQL安全管理

    第4章 MySQL安全管理 前言 对于任何一个企业来说,其数据库系统中所保存数据的安全性无疑是非常重要的,尤其是公司的有些商业数据,可能数据就是公司的根本,失去了数据的安全性,可能就是失去了公司的一切 ...

  7. MySQL性能优化总结___本文乃《MySQL性能调优与架构设计》读书笔记!

    一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图: 三.MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎 ...

  8. OCM_第十四天课程:Section6 —》数据库性能调优_各类索引 /调优工具使用/SQL 优化建议

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  9. OCM_第十三天课程:Section6 —》数据库性能调优 _结果缓存 /多列数据信息采集统计/采集数据信息保持游标有效

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

随机推荐

  1. ThreadLocal 线程本地变量 及 源码分析

    ■ ThreadLocal 定义 ThreadLocal通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量 ...

  2. 【JDK1.8】JDK1.8集合源码阅读——LinkedList

    一.前言 这次我们来看一下常见的List中的第二个--LinkedList,在前面分析ArrayList的时候,我们提到,LinkedList是链表的结构,其实它跟我们在分析map的时候讲到的Link ...

  3. chromedriver与chrome版本映射列表

    chromedriver与chrome版本映射列表: chromedriver版本 支持的Chrome版本 v2.30 v58-60 v2.29 v56-58 v2.28 v55-57 v2.27 v ...

  4. 关于 python 新式类和旧式类继承顺序的验证

    参考:http://www.cnblogs.com/blackmatrix/p/5630515.html 官方:https://docs.python.org/2/tutorial/classes.h ...

  5. IntelliJ IDEA2017.3 激活

    网上IntelliJ IDEA激活方式大多均已失效,目前常用激活方式为License Server 激活: http://idea.imsxm.com/ NOTE: 在上周五2017-12-1那天还是 ...

  6. TurnipBit之DIY无线遥控智能小车

    一.准备工作 TurnipBit 开发板 2块 TurnipBit 扩展板 1块 数据线 1条 智能小车器件 1套 电机驱动模块(L298N) 1个 在线可视化编程 点击进入   二.思路设计   2 ...

  7. angular4.0 配置打包路径以及资源文件404问题

    一.配置打包路径 配置打包路径,便于提交到SVN,不用每次都复制粘贴 在.angular-cli.json文件中修改"outDir"的路径,打包后的项目将发布到路径下 二.解决打包 ...

  8. 【转】python qt(pyqt)的文件打开、文件保存、文件夹选择对话框

    import PyQt4.QtCore,PyQt4.QtGui # 获取文件路径对话框 file_name = QFileDialog.getOpenFileName(self,"open ...

  9. golang动态加载原生代码思路

    golang动态加载原生代码思路(非plugin,非so文件.使用mmap形式运行机器码,可释放) 1.用go tool objdump,可以看到任意函数的机器码.汇编指令.偏移.(go源码下面有一个 ...

  10. python py2与py3的编码问题

    一:什么是编码 将明文转换为计算机可以识别的编码文本称为"编码".反之从计算机可识别的编码文本转回为明文为"解码". 那么什么是明文呢,首先我们从一段信息说起, ...