• 2024-11-20读写分库分表
    主数据库负责写,从数据库负责读,主库和从库间会进行数据同步,以保证库中数据的准确性。读写分离(极客时间Mysql45讲读写分离)如何实现?步骤:部署多台数据库,选择其中的一台作为主数据库,其他的多台作为从数据库。保证主数据库和从数据库之间的数据是实时同步的,这个过程也就是我们
  • 2024-11-19MySQL基础知识(6)
    MySQL遇到过死锁问题吗,你是如何解决的?排查死锁的步骤:查看死锁日志showengineinnodbstatus;找出死锁Sql;分析sql加锁情况;模拟死锁案发;分析死锁日志;分析死锁结果。数据库索引的原理,为什么要用B+树,为什么不用二叉树?可以从几个维度去看这个问题,查询是否够快,效率是否稳
  • 2024-11-17第三十三节:基于ShardingCore框架分库、分库分表实操
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载
  • 2024-11-13第三十二节:ShardingCore框架简介、路由详解、分表详解实操
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载
  • 2024-11-13数据库系列: 主流分库分表中间件介绍(图文总结)
    数据库系列:主流分库分表中间件介绍(图文总结) 相关文章数据库系列:MySQL慢查询分析和性能优化数据库系列:MySQL索引优化总结(综合版)数据库系列:高并发下的数据字段变更数据库系列:覆盖索引和规避回表数据库系列:数据库高可用及无损扩容数据库系列:使用高区分度索引列提升性能数据
  • 2024-11-09ShardingJDBC:轻松应对海量数据挑战
    前言在当今大数据时代,海量数据的存储和访问成为了系统设计的瓶颈。单一数据库实例往往难以承受如此巨大的负载,从而导致性能下降甚至服务崩溃。为了解决这个问题,分库分表成为了一种常见的解决方案。它将数据分散存储到多个数据库实例或表中,从而有效地提升了系统的容量和性能
  • 2024-10-31分库分表
    1.什么是分库分表分库:就是数据库分成多个数据库,部署到不同的机器上。例如:用户表,订单表,积分表,商品表:然后分到:用户库,订单库,积分库,商品库。分表:一个表分成多个表例如:订单表:分成分表1,分表2,分表3;为什么分库:在做任何事情之前我们都要思考,为什么做?为什么要拆分表,拆分表的原
  • 2024-10-28分库分表常见面试问题
    分库分表常见面试问题1、什么是分库分表1.1分表和分区的区别2、怎么分库分表2.1到底分多少库,分多少表合适3、分表字段选择4、分表算法5、全局ID6、分库分表会带来什么问题7、分库分表之后,表还不够怎么办8、为什么喜欢使用2的次幂进行分库分表9、数据倾斜会带来什么问
  • 2024-10-25gorm.io/sharding改造:赋能单表,灵活支持多分表策略(下)
    背景 分表组件改造的背景,我在这篇文章《gorm.io/sharding改造:赋能单表,灵活支持多分表策略(上)》中已经做了详细的介绍——这个组件不支持单表多个分表策略,为了突破这个限制做的改造。在上一篇文章中,我们讨论了注册的改造,注册的改造修改逻辑比较简单,但是,上一篇文章中遗留了一
  • 2024-10-19用户分库分表
    用户分库分表为什么要分库分表?●数据量庞大。●查询性能缓慢,之前可能是20ms,后续随着数据量的增长,查询时间呈指数增长。●数据库连接不够。什么是分库分表?分库和分表有两种模式,垂直和水平。分库两种模式:●垂直分库:电商数据库拆分为用户、订单、商品、交易等数据库。订
  • 2024-10-07EFCore 分表
    PrograminternalclassProgram{staticasyncTaskMain(string[]args){DbContextOptionsBuilder<BloggingContext>optionsBuilder=newDbContextOptionsBuilder<BloggingContext>();optionsBuilder.UseSqlServer("DataS
  • 2024-09-27分库分表还是分布式?如何用 OceanBase的单机分布式一体化从根本上解决问题
    随着企业业务规模的不断增长,单机集中式的数据库系统逐渐难以承载企业日益增长的数据存储与处理需求。因此,MySQL的分库分表方案成为了众多企业应对数据存储量激增及数据处理能力需求扩张的“止痛药”。尽管这一方案短期内有效缓解了企业面临的大规模数据处理压力,但同时也引发了
  • 2024-09-19SpringBoot整合ShardingJdbc分表
    项目中处理接收设备上报日志需求,上报数据量大,因此对数据进行按日期分表处理。使用技术:ShardingJdbc+rabbitMq+jpa+多线程处理引入所需jar:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</a
  • 2024-09-17一款EF Core下高性能、轻量级针对分表分库读写分离的解决方案
    前言今天大姚给大家分享一款EFCore下高性能、轻量级针对分表分库读写分离的解决方案,开源(ApacheLicense)的EFCore拓展程序包:ShardingCore。ShardingCore项目介绍ShardingCore是一款开源、简单易用、高性能、普适性,针对EFCore生态下的分表分库的扩展解决方案,支持EFCore2+的所有版
  • 2024-09-15帝国CMS 多少数据分表好?已发布的数据怎么分表?
    帝国CMS支持分表机制来提高数据库性能和管理大量数据。分表是一种将大量数据分散到多个表中的方法,这样可以减少单个表的大小,从而提高查询效率,特别是在大数据量的情况下。多少数据分表好?根据提供的信息,通常建议在数据量达到一定规模时进行分表。具体建议如下:5万条数据:当某个表
  • 2024-09-14什么是索引和分库分表?
    1.什么是索引?在关系数据库中,索引是一种数据结构,将数据提前按照一定的规则进行排序和组织,能够帮助快速定位到数据记录的数据,加快数据库表中数据的查找和访问速度。像书籍的目录、文件夹、标签、房号...都可以帮助我们快速定位,都可以视为索引。能实现快速定位数据的一种存储
  • 2024-09-12分库分表零基础
    一、前言中大型项目中,一旦遇到数据量比较大,就应该对数据进行拆分。有垂直和水平两种。垂直拆分也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。水平拆分,是同一个业务数据量大之后,进行水平拆分。mysql单表存储量推荐是百万级,如果不进行处理,mysql单表数据太大,会
  • 2024-09-12shardingJdbc分表执行批量update不支持的解决方式
    引言本次场景,公司通过shardingjdbc对mysql数据库进行分表,模糊匹配按照createTime,每季度一张表的方式,精确匹配按照creatTime的方式。关于模糊匹配、精确匹配,自行在shardingjdbc官网查看,分表策略等。由于是跟进createTime字段去作为分表的key,那么在执行select、update、delete
  • 2024-09-10MySQL分库分表
    一、概念分库:指将数据按照一定的规则拆分到多个数据库中,每个数据库存储一部分数据。通过分库可以提升数据库的存储能力和扩展性。分表:指将一张大表按照一定的规则拆分成多个小表,每个小表存储原表的一部分数据。通过分表可以提升查询性能,因为每个小表的数据量较少,查询速度
  • 2024-09-09再有人问你什么是分库分表,直接把这篇文章发给他
    目录标题分库、分表、分库分表什么时候分库?什么时候分表?什么时候既分库又分表?横向拆分和纵向拆分分表字段的选择买家还是卖家?卖家查询怎么办?按照订单查询怎么办?分表算法直接取模Hash取模一致性Hash全局ID的生成UUID基于某个单表做自增主键基于多个单表+步长做自增主键
  • 2024-08-31SQL优化
    QL优化的核心在于降低查询的执行时间和资源消耗,系统的稳定。SQL优化:1、SQL语句的优化2、SQL索引的优化(关键)3、SQL数据表优化4、SQL数据库优化SQL语句的优化1、不要用*,可能用到覆盖索引,减少回表,提高查询效率。SELECT*FROMuser;SELECTid,usernameFROMuser;2、不要在where子
  • 2024-08-28MySQL表分区与分表:概念、规则及应用案例
    MySQL表分区与分表:概念、规则及应用案例在大型业务系统中,随着数据量的急剧增加,优化数据库性能成为关键任务。MySQL提供了两种有效的数据管理技术来应对这些挑战:表分区(Partitioning)和分表(Sharding)。本文将深入探讨表分区和分表的概念、优缺点、具体规则以及适用场景,并通过电
  • 2024-08-28Java后端微服务架构下的数据库分库分表:Sharding-Sphere
    Java后端微服务架构下的数据库分库分表:Sharding-Sphere大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!随着微服务架构的广泛应用,数据库层面的扩展性问题逐渐凸显。Sharding-Sphere作为一个分布式数据库中间件,提供了数据库分库分表的能力,帮助开发者解
  • 2024-08-26高性能 Go 服务开发
            当我们搭建了一个完整的Go项目后,这个项目的性能如何呢?能否应对高并发流量(比如秒杀活动)呢?如果不能,我们该如何优化系统性能呢?性能优化的前提是确定服务瓶颈。1.分库分表        数据库通常是Web服务的性能瓶颈,为什么呢?因为一般情况下,单个数据库实
  • 2024-08-22【面试】一文搞懂MySQL的分库分表!
            MySQL分库分表是一种数据库优化手段,通常用于应对数据量巨大、并发量高的场景。随着系统数据的增长,单个数据库可能难以承受高负载,进而影响性能和可扩展性。分库分表的目标是将数据分散到多个库或表中,从而减少单一库或表的压力,提高系统性能。目录一我们为什