互联网存储层技术了解

SQL

业务发展到一定阶段后,需要拆库拆表来满足业务的进一步发展,一般做法是将这部分功能独立成中间件,如百度的 DBProxy、淘宝的 TDDL,开源方案如 MySQL的 MySQL Router、360 开源的 Atlas。

假如业务继续发展,规模继续扩大,SQL 服务器越来越多,如果每个业务都基于统一的数据库中间件独立部署自己的 SQL 集群,就会导致新的复杂度问题,具体表现在:

  • 数据库资源使用率不高,比较浪费;
  • 各 SQL 集群分开维护,投入的维护成本越来越高;

实力雄厚的大公司此时一般都会在 SQL 集群上构建 SQL 存储平台,以对业务透明的形式提供资源分配、数据备份、迁移、容灾、读写分离、分库分表等一系列服务,如淘宝的 UMP(Unified MySQL Platform)系统。

NoSQL

NoSQL 方案一般自己本身就提供集群的功能,发展到一定规模后,通常会在 NoSQL 集群的基础之上再实现统一存储平台,统一存储平台主要实现这几个功能:

  • 资源同态按需分配,如同一台 Memcache 服务器,可以根据内存利用率,分配给多个业务使用;
  • 资源自动化管理,如新业务只需要申请多少 Memcache 缓存空间就可以了,无需关注具体是哪些 Memcache 服务器在为自己提供服务;
  • 故障自动化管理,如某台 Memcache 服务器挂掉后,有另外一台备份 Memcache 服务器能立刻接管缓存请求,不会导致丢失很多缓存数据;

小文件存储

得益于开源和大数据,可以在开源方案的基础上封装一个小文件存储平台。例如,HBase、Hadoop、Hypertable、FastDFS 等都可以作为小文件存储的底层平台,只需要将这些开源方案再包装一下基本上就可以用了。

典型的小文件存储有:淘宝的 TFS、京东 JFS、Facebook 的 Haystack。

大文件存储

互联网行业的大文件主要分为两类:一类是业务上的大数据,如视频、电影;另一类是海量的日志数据,如各种访问日志、操作日志、用户轨迹日志等。
说到大文件,特别要提到 Google 和 Yahoo,Google 的 3 篇大数据论文(Bigtable/Map- Reduce/GFS)以及 Yahoo 开源的 Hadoop 系列。
实力雄厚一些的大公司会基于这些开源方案,结合自己的业务特点,封装成大数据平台,如淘宝的云梯系统、腾讯的 TDW 系统。

--------来源《极客课程》∙ 学习摘要

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值