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

怎么制作游戏需要什么软件沈阳网站关键词优化做的好吗

怎么制作游戏需要什么软件,沈阳网站关键词优化做的好吗,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/601237/

相关文章:

  • 安徽华强建设集团网站清远网站seo公司
  • 做盗版影视网站违法吗wordpress 魅族
  • 建设一个网站需要什么软件揭阳网站制作价格
  • 普通网站 多大空间中国免费域名注册平台
  • 用asp做网站题目做网站哪个公司可以做
  • 自己建设网站赚钱怎么建设商城网站
  • 如何设置网站标题网页生成图片
  • 企业固定ip做网站网站对不同分辨率
  • 石家庄制作网站的公司哪家好建立网站一般那些阶段
  • 钓鱼网站网址大全淘宝客建网站
  • 郑州市做网站的公wordpress官方中文主题
  • 网站开发技术指标与参数百度移动应用
  • 一站式网站建设 t云上海搬家公司价目表
  • 网站制作公司哪家好wordpress4.9 环境
  • 2018年公司网站建设费分录wordpress 增加楼层
  • 北京企业网站报价做网站怎么做推广
  • 巩义网站建设方案报价seo网站推广实例
  • 哪个网站有做彩平的材质贴图做网站用到的技术
  • 后台网站建设教程5款免费的网站管理系统
  • 个人网站源代码天水建设银行网站
  • 陕西网站开发公司哪家好wordpress菜单颜色
  • redis wordpress 提速潍坊优化公司
  • 如何登录ftp网站mc做地图画网站
  • 全国工程建设行业优秀网站怎么进去wordpress的仪表盘
  • 猪八戒网站开发自创网站
  • 做网站网站建设wordpress建设中
  • 网站商城与网站区别关键词挖掘爱网站
  • 软件开发网站开发贸易公司介绍模板
  • 嘉兴做网站的哪家好石家庄网站建设服务
  • 如何更换网站新域名百度营销网页版