现实世界商务竞争越演越烈,出现更多的细分市场、深度营销和定制功能,这导致各种商务应用的用户数和业务复杂度同步增加
反映到数据库里,就是表的数量和数据量日益增长,数据库响应速度日益缓慢
为什么一个功能好的产品,往往上线后就出现性能问题,不得不反复回炉修改
为什么一到业务高峰期,系统就慢的动弹不得,只能关闭部分业务保障关键业务
数据量从十万到百万,从百万到千万,从千万到上亿,从亿再向兆跨越,如何保障程序能够经受住大数据量的考验
这都是我们面临的真实现状,也是大家反复在思考的问题
《道德经》上说:“有道无术,术尚可求,有术无道,止于术
”众人把目光集中在系统架构、查询算法、数据库软件的底层原理等等“术”上,却忽视了深刻理解数据这条光明大“道”
数据从哪里来
数据用来读还是写
数据与数据之间有什么样的关系
数据的增长速度如何控制
最有价值的数据是什么
数据什么时候可以丢弃
假如不能回答这一长串问题,如果不是以这一长串问题的答案为程序设计的出发点,代码如何能经受大数据量的考验
在数据的采集、计算、展现和存储这一设计链条中,开发者通常负责设计关系型数据模型,编写程序计算和展现数据,数据库管理员负责数据文件存放位置、表空间存储参数等的架构设计
但是,数据库管理员往往不了解业务,不了解数据的特点,数据存储设计表现为千“表”一律
数据存储设计模式是根据数据的真正特点,仔细分析数据流向、数据访问特点、数据量、数据增长量和数据生命周期,对数据进行分类,然后根据不同类型的数据设计不同的存储策略
正确的应用数据存储设计模式,可以几倍,甚至几十倍的提高数据访问效率
大数据量下的数据特点 全球最大数据库的数据量已经先后越过了MB 量级、GB 量级和 TB 量级,站到了 PB 量级的门口
在庞大的数据量面前,对数据进行分类显得尤为重要
人们对数据感兴趣的时间是不一样的,大量的数据进入