MYSQL 同步到ES 如何设计架构保持一致性
简单使用某个组件很容易,但是一旦要搬到生产上就要考虑各种各样的异常,保证你方案的可靠性,可恢复性就是我们需要思考的问题。今天来聊聊我们部门在 MYSQL 同步到ES的方案设计。
MySQL锁最全详解:行锁+表锁+悲观锁+乐观锁+共享锁
我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突),如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素,从这一角度来说,锁对于数据库而言就显得尤为重要。
分布式数据库索引能力大调研
索引,是数据库中非常重要的一类对象。在数据库中增加索引,是常见的一种优化手段,特别是对于查询语句的优化,很多都可以通过增加索引方式来解决。在分布式数据库情况下,索引又有所不同,其较单机或集中式数据库在设计、管理、优化方面有一定的差异。本文针对国内主流的一些分布式数据库,针对索引功能做了个小调研,希望对大家能有所帮助。这里特别感谢来自奥神贝斯、平凯星辰、阿里云、腾讯云、金篆信科、万里开源老师的协助。
MYSQL 是如何保证binlog 和redo log同时提交的?
MYSQL 一个事务在提交的时候能够保证binlog和redo log是同时提交的,并且能在宕机恢复后保持binlog 和redo log的一致性。
MYSQL 是如何保证binlog 和redo log同时提交的?
MYSQL 一个事务在提交的时候能够保证binlog和redo log是同时提交的,并且能在宕机恢复后保持binlog 和redo log的一致性。 先来看看什么是redo log 和binlog,以及为什么要保持它们的一致性。
如何优化 Redis 扫描性能
Redis 的逻辑数据库为在单个 Redis 实例中组织和管理数据提供了强大的机制。通过将数据划分到独立的逻辑数据库中,用户可以实现更好的隔离和更高效的数据访问。然而,必须注意共享内存和 CPU 利用率的潜在性能影响。
选择 SQL 与 NoSQL
问题 #1.) 能展示一下之前处理的数据量与现在的数据量之间的差异吗? 问题 #2.) 在 1970 年代,被认为足够的数据量有多大? ……
手把手教你开发 MyBatis 分页插件
在日常开发中,小伙伴们多多少少都有用过 MyBatis 插件,松哥猜测大家用的最多的就是 MyBatis 的分页插件!不知道小伙伴们有没有想过有一天自己也来开发一个 MyBatis 插件? 其实自己动手撸一个 MyBatis 插件并不难,今天松哥就把手带大家撸一个 MyBatis 插件!
MySQL主从复制最全详解(图文全面总结)
MySQL主从复制是一种数据库复制技术,在主从复制中,一个数据库服务器(主节点,Master)充当主服务器,而其他一个或多个数据库服务器(从节点,Slave)充当从服务器。
一个数据库死锁竟然被测试发现了,这你敢信
在软件开发的复杂世界中,数据库死锁往往是隐藏在数据操作深处的隐患,它们可能在任何时候无声无息地破坏系统的稳定性。在最新的测试中,测试工程师竟然意外发现了一个潜伏已久的数据库死锁问题。这个发现不仅展示了细致测试的重要性,也提醒我们即使是看似不起眼的系统异常,也可能是潜在大问题的冰山一角。在本文中,我们将深入探讨这个死锁是如何被发现的,以及我们可以从中学到的宝贵经验。
Redis集群的高可用性
在本文中,我们将研究以下主题: •Redis集群的高可用性。 •Redis集群的自动故障转移。 •Redis集群中的脑裂问题及其解决方案。
MongoDB 有那么难吗? ,有手就能用?
在当下业务数据量处理中,大部分系统都有日志的需求,而很多架构下mongodb 充当快速接受大量数据和处理过期数据的责任,这也导致即使接触到mongodb 的人员对于mongodb 的关注和重视等于0 或负数。
奇思妙想的SQL|兼顾性能的数据倾斜处理新姿势
本篇为系列第2篇,分享在支付宝支付数据链路改造升级过程中,针对数据倾斜的优化实践新方法,在解决数据倾斜问题的同时,还能兼顾更优的计算性能!
MongoDB 重新同步复制集成员
当复制集成员的复制进程落后太多,以至于主节点覆盖了该成员尚未复制的 oplog 条目时,复制集成员就会变得 "stale"。出现这种情况时,必须删除成员的数据并执行初始同步,从而完全重新同步成员。
Polardb X-engine 如何服务巨量数据情况下的业务 (翻译)- 1
比如在2018年,双11全球购物节经历了122倍的交易增长,每秒处理49.1万个销售交易,相当于每秒超过7000万个数据库的实物,为了应对这些,我们引入了 x-engine, 这是阿里巴巴开发的polardb 写优化存储引擎,他利用分层存储和LSM TREE来加速数据的写入充分利用硬件基于FPGA的合并,并使用一套优化措施,包括事务中的异步写入,多个阶段流水线合并期间的增量缓存替换等,评估结果显示,x-engine在这种实物工作负载下的性能优于其他存储引擎。
Postgres并发处理
计算机科学史上最受追捧的词汇之一是并发[1]和并行[2]。如果没有这两者的需求,我们可以简单地一次运行一个程序,不需要操作系统资源(RAM、CPU)在应用程序之间进行调度,从而使内核变得更简单。内核的核心目的是调度和协调计算机资源和应用程序,使并发和并行成为可能。尽管没有这些概念,整体复杂性可以减少95%,但显然,95%的开发无法在没有这些概念的情况下进行。
MySQL 8.0 instant 添加和删除列
MySQL 8.0.12 开始, 以下的 alter table 操作支持 ALGORITHM=INSTANT 算法: 1.添加新的列。即 instant add column 2.添加或者删除虚拟列 3.添加或者删除列的默认值 4.修改 enum、set 类型列的定义 5.修改索引类型 6.重命名表
3种MySQL主从同步方案详解(图文全面总结)
MySQL主从同步是大数据量的必备方案,也是大厂面试的重灾区,下面我就全面来详解MySQL主从同步的3种常见方式
Mybatis缓存架构原理详解(图文全面总结)
Java面试经常问到Mybati缓存架构,比如:一级缓存和二级缓存架构,今天就给大家重点详解Mybatis一级缓存和二级缓存原理与区别
ZooKeeper-3.4.6集群选举Bug踩坑与恢复记录
1 问题背景 2 探索 2.1 各节点端口的连通性统计 2.2 未重启节点状态检查 2.3 通过日志文件寻找线索失败 2.4 线上ZK节点添加端口探测监控 2.5 柳暗花明 3 集群恢复方案制定 3.1 测试环境还原线上集群 3.2 测试Codis集群和demo服务连接到测试ZK集群 3.3 关键要素测试 3.4 方案选择 4 方案落地 4.1 日志滚动调整配置文件 4.2 准备3节点小集群 4.3 老节点工作路径配置调整与滚动操作 5 总结