当前位置: 首页 > news >正文

wordpress 后台访问慢网站优化基本技巧

wordpress 后台访问慢,网站优化基本技巧,自己做菠菜网站,设计类投稿网站分表和分库是什么?有什么区别? 分库是一种水平扩展数据库的技术,将数据根据一定规则划分到多个独立的数据库中。每个数据库只负责存储部分数据,实现了数据的拆分和分布式存储。分库主要是为了解决并发连接过多,单机 my…

分表和分库是什么?有什么区别?

  分库是一种水平扩展数据库的技术,将数据根据一定规则划分到多个独立的数据库中。每个数据库只负责存储部分数据,实现了数据的拆分和分布式存储。分库主要是为了解决并发连接过多,单机 mysql扛不住的问题。

  分表指的是将单个数据库中的表拆分成多个表,每个表只负责存储一部分数据。这种数据的垂直划分能够提高查询效率,减轻单个表的压力。分表主要是为了解决单表数据量太大,导致查询性能下降的问题。

分库与分表可以从:垂直(纵向)和 水平(横向)两种纬度进行拆分。下边我们以经典的订单业务举例,看看如何拆分。

  垂直分库:一般来说按照业务和功能的维度进行拆分,将不同业务数据分别放到不同的数据库中,核心理念 专库专用。按业务类型 对数据分离,剥离为多个数据库,像订单、支付、会员、积分相关等表放在对应的订单库、支付库、会员库、积分库。垂直分库把  一个库的压力分摊到多个库,提升了一些数据库性能,但并没有解决由于单表数据量过大导致的性能问题,所以就需要配合后边的  分表来解决。

  垂直分表:针对业务上字段比较多的大表进行的,一般是把业务宽表中比较独立的字段,或者不常用的字段拆分到单独的数据表中,是一种大表拆小表的模式。数据库它是以行为单位将数据加载到内存中,这样拆分以后核心表大多是访问频率较高的字段,而 且字段长度也都较短,因而可以加载更多数据到内存中,减少磁盘IO,增加索引查询的命中率,进一步提升数据库性能。

 

 水平分库:是把同一个表按一定规则拆分到不同的数据库中,每个库可以位于不同的服务器上,以此实现水平扩展,是一种常见的 提升数据库性能的方式。这种方案往往能解决单库存储量及性能瓶颈问题,但由于同一个表被分配在不同的数据库中,数据的访问 需要额外的路由工作,因此系统的复杂度也被提升了。

  水平分表:是在同一个数据库内,把一张大数据量的表按一定规则,切分成多个结构完全相同表,而每个表只存原表的一部分数据。水平分表尽管拆分了表,但子表都还是在同一个数据库实例中,只是解决了单一表数据量过大的问题,并没有将拆分后的表分。

 常见的分库分表工具:

1. Sharding-JDBC

基于方式
Sharding-JDBC是一个轻量级的Java框架,它通过JDBC驱动的方式,透明化地支持分库分表。它主要是基于AOP原理,在webapp本地进行SQL的拦截、解析、改写、路由和结果归集处理。

优点

  • 效率高,因为它在本地应用层重写jdbc原生的方法,实现数据库分片形式。

  • 可以在不改变现有代码的情况下进行数据库水平扩展。

缺点

  • 需要修改代码,对应用入侵性比较强。

2. Sharding-Proxy

基于方式
Sharding-Proxy作为数据库代理服务,提供MySQL、PostgreSQL和SQLServer等多种协议的支持。它对外表现为一个完整的数据库服务器,能够接受标准的SQL语句并路由到后端的真实数据库。

优点

  • 支持多种数据库协议,可以作为一个独立的数据库服务存在。

  • 降低了客户端的改造成本。

缺点

  • 相比Sharding-JDBC,可能存在一些性能损耗,因为它需要在代理层进行SQL的解析和路由。

3. MyCat

基于方式
MyCat是一款开源的分布式数据库中间件,它主要通过改写SQL分发,以保证数据的安全。MyCat基于Proxy,将MyCat server伪装成一个MySQL数据库,通过它来管理后端的真实数据库。

优点

  • 跨语言、跨平台、跨数据库的能力强,支持多种数据库的分库分表和读写分离。

  • 可以通过代码直连数据库,灵活性高。

缺点

  • 生态还并不是很完善,很多内容都在开发中。

  • 相比ShardingSphere,其社区支持和功能完善度可能稍逊一筹。

4. Apache ShardingSphere

基于方式
Apache ShardingSphere是一个生态圈,主要由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar这三款相互独立但又能够混合部署配合使用的产品组成。它提供了全面的分库分表、读写分离、分布式事务等解决方案。

优点

  • 功能全面,支持多种数据库和分片策略。

  • 社区活跃,有问题可以方便地询问和得到支持。

  • 提供了灵活的部署方式,可以根据项目需求选择合适的组件进行混合使用。

缺点

  • 相比轻量级的Sharding-JDBC,ShardingSphere的复杂度和学习成本可能稍高。

  • 作为组件存在,需要集成在应用内,意味着作为使用方,必须要集成到代码里,使得开发成本相对较高。

总结

在选择分库分表工具时,需要根据项目的具体需求、技术栈以及团队的技术能力进行综合考虑。每种工具都有其独特的优点和适用场景,选择合适的工具可以大大提升项目的开发效率和系统性能。

http://www.yayakq.cn/news/624226/

相关文章:

  • 个人网站这么做上海互联网推广找哪家
  • 网站建设补充合同范本绵阳免费网站建设
  • 人才招聘网站建设网站设计制作软件
  • 建设网站要买服务器腾讯云免费云服务器
  • 无锡建设执业资格注册中心网站广州市做网站的
  • 郑州学校网站建设如果自己想建设网站该怎么做
  • 管理网站模板下载免费下载营销网站建设收费标准
  • 合肥知名建站公司上海头条新闻最新消息
  • 网站引导页一般是什么格式北航网站建设
  • 专业生产车间设计图纸网站xampp下wordpress
  • 合肥建设学校网站首页南宁本地网站设计
  • 网站建设的一般步骤包含哪些个人网站建设合同
  • 广东网站建设网站制作网站的分类
  • 做网站买哪家的主机好网站网站建设考虑要素
  • 网站建设价格gxjzdrj交做网贷的网站
  • 网站中文域名好不好wordpress 关闭xmlrpc
  • 什么网站能看男女做暧公关公司属于什么行业
  • 汕头网站建设系统国外的网站用不用备案
  • 西安网站开发工资seo常用工具网站
  • 东莞网站设计出名 乐云践新网店设计与装修实训报告
  • 什么网站下载素材做图的宣传式网站
  • 斐讯k2做网站网上超市系统
  • 新手搭建论坛己做网站抖音代运营 广州
  • 做百科需要用什么网站做参考vs2015网站开发
  • 拓元建设网站简单的电子商务网站主页设计图
  • 宁波专业网站搭建地址林芝网站建设
  • 你知道吗 网站网站策划书如何做
  • 手机屏网站开发牌具做网站
  • 网站建设公司简介模板下载网站建设课程总结报告
  • 青岛网站商城设计展览 网站源码