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

苏州微网站建设公司哪家好百度网盘电脑版登录入口

苏州微网站建设公司哪家好,百度网盘电脑版登录入口,网站设计推广,网易企业邮箱收费版一、数据库分库分表介绍 1.1为什么要分库分表 一般mysql单表存储数据量小于1千万左右的时候,它的读写性能是最好的。但是当业务发展到一定程度,数据增长到一定程度的时候,我们就会发现为什么查询速度越来越慢了,甚至还会出现数据…

一、数据库分库分表介绍

1.1为什么要分库分表

一般mysql单表存储数据量小于1千万左右的时候,它的读写性能是最好的。但是当业务发展到一定程度,数据增长到一定程度的时候,我们就会发现为什么查询速度越来越慢了,甚至还会出现数据库挂了等其他一系列问题。那么此时我们就需要采取一些方案来解决这些问题,一般如下:

1:分库分表

2:读写分离

3:利用NoSql

我们重点讲解数据库分库分表,也叫数据库分片。
单一数据节点的弊端:性能上的瓶颈。不具备高可用性,无法随意扩容。运维成本高。

对于数据库来说:进行分片的话对于延迟任务来说会有三个数据库:chongba_schedule0、chongba_schedule1、chongba_schedule2。对于数据库表来说可能有taskinfo0、taskinfo1、taskinfo2,对于日志表来说也是同样的有taskinfo_logs0、taskinfo_logs1、taskinfo_logs2。这样的话我们要存储一条数据的话,我们就可以首先选择一个数据,如选择chongba_schedule0数据库或者chongba_schedule1数据库,选择到chongba_schedule1这个数据库后继续选择任务表taskinfo0、taskinfo1。这样的话我们的访问压力就降低,存储能力是会提高的,也会提升系统的访问性能。支持一些高并发的访问场景。

在这里插入图片描述

二、分片方案:

2.1垂直分片

按照业务拆分的方式称为垂直分片,又称为纵向拆分,它的核心理念是专库专用。

在拆分之前,一个数据库由多个数据表构成,每个表对应着不同的业务。而拆分之后,则是按照业务将表进行归类,分布到不同的数据库中,从而将压力分散至不同的数据库。下图展示了根据业务需要,将用户表和订单表垂直分片到不同的数据库的方案。

在这里插入图片描述

2.2水平分片

水平分片又称为横向拆分。相对于垂直分片,它不再将数据根据业务逻辑分类,而是通过某个字段(或某几个字段),根据某种规则将数据分散至多个库或表中,每个分片仅包含数据的一部分。

例如:根据主键分片,偶数主键的记录放入0库(或表),奇数主键的记录放入1库(或表)

在这里插入图片描述

三、 分库分表技术模式

3.1 中间件Proxy模式

Proxy属于中间层方案,在应用程序和MySQL之间搭建一层Proxy。中间层介于应用程序与数据库间,需要做一次转发,基于JDBC协议转发,例如Mycat07
在这里插入图片描述

代理探讨举例:

首先代理(Proxy)是什么,在日常生活中我们有很多这种的例子,比如你买火车票可以直接去火车站,也可以去代理网点,代理网点再和火车站建立关系,这就相当于一个第三方关系的存在。

3.2 Client客户端模式

Client模式属于客户端直连方案。此方案的优势在于轻便,兼容JDBC以及ORM框架,对兼容性、性能以及DBA影响小。 例如ShardingSphere,阿里的TDDL

在这里插入图片描述

四、ShardingSphere介绍

ShardingSphere介绍
官网:https://shardingsphere.apache.org/index_zh.html

Sharding-JDBC在3.0后改名为ShardingSphere, Sharding-JDBC 最早由当当网架构师张亮主导开发,如果看到 com.dangdang 的包路径,基本是1.* 版本,后来作者去了京东,有团队支持开发,包名也发生了变化。目前交给Apache官方孵化,从4.0.0版本开始, 包名和3.0 又大有变化。

ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。

ShardingSphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。它与NoSQL和NewSQL是并存而非互斥的关系。NoSQL和NewSQL作为新技术探索的前沿,放眼未来,拥抱变化,是非常值得推荐的。反之,也可以用另一种思路看待问题,放眼未来,关注不变的东西,进而抓住事物本质。关系型数据库当今依然占有巨大市场,是各个公司核心业务的基石,未来也难于撼动,我们目前阶段更加关注在原有基础上的增量,而非颠覆

在这里插入图片描述

Sharding-JDBC是一个开源的分布式数据库中间件,它无需额外部署和依赖,旧代码迁移成本几乎为零。Sharding-JDBC 作为面向开发的微服务云原生基础类库,完整地实现了分库分表、读写分离和分布式主键功能,并初步实现柔性事务。

它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。

(1)适用于任何基于Java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。

(2)基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP等。

(3)支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer和PostgreSQL。

在这里插入图片描述

下方是其架构图:

在这里插入图片描述

http://www.dtcms.com/a/543677.html

相关文章:

  • 网站建设人工费网站怎么做的支付宝
  • 网站建设报价表格哪个网站做的w7系统好
  • 个人主题网站7块钱建购物网站
  • 深圳网站建设 信科网络佛山百度关键词推广
  • xml网站模板深圳外贸公司名单
  • 怎么在网站上面做悬浮广告百度网站怎么提升排名
  • cms网站群电脑版h5制作软件
  • 哪里 教做网站带维护wordpress 图片自述
  • 宁波网站设计相信荣胜网络微信小程序公司
  • 网站制作服务网络空间购买
  • 漂亮的网站单页织梦网站描述
  • 如何查看网站做没做竞价莆田做网站的公司
  • 郑州区块链数字钱包网站开发公司档案馆网站机房建设
  • 沈阳网站设计定制wordpress 钩子列表
  • 网站备案安全吗石家庄网络推广
  • 网站的转化率电影免费在线观看
  • php网站做多久关键词筛选
  • 可以做微信推送的网站临淄区住房和城乡建设局网站
  • 网站建设销售工作怎么样wordpress模班之家
  • 一个网站应该怎么做有经验的中山网站建设
  • 泰兴市住房和建设局网站自动写作文网站
  • 做go kegg的在线网站it人力外包服务公司
  • 帝国cms网站搬家怎么判断网站开发语言
  • 网站建设的相关新闻南昌seo快速排名
  • 怎么把网站建设推广出去中国建筑网官网企业文化
  • godaddy做网站深圳微信公众平台
  • 如何做好网站关键词布局免费搭建个人网页
  • 学习制作网页的网站网站做图分辨率是多少
  • 如何做网站怎么赚钱免费网站空间和域名
  • 自己能自学网站建设吗网络服务提供者发现未成年秘密信息应采取