Scaling MySQL

[b]一、两种scaling方式[/b]
1,Vertical partitioning,生成的segments称为partitions
2,Horizontal federation,生成的segments称为shards

[b]二、Storage engines[/b]
[b]1,MyISAM[/b]
IBM开发的ISAM(Indexed Sequential Access Method)的扩展,是MySQL默认的storage engine
MyISAM由三个文件组成,.frm文件存储table定义,.MYD文件存储row data,.MYI文件存储索引
MyISAM使用table-level locking,三种lock类型,READ LOCAL、READ、WRITE
MyISAM不支持transaction
MyISAM的一个特性FULLTEXT索引:
[code]
mysql> SELECT * FROM articles WHERE MATCH (title,body)
-> AGAINST ('+foo -"bar baz"' IN BOOLEAN MODE);
[/code]
MyISAM使用R-Tree索引支持GIS(geographical and spatial)

[b]2,InnoDB[/b]
InnoDB完全支持ACID(atomicity, consistency, isolation, durability)
InnoDB支持transaction
InnoDB使用MVCC(Multi-Versioned Concurrency Control)支持row-level locking,concurrency支持很好
InnoDB支持foreign keys
InnoDB使用B-tree和clustered primary keys来存储索引
InnoDB tables中的row data根据primary key排序来存储,按顺序检索速度快

[b]3,Berkeley DB[/b]
BDB数据库由成对的key、value组成,每个row存储为一个唯一的key、value对,按key检索速度快
BDB支持transaction和page-level locking

[b]4,MEMORY[/b]
数据存储在内存中,不会持久化到硬盘
速度快,对临时表非常有用

[b]三、MySQL备份[/b]
MySQL支持replication来帮助我们scale reads
[b]1,Master-Slave Replication[/b]
[code]
Master: Reads and writes
|
| Replication
|
Slave、Slave、Slave... : Reads
[/code]
可以很好的scale read capacity,但是不能scale write capacity

[b]2,Tree Replication[/b]
[code]
Master: Reads and writes
|
| Replication
|
Slave/Master、Slave、Slave... : Reads
|
| Replication
|
Slave、Slave、Slave... : Reads
[/code]
可以将一部分数据备份到Slave/Master中以增加频繁读取部分数据的Reads capacity

[b]3,Master-Master Replication[/b]
[code]
Master: Reads and writes
|
| Replication
|
Master: Reads and writes
[/code]
这种备份方式可以链成环,还可以为每个Master建立Slave以增强Reads capacity

以上各种备份均可能有Replication Lag和Stale read的问题

[b]四、数据库Partitioning[/b]
数据库备份只能增加读性能而不能很好的增加写性能,所以引入数据库Partitioning
有两种方式:纵向(Clustering)和横向(Federation)
[b]1,Clustering[/b]
[code]
Large database with 6 tables
| |
X
Cluster with 2 tables Cluster with 2 tables Cluster with 2 tables
[/code]
缺点是维护困难,同时会增加连接数,这种Partitioning方式的scaling能力有限

[b]2,Federation[/b]
MySQL5的NDB存储引擎尝试在内部实现横向Partitioning而我们不用更改程序逻辑
Oracle的RAC(Real Application Clusters)做同样的事情,只不过价钱太贵,$25,000/processor
SQL Server也有同样的实现,但是除了速度较慢外,你只能用Windows,而且价钱也是高达$30,000/processor
[b]The key to avoiding cross-shard queries is to federate your data in such as way that all the records you need to fetch together reside on the same shard.[/b]
例如,一个页面中需要显示User的Profile和Comments,我们可以将User表与Comments表中相关的数据放在一个shard中
[code]
Application logic
|
|
Federation logic(Middleware)
|
|
Shard Shard Shard
[/code]
当我们知道一个User的ID来查找User的Profile和Comments信息时,我们将User的ID传递给Middleware,Middleware知道去哪里查找User的Profile和Comments数据,然后Middleware来take care返回正确的数据给应用层
应用层不用知道有多少shards、数据在shards之间怎样划分、User数据被赋到哪个shard,一切都是透明的
强化学习环境Gym库的介绍 Gym是一个用于进行强化学习实验的开源库,它提供了一个仿真环境,内置了多种仿真游戏,例如出租车游戏、悬崖游戏等,不同的游戏所用的网格、规则、奖励(reward)都不一样,适合为强化学习做测试。(1) 多种环境:Gym库内置了上百种实验环境,包括算法环境、简单文本环境、经典控制环境、Atari游戏环境、MuJoCo环境和机械控制环境等。(2) Gym提供多种环境供我们使用,这里以一个简单的CartPole-v0为例,首先导入gym库,然后创建一个CartPole-v0环境,通过调用gym.make方法实现。 阅读详情

相关推荐

大模型面试题52:LLM如果在训练过程中loss值出现spike应该怎么办?

小白急救:停更→回滚→降LR→裁剪梯度,先保住训练不崩溃;进阶排查:查数据→查优化器→查硬件,找到spike的根因并解决;深层预防:预处理保守配置+训练中实时监控,从源头规避spike。先止损,再溯源,最后预防。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 1168

数据库水平和垂直缩放之间的差异

I have come across many NoSQL databases and SQL databases. 我遇到过许多NoSQL数据库和SQL数据库。 There are varying

w36680130的博客 1092

《AFSim 2.9中文参考手册》

本栏目将对《AFSim 2.9中文参考手册》进行持续更新,欢迎关注交流!对本文或者AFSIM相关内容感兴趣的朋友,可私心联系作者。《AFSim 2.9中文参考手册》内容概览。

henggesim的博客 1万+

excel对比两边数据去重

需求:筛选重复数据,A列是1000条数据,C列是100条数据,删除重复的数据,只剩900条。 首先,A列数据要分列,因为数据格式不一样,会导致后面的问题,一直下一步到完成 第二步,在B和D列加数字1,相当于索引,相同的数据长度,做匹配,下图A和C的数据取反了 第三步,数据--筛选,然后过滤掉C列数据 最后复制A列的数据,已经处理好的数据,到其他页面,验证完成 ...

夏天吹雪的博客 4678

中介效应、调节效应与交互效应:从概念辨析到统计建模全指南

在社会科学与数据分析研究中,理解变量之间的因果关系与条件性影响是核心任务之一。回归分析作为最基础的统计工具,常被用于探索自变量对因变量的作用机制,而中介效应与调节效应则分别回答了“如何影响”与“何时影响不同”的深层问题。中介效应通过路径分析拆解因果链条,揭示内部的传导机制;调节效应则借助交互项识别影响的边界条件。Bootstrap法已成为检验间接效应的主流手段,而简单斜率分析则让调节作用的模式更加直观。无论是用户研究、医学统计还是产品数据分析,掌握这些模型都能帮助研究者构建更具解释力的实证框架。本文基于大量

weixin_29051149的博客 330

科研作图不发愁:手把手教你用PyMOL给蛋白-DNA互作图‘美颜’(附完整配色与标注方案)

本文详细介绍了如何使用PyMOL对蛋白-DNA互作结构图进行专业美化,包括从PDB文件加载、结构展示与标注、互作位点突出显示到高质量渲染输出的完整流程。通过具体案例(PDB ID:8SSS)演示了锌指结构域区分、关键残基标注和互作距离测量等实用技巧,帮助科研人员制作可直接用于期刊投稿的高质量示意图。

weixin_42523792的博客 551

scaling导入mysql_Scaling MySQL

一、两种scaling方式1,Vertical partitioning,生成的segments称为partitions2,Horizontal federation,生成的segments称为shards二、Storage engines1,MyISAMIBM开发的ISAM(Indexed Sequential Access Method)的扩展,是MySQL默认的storage engineM...

weixin_39638057的博客 131

18. 从 SAP Fiori Elements List Report 中的图片显示,谈谈背后的 XML Template 设计机制

至此,Fiori Elements List Report 这个模版里,图片显示的原理,笔者已经从开发人员层面需要定义的注解,和 Fiori Elements 框架层面如何解析这些注解,这两方面做了深入介绍。从本文开始,我们从 Fiori Elements 预制的标准 XML Template 模版的设计,来介绍我们在最终 Fiori Elements 页面看到的产品图标,是如何渲染出来的。但是,List Report 里产品的图标显示,到底是上面这些 XML 文件里的哪一个里定义的呢?

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 606

hyperic mysql scaling 案例学习(数据库优化)

这是看了Sun 的communityone 上一篇介绍hyperic 在mysql 上scaling 的介绍写的笔记. hyperic 是一个在大型数据中心用作服务器管理和监控的软件,Hyperic HQ 提供中心服务器来收集多台主机的状态和性能指标,并且在一个中心界面上管理…… 其他的好处看后面的参考资料 Hyperic 默认是支持三种数据库mysql,oracle,postgresql

Vern的专栏 1867

停车位检测:基于YOLOv5与UI界面的实现

YOLOv5是YOLO(You Only Look Once)系列中的最新版本,它能够在单次前向传播中同时完成多个目标的定位与分类,因此被广泛应用于实时目标检测任务。与之前的版本相比,YOLOv5在精度和速度上得到了很大的优化,适合嵌入到实际的自动驾驶和智能交通系统中。YOLOv5使用了卷积神经网络(CNN)进行特征提取,并通过回归方法预测边界框、类别及置信度。高效的推理速度:YOLOv5采用了优化的模型结构,能够在保证精度的同时提供较快的推理速度。较高的精度。

YOLO 694

一次请求穿过的六道关卡:微服务基础组件的通信与IO、事件驱动、负载均衡、服务路由、API网关与配置协调

微服务的稳定性往往取决于看不见的基础组件。本文跟随一次下单请求,依次穿过API网关、服务路由、负载均衡与服务通信,再沿事件分支扇出,并从控制面审视配置中心。通信层剖析握手成本、连接复用、epoll与主从Reactor、心跳判活、退避抖动、截止时间与重试预算;事件层讲解编舞与编排、事务发件箱和幂等消费;均衡与路由对比静态与动态算法、路由链、全链路灰度与同区保底;网关讨论过滤器链与限流算法;配置部分给出四类配置、长轮询与共识协调,最后归纳五道防线。文中关键数据均来自可在Java8运行的演示程序。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

MySQL Scaling Options

- Executive Summary MySQL is the most popular relational database in the world of web applications – be it Web 2.0 sites, SaaS applications or any other web application. These types of applications

Mac Track 1136

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Scaling Out MySQL

很赞的一篇文章,值得你细细品味一下,原文地址:http://natishalom.typepad.com/nati_shaloms_blog/2008/03/scaling-out-mys.html With the recent acquisition of MySQL by Sun, there has been talk about the MySQL open source

Mac Track 1356

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

MySQL Horizontal Scaling

http://www.tuicool.com/articles/miuq63E http://www.guokr.com/blog/475765/ http://songwie.com/articlelist/44 https://www.youtube.com/watch?v=5yDO-tmIoXY single database => master / slave...

a923304245的博客 236

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

scaling导入mysql_hyperic mysql scaling 案例学习(数据库优化)

这是看了Sun 的communityone 上一篇介绍hyperic 在mysql 上scaling 的介绍写的笔记.hyperic 是一个在大型数据中心用作服务器管理和监控的软件,Hyperic HQ 提供中心服务器来收集多台主机的状态和性能指标,并且在一个中心界面上管理…… 其他的好处看后面的参考资料Hyperic 默认是支持三种数据库mysql,oracle,postgresql.后面会用到...

weixin_39688687的博客 135

scaling导入mysql_MySQL Community - Scaling [on hold]

I am working in an environment that is under extreme load. It is a DB used by about a thousand users with one application. This application does thousands of queries against the DB. We have noticed si...

weixin_35975197的博客 98

MySQL Fabric – adding Scaling to MySQL

转自:http://www.clusterdb.com/mysql-fabric/mysql-fabric-add-scaling-to-mysql?utm_source=rss&utm_medium=rss&utm_campaign=mysql-fabric-add-scaling-to-mysql&utm_source=tuicool 相当值得学习的的东东

cnhome的专栏 1438

scaling导入mysql_Scaling 100GB of Data

Surpassing 100GB of data in your application requires you to have in-depth knowledge of how to operate and run MongoDB. MongoHQ recommends going through the 100GB Scaling Checklist as you grow. Watch ...

weixin_39841640的博客 102

Notes from Scaling MySQL - Up or Out

Notes from Scaling MySQL - Up or Out Author: Venu Anuganti Website: http://venublog.com/2008/04/16/notes-from-scaling-mysql-up-or-out/   Here is the quick notes from the session Scaling MySQL - Up...

白首穷经通秘义 373

https://mysqlserverteam.com/mysql-connection-handling-and-scaling/

https://mysqlserverteam.com/mysql-connection-handling-and-scaling/ 转载于:https://www.cnblogs.com/WCFGROUP/p/11167348.html

weixin_30488313的博客 228

scaling导入mysql,数据库的水平和垂直缩放之间的差异

I have come across many NoSQL databases and SQL databases. There are varying parameters to measure the strength and weaknesses of these databases and scalability is one of them. What is the difference...

weixin_30621465的博客 209

sharding-proxy + sharding-scaling实现不停服分库分表数据迁移

sharding-proxy + sharding-scaling实现不停服数据迁移 sharding-proxy 的相关理论&使用文档参考官网(https://shardingsphere.apache.org/document/legacy/4.x/document/cn/manual/sharding-proxy/) sharding-proxy 的相关理论&使用文档参考官网(https://shardingsphere.apache.org/document/legacy/4.x

HTslide的博客 4054

MYSQL POLARDB 学习系列之 拆解 POLARDB 6 Auto-Scaling 与性能优化 (翻译)

,最近问 POLARDB 的同学同学是越来越多,准备开一个群,专门和大家一起学习 POLARDB for MYSQL 的数据库相关知识和PG ,MYSQL等数据库,分享相关的经验,和大家相互学习。如果敢兴趣可以加 liuaustin3 微信,加到polardb 的知识分享群和文章问题询问群,如果可能还会拉上polardb的厂商的一些工作者,(争取,需要征得人家的同意) 来更好的学习POLAR...

sql server的专栏 305

ShardingSphere分库分表扩容实战

环境说明 本实战记录使用Docker 19.03.5,mysql 5.7.24 ,Java 1.8.0_151,ShardingSphere 4.1.1,mysql-connector 5.1.32,使用教程参考官网手册Proxy和Scaling部分. Docker和mysql的安装可见Docker安装Mysql并配置 重要:记得my.cnf中开启mysql的binlog,否则数据不会迁移. server-id=20 log-bin=mysql-bin binlog_format=row expire_lo

积硅步 2194
上一篇: Rails宝典之七十五式:复杂表单Part3
下一篇: Shared Nothing Architecture与PHP的童话
hidetobj
博客等级 码龄19年 15粉丝 301原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值