写点什么

从小型网站到超大规模网站的 MySQL 参考架构

  • 2013-03-18
  • 本文字数:1367 字

    阅读完需:约 4 分钟

Oracle 发布《面向大规模可伸缩网站基础设施的MySQL 参考架构》白皮书,针对将MySQL 用作数据存储的不同类型和不同规模的网站给出了推荐的拓扑结构。

根据分别提供4 类服务——用户和会话管理、电子商务、分析类应用 (多结构数据) 和CMS(元数据)——的网站的规模和可用性要求(如下表所示),这份白皮书给出了4 个参考架构。

请注意,这里给出的指导方针只是基本建议,实际应用中需要根据读写模式、负载平衡和所用的缓存机制等因素进行调整。

小型(Small)网站参考架构

这一参考架构可用于上述4 类网站的所有小型实现。可以使用MySQL Replication 来制作数据的副本以支持备份和分析。

中型(Medium)网站参考架构

在这种情况下,推荐针对不同类型的活动选择独立的基础设施,考虑每个MySQL 服务器最多支持8 个应用服务器,如果因伸缩性需求应用服务器数量增加,则添加更多的MySQL 从服务器。

为满足会话管理网站和电子商务网站的高可用性要求,可以使用 Linux 心跳(Heartbeat)和半同步复制。CMS 网站通常对读操作的向外扩展有更高要求,假定每个 MySQL 从服务器最多可以处理 3000 个并发用户,白皮书建议为每个 MySQL 主服务器添加 20-30 个从服务器。CMS 系统可将数据保存在一个 SAN 中,或者保存在连接到该服务器的分布式设备中。

会话管理网站和 CMS 网站推荐使用 Memcached,这有助于减轻应用服务器和 MySQL 服务器的负担。

分析类网站的拓扑结构简单一些,1 个主服务器加 3 个从服务器就能解决问题。

大规模(Large)网站参考架构

针对大规模网站,白皮书推荐使用 MySQL Geographic Replication 来进行跨数据中心的数据库复制,这种方式支持跨越地理上分离的集群进行异步复制。

会话管理网站和电子商务网站应该使用集群,白皮书声称“4 个数据节点,1 秒可以支持 6000 个会话(页面点击),其中每次页面点击生成 8–12 个数据库操作”。大规模 CMS 网站使用的配置与中型网站类似,只是必要时需要多添加一些从服务器。针对分析类应用,这里引入了一个数据提炼(Data Refinery)单元,用于数据的清理和组织。

超大规模(Extra Large)网站参考架构

针对社交网站,白皮书也给出了相应建议。它声称“网络上流量最大的 10 个网站有 9 个部署了 MySQL,其中包括 Google、Facebook 和 YouTube”,但是没有说明这些网站用 MySQL 干什么,不过众所周知的是,LinkedIn 成功应用了 MySQL。

社交网站的拓扑结构利用了中型和大规模网站中实现的概念,包括专用应用服务器、Memcached 和数据提炼单元, 但为支持写操作的向外扩展引入了分片(Shard)。MySQL 集群被用于用户的认证和查找,当“用于查找的键(key)不止 1 个”时,直接读写相应的分片。

MySQL 主服务器和从服务器的推荐规格如下:

  • 8–16 个 x86-64 位 CPU 核心(MySQL 5.5 及以上)。
  • 4–8 个 x86 -64 位 CPU 核心(MySQL 5.1 及更早版本)。
  • 比活动数据多 3–10 倍的内存。
  • Linux、Solaris 或 Windows 操作系统。
  • 最少 4 块磁盘,8–16 块磁盘能增加 I/O 密集型应用的性能。
  • 支持电池供电高速缓存的硬件 RAID。
  • 推荐使用 RAID 10。如果负载为读密集型,RAID 5 也是合适的。
  • 2 个网卡和 2 个供电单元用作冗余。

另外,白皮书还有一些针对 MySQL 集群和数据存储设备的建议,再就是用于监控、备份和集群管理的解决方案。

查看英文原文 MySQL Reference Architectures for Small to Extra Large Websites

2013-03-18 04:1913595
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 143.5 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

中国信通院“OSCAR开源生态建设沙龙”成功召开

中国IDC圈

开源

AI降临,前端启用面壁计划

京东科技开发者

人工智能 AI 前端 企业号 4 月 PK 榜

Guava的EventBus事件机制实现

Java你猿哥

Java 源码 ssm Guava EventBus

七大关键技术,华为云数据库GaussD承载金融级核心系统

平平无奇爱好科技

云计算,

THREE.JS实现炫酷的3D简历网站

知心宝贝

前端 后端 3D ThreeJS 三周年连更

面试官:介绍一下什么是缓存雪崩、缓存击穿、缓存穿透?

Java redis 缓存穿透 缓存击穿 缓存雪崩

NFT加密钱包交易系统开发搭建技术

薇電13242772558

NFT

数据灾备方案,华为云为何受众多企业信赖与选择?

平平无奇爱好科技

阿里云机器学习PAI发布基于HLO的全自动分布式系统 TePDist,并宣布开源!

阿里云大数据AI技术

深度学习 分布式系统 开源项目 企业号 4 月 PK 榜

Matlab实现粒子群算法

Shine

三周年连更

4月26日-30日,KaiwuDB 在数字中国等你!

KaiwuDB

数字中国 KaiwuDB

从原理聊JVM(二):从串行收集器到分区收集开创者G1

京东科技开发者

G1 JVM 垃圾回收器 java 企业号 4 月 PK 榜

率失真函数的性质

timerring

信息论与编码

华为云OBS,助力企业海量、安全、高可靠、低成本数据存储

轶天下事

云计算,

Tars-Cpp 协程实现分析

vivo互联网技术

协程 TARS

NPM 实用命令与快捷方式

SEAL安全

JavaScript npm 企业号 4 月 PK 榜

ES的索引结构与算法解析

京东科技开发者

搜索引擎 elasticsearch 索引结构 ES 企业号 4 月 PK 榜

复旦MOSS大模型开源了「中国版ChatGPT」,Github和Hugging Face同时上线

肥晨

三周年连更

从源码全面解析 ArrayBlockingQueue 的来龙去脉

Java 源码 ArrayBlockingQueue

面试还不懂JVM调优,看这篇就够了

程序员小毕

程序员 面试 后端 架构师 jvm调优

浅谈华为云CDN在互联网领域的应用场景落地

YG科技

Spring循环依赖为何使用三级缓存?

Java你猿哥

Java spring 缓存 bean spring ioc

GitHub排名第一《lntellij IDEA软件开发与应用实战手册》限时开源

Java你猿哥

Java spring ssm IDEA

阿里开发实录:慢SQL拖垮数据库并引发故障

Java永远的神

数据库 sql 程序员 后端 架构师

PHP 中数组是如何灵活支持多数据类型的?

架构精进之路

php 数组 后端 三周年连更

华为云大数据BI解决方案,助力企业数字化运营

轶天下事

华为云大数据BI方案为房地产行业数字化发展赋能

轶天下事

云计算,

华为云虚拟专用网络VPN常见问题解答

YG科技

企业上云,华为云桌面兼顾效率与安全

平平无奇爱好科技

Bytebase 体验官之 MySQL 「SQL 审核」

朱亚光

企业数据的最后防线——华为云数据灾备

YG科技

云计算,

从小型网站到超大规模网站的MySQL参考架构_数据库_Abel Avram_InfoQ精选文章