mysql 豆瓣,豆瓣数据库原理

Linux + Nginx + mysql + python 平台。

每天有1000万小组话题,1600万组照片,200G结构化数据,800G文本,10T图片,2T日志,6T音乐,2T各种备份数据。

针对这些数据,我们需要考虑。

1、  可靠性。(持久性,一致性)

2、  可用性。

3、  伸缩性。

4、  性能。

5、  成本。

将这些数据再进行分类,可以分为结构化数据(关系,广播等),小文件(图片,文章,音乐等),大文件(备份,日志等)。

一、结构化数据。

(一)、特点。

1、结构固定。

2、可按条件查询

3、记录小而且多。

4、数据之间有关联。

5、可以批量查询。

(二)管理。采用mysql管理。

1、结构化存储。

2、多索引。

3、支持事务等。

(三)mysql实践一。

1、使用InnoDB引擎。

2、使用基本查询,外部join。(将join放在逻辑层去处理,这样大大提高了mysql查询的效率。)

3、通过memcache降低服务器端压力。

4、分库,分表(垂直分表)。

5、分离文本字段。

(四)mysql实践二

1、Master(RW)  ßà  Master(备份)  à  Slave(容错)

2、双SCSI硬盘做Raid0

3、半自动Fail Over

4、多实例混合部署。

二、小文件处理。

(一)、特点

1、访问方式:get set delete

2、高可用。Fail-Over

3、大空间:10K-5M 增长快。

4、用户数据,很重要。

5、基本无修改,一致性要求低。

6、随机访问,高并发,大量IO操作。

(二)单机存储。

1、reiserfs。

2、本地,远程,WEBDAV,NFS

3、目录结构。

4、用rsync备份即可。

(三)多级存储。

1、MogileFS

2、瓶颈是 Tracker(Mysql)

3、数据迁移比较慢。

(四)BeansDB

1、Hash存储,不需要中心节点。

2、数据库存储,TokyoCabimet.

3、每个区间对应多个节点。

4、复制:客户端写多次。

5、依次读取,直到有数据。

6、Hash Tree ,快速同步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值