`

MySQL扩展

 
阅读更多

原创转载请注明出处:http://agilestyle.iteye.com/blog/2390898

 

业务拆分

原来一个数据库需要拆成几个库,每一块业务都使用单独的数据库来进行存储,提高吞吐和开发测试效率,同时也提升系统的稳定性


 

复制策略

拆库之后,业务继续扩大,某个库的压力越来越大,再次达到性能瓶颈,这时可以使用MySQL的复制策略来对系统进行扩展,要实现数据库的复制,需要开启Master服务端的Binary log

 

分表分库

对于互联网企业来说,大部分数据都是与用户关联的,因此,用户id是最常用的分表字段。

分库也可以通过一个关键字取模的方式,来对数据访问进行路由


有时候数据库可能面临这高并发访问的压力,又需要面对海量数据的存储问题,这时候需要对数据库采用分库分表策略,例如:

中间变量 = user_id % (库数量 x 每个库的表数量)

库 = 取整(中间变量 / 每个库的表数量)

表 = 中间变量 % 每个库的表数量


数据库经过业务拆分及分库分表之后,虽然查询性能和并发处理能力提高了,但也带来一系列的问题。比如,原本跨表的事务上升为分布式事务;由于记录被切分到不同的库与不同的表当中,难以进行多表关联查询,并且不能指定路由字段对数据进行查询。分库分表以后,如果需要对系统进行进一步扩容(路由策略变更),将变得非常不方便,需要重新进行数据迁移。
 

Reference

大型分布式网站架构设计与实践 陈康贤 著


 

 

 

 

 

 

  • 大小: 85.3 KB
  • 大小: 121.6 KB
  • 大小: 120.6 KB
  • 大小: 126.8 KB
  • 大小: 201.4 KB
分享到:
评论

相关推荐

    PHP之pdo_mysql扩展安装步骤

    Magento是一款知名的开源电子商务平台,它在运行时通常需要PDO_MYSQL扩展来支持其数据库操作。下面将详细介绍PDO_MYSQL在PHP中的安装步骤。 首先,我们需要确保PHP已经安装并且运行正常。可以通过在命令行中运行`...

    Mysql扩展.mp4

    Mysql扩展.mp4

    phpMyAdmin“无法载入mysql扩展,请检查PHP配置.docx

    在使用`phpMyAdmin`时,用户可能会遇到“无法载入mysql扩展,请检查PHP配置”的错误提示。此错误通常发生在用户试图通过Web界面访问MySQL数据库时。该问题的具体表现是在尝试加载`phpMyAdmin`页面时,系统会弹出上述...

    python 2.7 MySQL扩展windows exe安装文件

    在Python 2.7中与MySQL交互,通常会使用一个名为`mysql-connector-python`的Python库,但是这里提到的是"Python 2.7 MySQL扩展",指的是`MySQLdb`库。`MySQLdb`是Python的一个接口,用于连接MySQL数据库,它是Python...

    安装PHP可能遇到的问题“无法载入mysql扩展”的解决方法.zip

    如果使用的是旧版的MySQL扩展,查找`extension=mysql`并确保它未被注释。如果找不到这些行,可能需要手动添加。 2. **重启Web服务器**:修改php.ini后,必须重启Web服务器(如Apache或Nginx)以使更改生效。 3. **...

    CentOS7.3 php添加mysql扩展

    centos7.3 手动添加mysqli扩展

    安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法

    如果一切配置正确,应该不会再出现“无法载入mysql扩展”的错误消息。 #### 总结 遇到“无法载入mysql扩展”的问题时,首先要检查PHP配置文件是否正确配置了MySQL扩展路径和选项。其次,确保所有必要的DLL文件均已...

    phpMyAdmin“无法载入 mysql 扩展, 请检查 PHP 配置”问题的解决方案

    在使用XAMPP环境搭建PHP开发环境时,经常会遇到phpMyAdmin无法加载MySQL扩展的问题,提示“无法载入mysql扩展,请检查PHP配置”。这个问题通常与PHP的配置文件php.ini有关,而在一些情况下,可能会涉及到PHPRC环境...

    宝塔PHP7+安装mysql拓展

    在扩展解压后的文件夹里执行下面命令 /www/server/php/74/bin/phpize 3.进行configure ./configure --with-php-config=/www/server/php/74/bin/php-config 4.make && make install 这一步结束后,系统会提示: ...

    1,MySQL 可扩展设计

    在设计MySQL的可扩展架构时,需要考虑横向扩展(ScaleOut)和纵向扩展(ScaleUp)两个维度。 横向扩展(ScaleOut),即向外扩展,是指通过增加更多的处理节点来提高数据库系统的整体处理能力。这种方式通常涉及将...

    mysql.rar_MYSQL_php mysql_php扩展

    在这个“mysql.rar”压缩包中,包含了一个名为“mysql.php”的文件,这很可能是用来演示如何使用PHP的mysql扩展来实现对MySQL数据库的交互。 首先,我们需要了解PHP的`mysql`扩展。这个扩展是PHP早期版本中用于与...

    php 无法载入mysql扩展

    具体来说,可以通过以下两种方式之一来启用 MySQL 扩展: - 对于 MySQLi:在 `php.ini` 文件中确保 `extension=mysqli` 行未被注释。 - 对于 PDO_MySQL:同样地,确保 `extension=pdo_mysql` 行未被注释。 **3. ...

    PHP7 mysql.so扩展包

    "mysql-386776d"这个文件名可能是编译后的mysql扩展的特定版本,其中“386776d”可能是一个版本标识符或Git提交哈希,用于追踪该扩展的特定源代码状态。这表明提供的是一个已经编译好的二进制扩展,可以直接在PHP7...

    mysql-extension-wrapper:mysql扩展包装

    PHP mysql扩展包装 mysql-wrapper api支持mysql扩展api,并且设计为与mysql扩展一起使用时效果最佳。 如果您具有PHP7环境,并且必须需要mysql扩展api,这是很好的选择。执照BSD 2子句要求此包装器API需要PHP 4.1及更...

    安装apache mysql php 手册&&开发apache,php扩展模块方法

    useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql ``` 启动MySQL服务: ```bash /usr/local/mysql/bin/safe_mysqld & ``` 若无法连接到MySQL服务器,检查错误日志以找出问题所在...

    MySQL 索引扩展

    自己做的笔记,存在于印象笔记,主要讲了一些MySQL中索引的优化扩展,比如IPC,MRR等,还有具体的作用

Global site tag (gtag.js) - Google Analytics