《自己动手写云盘》 – 数据库设计 博客分类: 云计算大数据 自己动手写云盘大数据云计算HadoopHBase
个人主页链接:http://www.tongtongxue.com/archives/4812.html
概述
《自己动手写云盘》中会涉及到两种数据库,一个是关系型数据库即MySQL,另一个是NoSQL数据库HBase,目前HBase中只存放到文件信息,其它信息放到MySQL中。数据库设计如下:
MySQL中存放的表如下:
用户登录信息表:yp_auth
字段名 |
类型 |
说明 |
login_id |
varchar(32) |
主键 |
login_name |
varchar(128) |
登录名 |
password |
varchar(32) |
密码,加密后的 |
create_datetime |
datetime |
创建时间 |
create_ip |
varchar(32) |
创建时的IP |
latest_login_datetime |
datetime |
最后一次登录时间 |
latest_login_ip |
varchar(32) |
最后一次登录时的IP |
is_active |
int |
状态,0:未激活; 1:正常;2:禁用 |
person_id |
varchar(32) |
外键, 引用yp_person表的主键 |
个人信息表:yp_person
字段名 |
类型 |
说明 |
person_id |
varchar(32) |
主键 |
real_name |
varchar(128) |
真实姓名 |
|
varchar(128) |
电子邮箱 |
telephone |
varchar(128) |
固定号码 |
cellphone |
varchar(128) |
手机号码 |
introduction |
varchar(4000) |
个人简介 |
picture |
varchar(128) |
个人头像,存放路径 |
create_datetime |
datetime |
创建时间 |
上传文件表:yp_upload_file
字段名 |
类型 |
说明 |
upload_file_id |
varhcar(32) |
主键 |
original_name |
varchar(256) |
文件原始名称 |
file_size |
long |
文件大小 |
file_type |
varchar(128) |
文件类型 |
path |
vachar(128) |
文件路径, 存放HBase中某条记录的rowkey |
person_id |
varchar(32) |
外键, 引用yp_person表的主键 |
create_datetime |
datetime |
创建时间 |
order_id |
int |
排序字段 |
upload_ip |
varchar(32) |
上传文件时的IP |
directory_id |
varchar(32) |
外键, 引用yp_directory表的主键, 表示该文件所在的目录 |
status_id |
int |
文件状态 |
reserve1 |
varchar(1024) |
备用字段1 |
reserve2 |
varchar(1024) |
备用字段2 |
reserve3 |
varchar(1024) |
备用字段3 |
reserve4 |
varchar(1024) |
备用字段4 |
reserve5 |
varchar(1024) |
备用字段5 |
文件目录表:yp_directory
字段名 |
类型 |
说明 |
directory_id |
varchar(32) |
主键 |
directory_name |
varchar(128) |
目录名 |
parent_id |
varchar(32) |
父目录的ID |
person_id |
varchar(32) |
外键, 引用yp_person表的主键 |
create_datetime |
datetime |
创建时间 |
文件分享表:yp_share_file
字段名 |
类型 |
说明 |
share_file_id |
varchar(32) |
主键 |
upload_file_id |
varchar(32) |
外键, 引用yp_upload_file的主键 |
person_id |
varchar(32) |
外键, 引用yp_person的主键 |
share_code |
varchar(32) |
分享的唯一编码 |
status |
int |
分享状态 |
share_type |
int |
分享类型,0:私密分享; 1:公开分享 |
create_datetime |
datetime |
创建时间 |
HBase中存放的表如下:
文件信息表:yp_file
字段名 |
说明 |
rowkey |
rowkey值 |
file_info.file |
file_info为列簇,存放文件 |
file_info.person_id |
file_info为列簇,存放个人信息表的主键 |
关注微信公众号