草庐IT

一种自平衡解决数据倾斜的分表方法

作者:京东零售梁强1、背景这篇主要描述了B端令牌系统应用数据分表解决业务数据量增大,且存在的数据倾斜问题,主要面向的场景是一对多数据倾斜问题1)B令牌的业务背景先简述一下B令牌的业务背景,B令牌系统是用于营销场景中,将许多用户绑定在一个令牌上,再将令牌绑定在促销上,从而实现差异和精准营销,一般情况下一个令牌的生命周期等同于这个促销。2)B端令牌的结构现状令牌和令牌用户关系是一个一对多的关系,早期的令牌系统使用jed分库,2个分片,中间进行了一次扩容达到了8个分片,存储的数据行数达到了1.2亿3)数据和业务现状1.2亿数据,分布在8个分库中,每个分库平均1500万,但由于分库字段使用的是令牌ID

看完这一篇,ShardingSphere-jdbc 实战再也不怕了

谈到分库分表中间件时,我们自然而然的会想到ShardingSphere-JDBC。这篇文章,我们聊聊ShardingSphere-JDBC相关知识点,并实战演示一番。1ShardingSphere生态ApacheShardingSphere是一款分布式的数据库生态系统,它包含两大产品:ShardingSphere-ProxyShardingSphere-JDBC▍一、ShardingSphere-ProxyShardingSphere-Proxy被定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。代理层介于应用程序与数据库间,每次请求都需要做一次转发

看完这一篇,ShardingSphere-jdbc 实战再也不怕了

谈到分库分表中间件时,我们自然而然的会想到ShardingSphere-JDBC。这篇文章,我们聊聊ShardingSphere-JDBC相关知识点,并实战演示一番。1ShardingSphere生态ApacheShardingSphere是一款分布式的数据库生态系统,它包含两大产品:ShardingSphere-ProxyShardingSphere-JDBC▍一、ShardingSphere-ProxyShardingSphere-Proxy被定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。代理层介于应用程序与数据库间,每次请求都需要做一次转发

MySQL的主从复制和分库分表初探

主从复制+分库分表要讲主从复制,首先来看看MySQL自带的日志文件。日志错误日志错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志文件。该日志是默认开启的,默认存放目录/var/log/,默认的日志文件名为mysqld.log。查看日志位置:showvariableslike'%log_error%';通过tail指令查看日志文件的尾部记录的日志:tail-50/var/log/mysqld.log实时查看文件尾部记录的日志:tail-f/var/log/my

MySQL的主从复制和分库分表初探

主从复制+分库分表要讲主从复制,首先来看看MySQL自带的日志文件。日志错误日志错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志文件。该日志是默认开启的,默认存放目录/var/log/,默认的日志文件名为mysqld.log。查看日志位置:showvariableslike'%log_error%';通过tail指令查看日志文件的尾部记录的日志:tail-50/var/log/mysqld.log实时查看文件尾部记录的日志:tail-f/var/log/my

浅谈IT系统性能优化

一个刚上线的IT系统,往往负载压力不大,所以不会存在什么性能问题。这时,人们大多只关心系统的功能性和用户体验。但是,随着时间推移,用户量和数据量都比刚上线的时候要多很多,高并发和大数据场景下,系统遇到性能瓶颈,持续不能改善最终导致系统崩溃。这对于做C端的开发人员应该更加深有体会。系统经常响应慢,甚至宕机,这对用户造成很差的用户体验,更有严重的,会导致大批用户流失、业务停摆等,造成不可挽回的损失。因此,持续运营的系统,是非常有必要进行性能优化的工作。对于性能优化,已经有很多可行且成熟的技术方案,下面就聊聊,旨在大概了解,不展开详说。性能监控具体问题具体分析,解决性能问题总得要知道系统哪里遇到性能

浅谈IT系统性能优化

一个刚上线的IT系统,往往负载压力不大,所以不会存在什么性能问题。这时,人们大多只关心系统的功能性和用户体验。但是,随着时间推移,用户量和数据量都比刚上线的时候要多很多,高并发和大数据场景下,系统遇到性能瓶颈,持续不能改善最终导致系统崩溃。这对于做C端的开发人员应该更加深有体会。系统经常响应慢,甚至宕机,这对用户造成很差的用户体验,更有严重的,会导致大批用户流失、业务停摆等,造成不可挽回的损失。因此,持续运营的系统,是非常有必要进行性能优化的工作。对于性能优化,已经有很多可行且成熟的技术方案,下面就聊聊,旨在大概了解,不展开详说。性能监控具体问题具体分析,解决性能问题总得要知道系统哪里遇到性能

分库分表真的适合你的系统吗?聊聊分库分表和NewSQL如何选择

曾几何时,“并发高就分库,数据大就分表”已经成了处理MySQL数据增长问题的圣经。面试官喜欢问,博主喜欢写,候选人也喜欢背,似乎已经形成了一个闭环。但你有没有思考过,分库分表真的适合你的系统吗?分表在业务刚刚发展起来的时候,流量全部打到了一个MySQL上,用户信息全落到了user表。后来,user表的数据量越来越大了。于是,你做了一次垂直拆分,将原来的user表拆分成了新的user表和user_details表。这样一拆之后,用户的信息分散到两个表,user表的数据量一下就变小了,user表数据量过大的问题暂时就解决了。但随着业务的发展,线上的流量越来越大,单个MySQL已经扛不住流量的压力了

分库分表真的适合你的系统吗?聊聊分库分表和NewSQL如何选择

曾几何时,“并发高就分库,数据大就分表”已经成了处理MySQL数据增长问题的圣经。面试官喜欢问,博主喜欢写,候选人也喜欢背,似乎已经形成了一个闭环。但你有没有思考过,分库分表真的适合你的系统吗?分表在业务刚刚发展起来的时候,流量全部打到了一个MySQL上,用户信息全落到了user表。后来,user表的数据量越来越大了。于是,你做了一次垂直拆分,将原来的user表拆分成了新的user表和user_details表。这样一拆之后,用户的信息分散到两个表,user表的数据量一下就变小了,user表数据量过大的问题暂时就解决了。但随着业务的发展,线上的流量越来越大,单个MySQL已经扛不住流量的压力了

.Net下极限生产力之efcore分表分库全自动化迁移CodeFirst

.Net下极限生产力之分表分库全自动化MigrationsCode-First##介绍本文ShardinfCore版本x.6.x.x+本期主角:-[`ShardingCore`](https://github.com/dotnetcore/sharding-core)一款ef-core下高性能、轻量级针对分表分库读写分离的解决方案,具有零依赖、零学习成本、零业务代码入侵适配目录开始移除静态容器原生efcore集成AbpVNext集成Furion集成WTM开始本次我们的主题就是极限生产力,其他语言望尘莫及的分表分库全自动化MigrationsCode-First加efcore分表分库无感开发还记