网站首页 > 文章中心 > 其它

php数据库主从切换

作者:小编 更新时间:2023-10-15 18:41:08 浏览量:216人看过

PHP中高级面试题 – 第三天

第一段:简述一下MongoDB的应用场景

mongodb 支持副本集、索引、自动分片,可以保证较高的性能和可用性.

php数据库主从切换-图1

更高的写入负载

默认情况下,MongoDB 更侧重高数据写入性能,而非事务安全,MongoDB 很适合业务系统中有大量 "低价值" 数据的场景.但是应当避免在高事务安全性的系统中使用 MongoDB,除非能从架构设计上保证事务安全.

高可用性

MongoDB 的复副集 (Master-Slave) 配置非常简洁方便,此外,MongoDB 可以快速响应的处理单节点故障,自动、安全地完成故障转移.这些特性使得 MongoDB 能在一个相对不稳定(如云主机)的环境中,保持高可用性.

数据量很大或者未来会变得很大

基于位置的数据查询

MongoDB 支持二维空间索引,所以呢可以快速及精确地从指定位置获取数据.

表结构不明确

在一些传统 RDBMS 中,增加一个字段会锁住整个数据库 / 表,或者在执行一个重负载的请求时会明显造成其它请求的性能降级.通常发生在数据表大于 1G 的时候(当大于 1TB 时更甚). 因 MongoDB 是文档型数据库,为非结构货的文档增加一个新字段是很快速的操作,并且不会影响到已有数据.另外一个好处当业务数据发生变化时,是将不再需要由 DBA 修改表结构.

第二段:数据库设计经验,为什么进行分表?分库?一般多少数据量开始分表?分库?分库分表的目的?

①.、为什么要分表

当一张表的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间.日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕.

分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率.数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO 等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈.

linux mysql proxy 的安装,配置,以及读写分离

mysql replication 互为主从的安装及配置,以及数据同步

优点:扩展性好,没有多个分表后的复杂操作(php 代码)

缺点:单个表的数据量还是没有变,一次操作所花的时间还是那么多,硬件开销大.

第三段:简述一下数据库主从复制,读写分离

* 什么是主从复制

主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;

* 主从复制的原理:

①数据库有个bin-log二进制文件,记录了所有的sql语句.

* 主从复制的作用

①做数据的热备份,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失.

* 主从复制的几种方式:

这个功能,是由google为MYSQL引入的.

* 关于读写分离

在完成主从复制时,由于slave是需要同步master的.所以对于insert/delete/update这些更新数据库的操作,应该在master中完成.而select的查询操作,则落下到slave中.

如何切换php数据库版本,如何升级到最新的mysql数据库版本呢

同运行同php版本同数据库站点管理工具功能强

PHP有源代码了,怎么切换到数据库啊

话说php中PDO驱动切换数据库问题

thinkphp 3.1 切换数据库问题

$arr=$model-select();

print_r($arr);

我这样测试了 是可以的? 你要检查你的格式是否正确

以上就是土嘎嘎小编为大家整理的php数据库主从切换相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章