存储
文章平均质量分 70
FserSuN
这个作者很懒,什么都没留下…
展开
-
数据库数据迁移的3种方案学习
1 背景日常我们开发工作中,随着业务需求的变更,重构系统是很常见的事情。重构系统常见的一个场景是变更底层数据模型与存储结构。这种情况下就要对数据进行迁移,从而使业务能正常运行。常见的表变化有如下3种:增加、删除、修改字段,对单表结构修改进行分库分表变更底层存储系统。例如数据库选型变更当发生变更都要进行迁移。下面介绍3种常见的迁移思路。2 停服迁移法业务自身特点是非24小时提供服务,有暂停维护时间。这时可以在服务停止运行期间进行迁移。操作方式如下:数据迁移数据导出分库分表工具,翻译 2021-05-18 22:39:09 · 9942 阅读 · 0 评论 -
MySql主从同步、延迟及解决的学习总结
1 什么是MySql主从同步MySql是当今广泛使用的一种关系数据库。在日常生产环境中,为了保证高可用及高并发,通常采用主从结构。即通过主从复制方式同步数据,再通过读写分离实现提高并发访问能力。主从复制通过binLog(binarylog)实现,这时一种日志文件。记录了MySql数据库增删改操作的日志信息。主结点发生操作变更后,binlog被发送到从结点,并记录在relay log中。从结点重放relay log,并转换为数据操作sql语句,实现从结点数据的入库。最终完成主结点数据复制。一次主从复制翻译 2021-03-30 22:32:55 · 332 阅读 · 0 评论 -
高并发下缓存常见问题及处理
1 背景在日常开发过程中,为了提高查询速度,我们通常会用到本地缓存或分布式缓存。特别是在高并发场景下使用分布式缓存会遇到很多问题。主要可以归为如下几种:一致性击穿雪崩接下来就看一看如何处理这些常见问题。2 缓存一致性缓存通常对数据库数据缓存。而分布式缓存,还会存在主从结点。从结点会再同步主结点数据。因此在这种情况下访问缓存就可能导致缓存中数据与数据库数据不一致。或从结点数据与主几点数据不一致。对于一致性问题,通常会结合业务特点进行一定折衷,只要确保在业务可接收范围内,实现最终一致即可。翻译 2020-06-13 15:57:59 · 895 阅读 · 0 评论 -
Guava Cache在日常开发中的使用及问题
1.Guava Cache概念Guava cahe是一个线程安全的本地缓存。当通过缓存查询数据时,未找到所要查询的数据,通过执行自定义数据读取方法获取数据,并将结果存入缓存。通过锁避免多线程重复加载。最终通过应用本地缓存提高查询速度。Guava cache的主要功能如下:对数据未命中,可加载进缓存当缓存数据过期,可移除可根据缓存读取或写入的时间更新过期时间可统计缓存的命中率、异常等数据2.使用Guava Cache通过系统的CacheBuilder来构建缓存对象,并在build方法中指定翻译 2020-06-06 22:19:04 · 2289 阅读 · 0 评论 -
mysql分表参数路由策略及库表数的选择
数据表拆分的首要原则,就是要尽可能找到数据表中的数据在业务逻辑上的主体,并确定大部分(或核心的)数据库操作都是围绕这个主体的数据进行,然后可使用该主体对应的字段作为分表键,进行分库分表。 编辑中…...翻译 2020-04-30 23:36:11 · 1486 阅读 · 4 评论 -
mysql分库分表概念学习
背景读写分离的基本概念学习后了解到可以通过该方法进行系统读能力的扩展。但随后会想到如果是大量写的场景如何扩展?这是就用到分库分表。当业务规模不断壮大,数据暴增,可能会出现设置了索引也没法改善数据库性能的问题。这时可以通过水平分区来解决。即将一张数据表存储的大量数据,拆分为多个子表来维护。进行划分主要有三种方式,分表、分库及分库分表。仅分表:在一个库中将一张表拆分为多个表。原有库中的表变...翻译 2020-04-25 00:29:12 · 309 阅读 · 0 评论 -
mysql读写分离概念学习
读写分离的概念在我们使用单独一个mysql实例的情况下,所有的读写操作均在这一个实例上。若业务系统读操作占大多数时,就可以考虑使用读写分离的模式。使用mysql集群,将一个mysql配置为主库,其它的mysql配置为从库。主库通过binlog将数据同步给从库,这称为主从复制[1]。从主从分离的结构可以看出其优点如下:水平扩展:当请求过大时,我们可以增加从结点对集群扩展,提高服务能力。避...翻译 2020-04-19 14:20:04 · 344 阅读 · 0 评论 -
Java使用Lettuce客户端在Redis在主从复制模式下命令执行
1 redis主从复制的概念多机环境下,一个redis服务接收写命令,当自身数据与状态发生变化,将其复制到一个或多个redis。这种模式称为主从复制。在redis中通过命令salveof命令让执行该命令的redis复制另一个redis数据与状态。我们将主服务器称为master,从服务器称为slave。主从复制保证了网络异常正常时,网络断开重的情况下将数据复制。网络正常时master会通过发送命...原创 2019-09-22 14:43:12 · 1430 阅读 · 0 评论 -
Redis日常使用实践总结
redis是一个高性能的缓存系统,但也分具体的使用场景合理使用才能充分发挥redis优势。1 让redis做该做的事情曾经见过一些同事利用redis做消息队列服,虽然redis可以完成部分功能。但不推荐这么做。例如很多可靠性功能需要自己去保证,因此最好使用消息队列如kafka、rabbitmp等专业的消息服务去完成。redis本身是一个内存key/value数据库。因此主要用来存储经常访问的...原创 2019-08-31 11:51:13 · 402 阅读 · 0 评论 -
Redis大Key导致性能下降及处理
1.什么是大keyRedis是一个key,value数据库。大key即Key存储的value非常大。当value为哈希表、集合、有序集或链表时指存储的元素过多(上万)。当value为字符串时一般指单个字符串超过1M。也包括Key数量极多的情况,例如key数量达到千万上亿的规模。2.大key导致性能下降的原因大key导致性能下降redis的结构相关,首先redis是一个key,value数据库...原创 2019-08-22 00:55:38 · 24734 阅读 · 0 评论