`
wbj0110
  • 浏览: 1591188 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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

分享到:
评论

相关推荐

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

    在《从小型网站到超大规模网站的MySQL参考架构 笔记1》中,我们探讨了如何根据网站规模和业务需求构建高性能、高可用性的MySQL数据库架构。本文档主要分为四个部分,分别对应小型、中型、大型和超大型网络的参考架构...

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

    《面向大规模可伸缩网站基础设施的 MySQL 参考架构》白皮书提供了针对不同规模网站的MySQL设计架构,从小型到超大型网站,确保数据库的高效运行和可伸缩性。以下是各类型网站的参考架构及其特点: 1. **小型(Small)...

    面向大规模可伸缩网站基础设施的MySQL参考架构

    面向大规模可伸缩网站基础设施的MySQL参考架构是一个详细的指南,它由Oracle在2013年发布,旨在为使用MySQL作为数据存储的网站提供推荐的拓扑结构。这篇白皮书针对不同规模的网站,从小型到中型,再到大型和超大型...

    MySQL参考手册(官方发布)

    它采用了SQL(结构化查询语言)作为其主要的数据操作和管理语言,适用于各种规模的应用,从小型网站到大型企业级系统。 2. **数据库架构**:MySQL采用客户端-服务器模型,其中客户端应用程序通过网络或本地接口与...

    wp-high-availability-webrefarchs扩展mysql架构1

    【标题】:“wp-high-availability-webrefarchs扩展...总结,该文档提供了不同规模Web服务的MySQL高可用性解决方案,从小型到超大型,涵盖了复制、分区、集群等多种技术,为Web服务的稳定性和扩展性提供了理论指导。

    MySQL性能调优与架构设计

    它的流行得益于其简单、高效和可靠的特点,广泛应用于各种规模的系统,从小型Web网站到大型企业级应用。 1. MySQL的基本介绍 MySQL是一个支持多线程、高并发和多用户的SQL数据库,具有强大的查询处理能力。其服务器...

    mysql到gbase 8s迁移指南

    从MySQL迁移到GBase 8s不仅可以享受后者带来的高性能和高安全性优势,还能更好地适应大规模数据处理需求。然而,在实际迁移过程中需要注意两者的差异,并采取相应的措施来保证数据的准确性和完整性。希望本文能为...

    构建基于Linux、Apache、MySQL、PHP平台的网站.pdf

    构建基于Linux、Apache、MySQL、PHP(通常称为LAMP)平台的网站是一种常见的Web开发模式,因其开源、免费和跨平台的特性而受到广大企业和个人开发者欢迎。LAMP架构是Linux操作系统、Apache网络服务器、MySQL数据库...

    MySQL数据库详细介绍

    对于想要深入学习MySQL的用户,网络上有丰富的教程和资源可供参考,比如可以在土豆网等平台上找到MySQL数据库的学习视频教程。 以上内容涵盖了MySQL的基本概念、特点、应用场景以及相关的工具和资源,希望能帮助...

    基于ssm+mysql的小型超市仓库管理系统源码数据库论文.doc

    这篇论文对于学习Java Web开发、SSM框架应用以及小型企业管理系统的开发者具有较高的参考价值,同时也为类似规模的超市提供了一套实用的信息化管理工具。通过这样的系统,小型超市可以更加高效地进行库存监控,提升...

    mysql安装及使用笔记

    - **小型数据库系统**:MySQL 是一个轻量级的关系型数据库系统,适用于中小规模的应用场景。 - **跨平台支持**:MySQL 可以运行在多种操作系统上,包括但不限于 Linux、Unix 和 Windows。 - **使用 C/C++ 编写**:...

    基于PHP及MySQL数据库的行业网站建设.pdf

    3. 广泛的应用场景:适用于各种规模的网站开发,从小型到大型网站都能找到其用武之地。 4. 快速发展:PHP语言的更新速度快,补丁和漏洞修复及时。 5. 扩展性强:能与数据库进行高效交互,易于操作。 在搭建PHP开发...

    MYSQL Cluster研究.pdf

    如果主要是读取操作,可以采用复制架构,通过主服务器保证数据一致性,并利用从服务器分担负载。 5. MySQL Cluster的优势 MySQL Cluster的优点包括: - 高可用性:通过数据的实时复制和多节点分布,能够在硬件故障...

    精选_毕业设计_基于Python Flask框架和Mysql实现的二手物品交易平台_完整源码

    - "flask":Flask是一个轻量级的Python Web框架,适合快速构建小型到中等规模的Web应用,如本项目中的二手交易平台。 - "database":数据库是存储和检索数据的关键组件,这里特指MySQL数据库。 【知识点详解】 1. ...

    大型网站架构演变和知识体系.doc

    本书全面覆盖了从初期的小型网站到应对高并发、海量数据的大型网站架构演进过程中的关键知识点,旨在为读者提供一个系统性的理解和实践指导。 大型网站架构的核心目标是保证系统的可扩展性、高可用性和性能。早期的...

    基于ssm+mysql的中小型超市管理系统源码数据库论文.doc

    《基于SSM+MySQL的中小型超市管理系统源码数据库论文》 本文主要探讨的是基于Java Web技术,结合SSM(Spring、SpringMVC、...同时,这套系统的设计与实现也为其他类似规模的零售企业提供了一种可参考的技术解决方案。

    [高性能MySQL(第3版)]

    6. **大规模部署**:对于大规模部署的MySQL环境,书中提供了架构设计建议,如分区、分片、读写分离等,以应对大数据量和高并发挑战。 7. **安全性**:MySQL的安全管理包括用户权限控制、加密通信、审计日志等。书...

Global site tag (gtag.js) - Google Analytics