写点什么

从小型网站到超大规模网站的 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:1913299
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

四川农信:与先进科技融合,更好服务广大用户|客户之声

OceanBase 数据库

数据库 oceanbase

AI日课@20230409:对话式用户界面

无人之路

ChatGPT

【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式

洛神灬殇

分布式 SAML SSO 单点登录

DevOps infra | 互联网、软件公司基础设施建设(基建)哪家强?

laofo

DevOps 研发效能 持续交付 infra 平台工程

MySQL自增ID用完了怎么办?4种解决方案!

Java你猿哥

Java MySQL sql 后端 ssm

五面阿里巴巴拿offer后定级P6:分享Java面经及答案总结

Java你猿哥

Java 面试 面经 春招 Java八股文

为了减少延迟和卡顿,我对 MySQL 查询做了这些优化处理...

Java你猿哥

MySQL sql ssm MySQL优化 优化SQL

多库多表场景下使用 Amazon EMR CDC 实时入湖最佳实践

亚马逊云科技 (Amazon Web Services)

Java

成立数科公司之余,央国企推进数智化转型还需要底座支撑

用友BIP

Java概述与基础知识

timerring

Java

Kubernetes 本地持久化存储方案 OpenEBS LocalPV 落地实践上——使用篇

江湖十年

k8s 后端 #Kubernetes# Go 语言

火了!阿里资深架构师总结的春招Java岗核心笔记,GitHub标星20k

Java你猿哥

Java ssm 面经 Java工程师 java核心知识

谈谈现在编程行业的热门话题| 社区征文

魏铁锤

三周年征文

AI时代要用俄罗斯套娃思考模式

FN0

AIGC

一文吃透Arthas常用命令!

程序员大彬

Java JVM

如何高效清洗数据?试试这款神器

博文视点Broadview

Redis一主二从环境搭建

京茶吉鹿

nosql redis

数据散、管理难和上云难,看华为云解决制造业数字化转型难题

与时俱进的时代

数字化转型困局?华为云提供多款解决方案助力制造业企业上云加速转型

与时俱进的时代

前端工程化实战:React 的模块化开发、性能优化和组件化实践

兴科Sinco

性能优化 前端工程化 React Native 前端模块化 组件化开发

包装了三年工作经验的我,被同事发现居然连这些Maven的操作都不懂

Java你猿哥

maven ssm 架构师 Java工程师

流程图哪个软件好用?10款好用的流程图软件推荐:boardmix、Visio、Miro…

彭宏豪95

效率工具 职场 工具 流程图 在线白板

Django笔记六之外键ForeignKey介绍

Hunter熊

Python django 外键 ForeignKey

“程序员”即将失业 | 社区征文

六月的雨在InfoQ

程序员 ChatGPT GPT-4 三周年征文

iOS SKAN 4.0 时代的广告追踪优化:掌握隐私友好的营销策略

37手游iOS技术运营团队

SKAdNetwork SKAN IDFA ATT App Tracking Trans

技术同学如何做好向上管理

老张

职场新人 向上管理

ChatGPT会在三年内终结编程吗?| 社区征文

芯动大师

程序员 ChatGPT 三周年征文

NCCL源码解析②:Bootstrap网络连接的建立

OneFlow

人工智能 深度学习

潮起风来,政企DICT “跃升”之乘风破浪篇

鲸品堂

DT IT 企业号 4 月 PK 榜 ct

“成本刺客”防不胜防,如何应用亚马逊云科技驾驭云成本

Lily

华为运动健康服务Health Kit 6.10.0版本新增功能速览!

HarmonyOS SDK

HMS Core

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