摘要:
# ShardingJDBC分布式事务 ## 一、ShardingJDBC分布式事务快速上手 ShardingJDBC支持的分布式事务方式有三种 LOCAL, XA , BASE,这三种事务实现方式都是采用的对代码无侵入的方式实现的。具体见 TransactionTypeHolder.set(Tra 阅读全文
摘要:
# ShardingProxy及同类产品选型 ## 一、ShardingProxy快速使用 ShardingProxy的功能同样是分库分表,但是他是一个独立部署的服务端,提供统一的数据库代理服务。注意,ShardingProxy目前只支持MySQL和PostgreSQL。并且,客户端连接Shardi 阅读全文
摘要:
# shardingSphere内核原理及核心源码 这一部分,我们主要了解ShardingSphere进行分库分表的底层原理,并且深入到源码了解分库分表的实际运行过程。 一方面,我们之前在学习ShardingJDBC时,积累了大量的测试实例,对于学习底层原理是非常好的学习入口。 另一方面,也是为了后 阅读全文
摘要:
# ShardingJDBC分库分表核心原理 ## 分库分表 **垂直分表**:一个宽表的字段按照访问频率、是否是大字段的原则拆分为多个表,这样既能使业务清晰,还能提高部分性能。拆分后,尽量从业务角度避免联查,否则性能方面将得不偿失。 **垂直分库**:多个表按照业务的耦合性来分类,分别存放在不同的 阅读全文
摘要:
# MHA集群搭建 ## 一、简介 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了automating master failover 功能。MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的mas 阅读全文
摘要:
# MySQL生产高可用架构 ## 一、MySQL高可用集群介绍 ### 1.1 数据库主从架构与分库分表 随着现在互联网的应用越来越大,数据库会频繁的成为整个应用的性能瓶颈。而我们经常使用的MySQL数据库,也会不断面临数据量太大、数据访问太频繁、数据读写速度太快等一系列的问题。所以,我们需要设计 阅读全文
摘要:
# MongoDB建模调优&change stream ## 一、MongoDB开发规范 1. 命名原则。数据库、集合命名需要简单易懂,数据库名使用小写字符,集合名称使用统一命名风格,可以统一大小写或使用驼峰式命名。数据库名和集合名称均不能超过64个字符。 2. 集合设计。对少量数据的包含关系,使用 阅读全文
摘要:
# MongoDB多文档事务 ## 一、事务简介 事务(transaction)是传统数据库所具备的一项基本能力,其根本目的是为数据的可靠性与一致性提供保障。而在通常的实现中,**事务包含了一个系列的数据库读写操作,这些操作要么全部完成,要么全部撤销**。例如,在电子商城场景中,当顾客下单购买某件商 阅读全文
摘要:
# MongoDB分片集群架构 ## 一、分片简介 分片(shard)是指在将数据进行水平切分之后,将其存储到多个不同的服务器节点上的一种扩展方式。分片在概念上非常类似于应用开发中的“水平分表”。不同的点在于,MongoDB本身就自带了分片管理的能力,对于开发者来说可以做到开箱即用。 ### 1.1 阅读全文