大数据处理思路与mysql分区1

来源:互联网 发布:手机淘宝所在地怎么改 编辑:程序博客网 时间:2024/05/29 09:45
大数据量处理的基础思路


一:分字诀
1:用和不用分开,常用和不常用分开
2:对数据库存放的数据:分区,分库,分表
3:对文件存放的数据:拆文件
4:考虑分批处理
原则就是:尽量使每次操作的数据的基数减少


二:合理使用缓存


三:数据库优化
1:合理设计数据库结构
2:合理构建索引
3:数据库集群(读写分离),集群分担压力


四:优化算法
1:优化操作数据的算法
2:优化SQL
3:考虑使用临时表、中间表


五:合理使用Nosql


六:使用分布式大数据处理方案(Hadoop,Spark,Storm)


------------------------------------------------------
Mysql分区:
将一个表分解成多个区块进行操作和保存,从而降低每次操作的数据基数,提高性能,而对应用来说是透明的,从逻辑看来还是一个表(这跟分库分表的访问不一样),但在物理上这个表可能是由多个物理分区组成的。每个分区都是一个独立的对象,可以进行独立处理。


分区能干什么:
1:进行逻辑数据分隔,分隔数据能够有多个不同的物理文件路径。
2:可以存储更多的数据,突破系统单个文件最大限制
3:提升性能,提高每个分区的读写速度,提高分区范围查询的数据。
4:可以通过删除相关分区来快速删除数据(以年分区,删除若干年前的数据)
5:通过跨多个磁盘来分散数据查询,从而提高磁盘IO性能。
6:设计到SUM,COUNT等聚合函数可以并行处理。
7:可以备份和恢复独立的分区


分区类型:(1,2常用)
1:Range分区 例如每10000行记录一个区


2:List分区,按list的离散值分区


3:Hash分区(用户定义hash函数)


4:Key分区(系统默认hash函数)


注意:
分区函数的key必须是pk或者UK,即分区只能从pk,uk取子集,但表没pk和uk则随意指定一个列;无论使用何种类型分区,分区总是在创建时就自动从0开始编号
1 0
原创粉丝点击