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. 【原创】java NIO FileChannel 学习笔记 FileChannel 简介

    java NIO 中FileChannel 的实现类是  FileChannelImpl,FileChannel本身是一个抽象类. 先介绍FileChannel File Channels 是线程安全 ...

  2. Ubuntu安装微信

    1.系统是Ubuntu 16.04 64位系统,在网上先去下载electronic-wechat-Linux         https://github.com/geeeeeeeeek/electr ...

  3. python中的if __name__=='__main__': main()解析

    python中我们会看到一段代码是这样的: if __name__=='__main__': main() 这段代码的什么意思,我们可以知道代码的意思是如果__name__=='__main__'为T ...

  4. 如何把kotlin+spring boot开发的项目部署在tomcat上

    本文只讲部署过程,你首先要保证你的程序能在IDE里跑起来: 先看看你的application.properties中设置的端口号与你服务器上tomcat的端口号是否一致 server.port=80 ...

  5. JS 对象API之判断自有属性、共有属性

    自有属性:对象实例私有的属性,只有该对象实例可用 共有属性:对象实例共有的属性,所有对象实例都可用 要判断对象实例的自有属性.共有属性:首先看看JS给我们提供的两个方法: 1.判断是否是对象实例的属性 ...

  6. Java学习笔记9---类静态成员变量的存储位置及JVM的内存划分

    笔记8提到了类静态成员变量的访问方式,但静态成员变量存储在哪里呢?在网上查阅不少资料,发现好多内容都是过时的了,其中主流观点是静态成员变量存放在方法区.JDK8之前,静态成员变量确实存放在方法区:但J ...

  7. git使用过程中遇到的问题及处理方法

    1. Your local changes to the following files would be overwritten by checkout:......Please commit yo ...

  8. mysql数据库-------基础

    一 数据库是什么 把文件存放于一台机器,然后将多台机器通过网络去访问这台机器上的文件,即共享这台机器上的文件,共享则意味着竞争,会发生数据不安全,需要加锁处理,为了远程访问并处理这台共享机器上的文件, ...

  9. js变量提升小记

    作为世界上最优美的语言javascript的使用者,呵呵,js的魅力是无穷的,今天来聊聊他的魅(dan)力(teng)之一,变量提升. 每种语言所定义的变量基本都会有一定得作用域,而js的作用域则存在 ...

  10. CAD 二次开发 -- 自动加载开发的DLL

    CAD二次开发可以采用写扩展DLL的方式实现.该DLL的函数可以被CAD调用. 但是调用前,必须用命令netload 将该dll加载到CAD. 其实可以修改注册表,当CAD软件启动后,自动加载扩展DL ...