cari
Rumahpangkalan datatutorial mysql获得更为强大的MySQL数据库方案
获得更为强大的MySQL数据库方案Jun 07, 2016 pm 04:09 PM
mmysqlsecara amnyakespangkalan datarancangandapatkan

在一般的情况下当MySQL数据库逐渐变慢的时候,我们就可以通过一些实际操作使其变的更为实用,那么都有哪些方法能实现这一目的呢?以下的文章主要向大家介绍如何才能实现这些美好的愿望。 阅读本系列文章后,将有助于扩大你的视野,更好地规划你将来的需要,

在一般的情况下当MySQL数据库逐渐变慢的时候,我们就可以通过一些实际操作使其变的更为实用,那么都有哪些方法能实现这一目的呢?以下的文章主要向大家介绍如何才能实现这些美好的愿望。

阅读本系列文章后,将有助于扩大你的视野,更好地规划你将来的需要,本系列的第一篇文章“更快,更强

MySQL”讨论了查询优化和硬件调整,包括增加额外的服务器和应用程序变更,本文将介绍如何通过分区和负载均衡解决方案让你的MySQL变得更大更好。

更大的MySQL

增加更多的MySQL实例是提高应用程序响应速度的有效方法,如果你的服务器有多颗CPU,充足的内存和快速的硬盘,这些资源有相当一部分处于闲置状态,那么在这种情况下,在服务器上可以同时运行多个MySQL实例,因为MySQL默认情况下只有一个进程和多个会话线程,因此它真正能利用的最大硬件资源是有限的。

如果你的服务器已经快饱和了,那么必须增加服务器,不管你的多个MySQL实例是在一台服务器上,还是在多台服务器上,你都需要为应用程序配置一个方法让它知道该将查询发送给哪台服务器,如果是要修改数据,那就应该将指令发送到主数据库实例,如果仅仅是查询操作,那么随便发给任何一个从MySQL数据库实例即可。

1、数据分区和水平分区

因为许多Web应用程序是通过会话来识别用户的,通过会话将它们分配到不同的从数据库实例显得很有道理。例如A-G,H-O,P-Z数据库实例可能在工作,这时可以通过用户名的哈希值,或userid将用户分配到不同的服务器上,这就是所谓的分区键,选择分区键时需要慎重决定。

因为它会影响到你如何构建从数据库实例,主要是考虑如何让这些服务器平均承担工作负载,如果选择得不好,假设从数据库倒掉,也可能会引起数据中断。

如果正采用这种分区,你需要决定程序运行时使用哪个MySQL数据库,这可以通过一个中间层如MySQL代理来实现,虽然它还处于Alpha阶段,但它的思想很好,并且已经有很多人将其用于生产环境,它运行在服务器上,响应端口3306上的请求,然后将这些查询通过高速语言如lua实现的某些逻辑转发给后端适当的服务器。

其次你也可以在应用程序中指定将查询发到哪些服务器,这也是最灵活的方法,你可以完全控制整个决策过程,你也可以使用master_pos_wait检查从数据库实例,看看它们是否有足够的计算资源。还有你使用的编程语言或Web框架可能也会提供这方面的支持,如果你还不清楚,可以查询它们的文档。

你还可以研究一下Continuent Tungsten,DBIx::DBClusterforPerl以及SQLRelay,它们支持许多不同的编程语言和MySQL数据库。同样,CMS如Drupal也支持多种只读的从数据库,你只需要启用这个功能即可。

使用这种架构需要考虑的另一个事情是,是否要使用主数据库实例,以及何时使用,一般说来,所有插入,更新和删除操作都应放在主数据库实例上完成,所有的查询操作都放在从数据库实例上完成。例如,如果某个用户对博客文章发表了注释,此时如果直接使用从数据库,可能无法完成,因为MySQL复制架构会存在滞后,此时从数据库中可能还没有那篇博文。

检查过时数据是一个更好的方法,如果你有报告查询在夜间运行,这种方法可能工作得很好,你只需要确保复制赶得上进度即可。

另一个方法是通过版本号跟踪数据库变更,在读取数据之前确定数据是否是最新的版本。

最后,MySQL提供了一个函数master_pos_wait,它可以确定从数据库更新到哪个时间点了。

2、功能分区

你可能已经使用到功能分区,使用功能分区时,需要创建一个生产MySQL数据库的副本用于不同目的,如其中一个用于数据仓库和报告,另一个用于文本搜索等。

通过负载均衡使MySQL变得更好

如果你的从数据库已经有些只读数据,你可能需要实现负载均衡,将流量平均分配到各个从数据库,实现方法有多种,如随机分配,最少连接法,响应速度最快法,或某种加权平均法,虽然某些硬件负载均衡设备可以提供负载均衡功能,但它们往往是设计用于均衡网络流量,并没有提供数据库相关的均衡功能。

幸运的是有很多软件解决方案,LVS项目就是一个不错的候选,它已经发展得相当成熟稳定,它提供了类似DNS轮询的负载均衡算法,但是在IP层实现的,速度非常快。此外,也有很多项目是建立在LVS基础之上的,包括wackamole,它是基于对等网络的,因此不会发生单点故障,还有一个值得推荐的项目是ultramonkey。

小结

MySQL提供了许多高级特性可以实现无限制的规模扩展,视不同应用环境有不同的最佳解决方案,因此需要在用于生产MySQL数据库之前,最好先对各种解决方案进行充分了解,并尽量搭建与生产环境负载相当的测试平台进行测试。


Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

战双帕弥什露西亚深红之渊怎么获得战双帕弥什露西亚深红之渊怎么获得Mar 25, 2024 pm 05:31 PM

玩家在战双帕弥什中进行游戏时可以获得露西亚深红之渊,有很多玩家不知道露西亚深红之渊怎么获得,玩家可以通过研发获取,或者在幻痛囚笼商店兑换。战双帕弥什露西亚深红之渊怎么获得研发获取1、玩家可以在研发系统中抽取获得,这包括基准卡池、主题限定卡池和命运限定卡池,2、在这些卡池中露西亚·深红之渊的基础掉率为1.50%,但如果玩家在卡池中抽取到露西亚·深红之渊其掉率会增加到1.90%。幻痛囚笼商店兑换1、玩家可以通过在幻痛囚笼商店使用幻痛伤痕来兑换露西亚·深红之渊的碎片。2、每周可以最多兑换30个碎片,集

如何在Win11系统中获得管理员权限如何在Win11系统中获得管理员权限Mar 08, 2024 pm 10:00 PM

在Win11系统中获得管理员权限是非常重要的,因为管理员权限可以让用户在系统中执行各种操作,如安装软件、修改系统设置等。在Win11系统中获得管理员权限可以通过以下几种方法实现:第一种方法是通过用户账户控制设置。在Win11系统中,用户账户控制是一个用来管理用户权限的功能,通过它,用户可以调整自己的权限等级。要获得管理员权限,用户可以进入“设置”界面,选择“

艾尔登法环托雷特怎么获得艾尔登法环托雷特怎么获得Mar 11, 2024 am 11:40 AM

托雷特是艾尔登法环这款游戏中的灵马,有很多玩家不知道艾尔登法环托雷特怎么获得,玩家召唤托雷特需要获得灵马哨笛,装备在快捷道具栏后,用快捷键使用即可召唤灵马托雷特。艾尔登法环托雷特怎么获得答:需要获得灵马哨笛。1、玩家召唤托雷特需要获得灵马哨笛。2、玩家从新手出生点来到风暴之路前的赐福点,在篝火旁坐下来,会出现女主角【梅琳娜】,她会给你一个【灵马哨笛】戒指。3、玩家把“灵马哨笛”装备到快捷道具栏后再使用灵马哨笛,就可以召唤托雷特的骏马灵魂了。4、骑上灵马托雷特后,可以进行二段跳,能够跳到走路无法跳

幻兽帕鲁羊毛怎么获得幻兽帕鲁羊毛怎么获得Feb 03, 2024 pm 12:33 PM

幻兽帕中的道具和材料多种多样,其中羊毛是一种重要的资源。羊毛可以用来制作各种道具,但是有些玩家可能不知道如何获取羊毛。下面就给大家介绍一些获取羊毛的方法,希望对大家有所帮助。幻兽帕鲁羊毛获得方法1.帕鲁掉落羊毛可以从多种帕鲁身上获得,包括棉悠悠、米露菲、美露帕、毛掸儿、毛老爹、君王美露帕以及冰帝美露帕等七只帕鲁。在与它们的战斗中,留意羊毛的掉落。2.牧场生产除了通过战斗获取,玩家还可以在牧场中轻松产出羊毛。游戏内工作适应性包含放牧的帕鲁,例如棉悠悠、美路帕这些,通过牧场放牧就可以收获到羊毛。

古龙风云录白发烟斗怎么获得古龙风云录白发烟斗怎么获得Feb 29, 2024 pm 01:04 PM

古龙风云录游戏里有很多成就,部分成就是与收集品相关的,当我们遇到孙小红之后,还会触发跟孙白发之间的故事,其中白发烟斗需要拿到这个烟斗才能完成,下面就为大家带来古龙风云录白发烟斗达成方法。古龙风云录白发烟斗达成方法1.这个成就需要注意要在孙小红好感任务未完成第四章结束后。2.孙小红告知爷爷不见了,然后前往洛阳长亭寻找孙白发的下落。3.得知孙白发已经死于上官金虹之手,在地上找到孙白发的烟杆,获得“白发烟斗”。要点:如果孙小红的最后一个任务要是在第四章回到仁义庄正殿前完成,孙白发入庄后就触发不了洛阳城

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa