概念

可扩展( Scalable ):表明数据库系统在通过相应升级(包括增加单机处理能力或者增加服务器数量)之后,能够达到提供更强的服务能力,提供更强处理能力

扩展性(Scalability):指一个数据库系统通过相应的升级之后所带来处理能力提升的难易程度

横向扩展(Scale Out):通过增加处理节点的方式来提高整体处理能力,简单来说就是通过增加机器来增加整体的处理能力

纵向扩展(Scale Up):通过增加当前处理节点的处理能力来提高整体的处理能力,简单来说就是通过升级现有服务器的配置

原则一: 事务相关性最小化

  • 进行 Scale Out 设计的时候合理设计切分规则,尽可能保证事务所需数据在同一个 MySQL Server 上,避免分布式事务。

  • 大事务切分成多个小事务,数据库保证各个小事务的完整性,应用控制各个小事务之间的整体事务完整性。

  • 结合上述两种解决方案,整合各自的优势,避免各自的弊端。

第一种切分规则难度大,维护成本高,应用程序难度低;
第二种切分规则简单,维护成本低,应用程序难度高;
第三种利用前两种优势做一个平衡,可以保证核心事务在同一个MySQL Server上,不重要的事务拆分为小事务和应用程序来保证或者避免该事务;

最后,事务越少越好

原则二: 数据一致性

BASE模型:
完全不同ACID模型,牺牲高一致性,获得可用性或可靠性
Basically Available:基本可用,支持分区失败(e.g. sharding碎片划分数据库)
Soft state:软状态,状态可以有一段时间不同步,异步。
Eventually consistent:最终一致,最终数据是一致的就可以了,而不是时时高一致

简单可以理解为 非实时的一致性原则

就是应用系统通过相关的技术实现,让整个系统在满足用户使用的基础上,允许
数据短时间内处于非实时状态,而通过后续技术来保证数据在最终保证处于一致状态

原则三: 高可用及数据安全

1.系统横向扩展设计后,可扩展性提高,整体性能得到改善,但是可维护性变得更加困难,系统监控更难;

2.不论如何调整设计系统的架构,系统的整体可用性不能被降低;

3.必须保证在出现软/硬件故障的时候,能够保证数据不会出现丢失;


确保高可用及数据安全原则,可以通过冗余机制来保证。去除单点隐患,进行多份拷贝。

技术方面,可以通过Replication和Cluster技术实现

小结

不论如何设计框架,这些原则都是非常重要的

【MySQL】可扩展性基本原则相关推荐

  1. mysql可扩展数据库_五大技巧提高MySQL可扩展性

    当网站上部署小型MySQL数据库时,面对少量访客的情况下,快慢的查询都足够快,能够提供足够的性能.因此,没有必要进一步的优化查询.然而,随着大量数据(几十万行量级)的出现,网站大量游客访问时,速度在毫 ...

  2. mysql可扩展性和高可用

    可扩展性和高可用 可扩展性 系统容量表示在一定时间内能够完成的工作量,最大吞吐量不等于容量, 可扩展性就是通过增加资源来提升容量,容量可以简单的理解为处理负载的能力 线性扩展就是增加一倍服务器,就增加 ...

  3. MySQL 索引基本原则

    索引用于快速找出在某个列中有一特定值的行.不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行,还需要考虑每次读入数据页的IO开销.而如果采取索引,则可以根据索引指向的页以及记录在 ...

  4. mysql可扩展性应用

    目前mysql的扩展解决方案主要有基于对象的memcached,高性能嵌入式数据库编程库berkeley db,功能强大的全文搜索引擎lucene. 一.合理利用第三方cache解决方案memcach ...

  5. gizzard mysql_Twitter将其使用的MySQL数据库开源

    MySQL 是被广泛使用的一个数据库,但是 Web 开发人员会在大规模访问时的数据库扩展以及性能方面遇到问题.这也是近年来 NoSQL 数据库开始出现并逐渐繁荣的一个原因.对于关注 MySQL 可扩展 ...

  6. 项目中常用的MySQL优化你知道多少?

    项目中常用的MySQL优化 文章目录 项目中常用的MySQL优化 前言 一.mysql优化是什么? 二.优化步骤 1.EXPLAIN 2.SQL语句中IN包含的值不应太多 3.SELECT语句务必指明 ...

  7. 世界上本没有架构,建设的需求多了便有了架构

    世界上本没有架构,建设的需求多了便有了架构 作者:刘海锋 , 编辑:林师授 , 51CTO技术栈 整编 本文选自<CTO说>,你不能不看的CTO养成记. 架构这个词,源于建筑学,它基本的架 ...

  8. redhat yum 安装 mysql_Redhat 7 下Mysql8.0.19安装配置图文详解(配合使用 centos YUM源)...

    MySQL Database Service数据库服务器具有以下特点: 具有分析引擎的MySQL数据库服务: MySQL数据库服务是一项完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原 ...

  9. 京东商城总架构师刘海锋:世界上本没有架构,建设的需求多了便有了架构

    架构这个词,源于建筑学,它基本的架构是建设的方法,怎么样盖这个楼,就是整个实施的过程都需要架构.后来有了IT,有了互联网,最后就有了做软件需要架构,做硬件需要架构,需要设计一些东西.因为系统需要不停地 ...

最新文章

  1. Oracle SID爆破工具SidGuess
  2. 京东云默默搞了个操作系统,然后惊艳了一大片煤矿
  3. MONO Design创建电信3D机房
  4. SAP 使用ST05跟踪方法
  5. 一文解析激光雷达中时序融合的研究现状和发展方向
  6. LAPM×××和php加速器
  7. Linux打开rtf文档,在linux下设置开机自动启动程序的方法_精品.rtf
  8. sql 无法删除当前数据库,因为当前数据库正在使用
  9. 如何在 Asp.Net Core 中对请求进行限流
  10. Android之在window下面开发常用的adb命令(不断更新)
  11. oracle 中增加行,Oracle中实现FORM表单插入、锁定、更新行、删除行的包
  12. 等比例缩放图片-opencv
  13. securecrt上传下载文件命令
  14. Nginx配置同一个域名同时支持http与https两种方式访问
  15. loadrunner:关联操作
  16. Android 面试总结~~~
  17. 信号与系统何子述课后习题_信号与系统高等教育何子述版课后习题答案完整版.ppt...
  18. 预加重,去加重和均衡
  19. 浏览器上网的一些原理
  20. Spring框架的七大模块

热门文章

  1. Swagger接口文档
  2. Android - Error: quot;java.io.IOException: setDataSource failed.: status=0x80000000quot;
  3. 机器学习算法分类-总览
  4. mptcp linux 升级,Ubuntu12.10编译MPTCP
  5. 靠谱的EI会议——移动互联网、云计算与信息安全国际学术会议(MICCIS 2023)
  6. KTV管理系统对于行业管理的优势
  7. 照亮旷野的,是少年开发者眼中的炬火
  8. adb push fail
  9. 单端反激式开关电源 UC3843应用
  10. 行业例会2023第13届中国(上海)国际发泡材料展览会