1.图片、文件和二进制数据
利用数据库的BLOB字段存放图片、文件和二进制数据很方便,
但存在以下相关性能问题:
- 数据库的读写速度永远赶不上文件系统处理的速度
- 数据库备份巨大且耗时长
- 文件的访问需要穿越应用层和数据库层
解决之道:数据库中存放文件的相对路径,或者使用S3或CDN之类的云存储服务。
2.短生命周期数据
顾名思义,指那些中间统计临时数据,各种实时数据如测量数据、GPS数据、Session数据等,
在短时间内有用且经常变化的数据。
解决之道:用 redis, statsd/graphite, Riak 来处理相关数据。
3.日志文件
频繁的日志插入必然会占用数据库资源和空间。
解决之道:
(1)日志数据和业务数据放到不同的数据库中。
(2)采用 Splunk Loggly或纯文本文件来存放日志数据,然后根据具体的需要来进行相关处理。