参考《人人都是架构师》 大型网站几乎时时刻刻都在接收着高并发和海量数据的洗礼,随着用户规模的线性上升,单库的性能瓶颈会逐渐暴露出来,由于数据的检索效率越来越慢,导致生产环境中产生较多的慢速SQL。对于非结构化数据,可以采用将其存储在NoSQL数据中来提升性能,但是重要的业务数据,仍然要落盘在关系型数 ...
分类:
数据库 时间:
2020-06-29 00:11:53
阅读次数:
82
继承,封装,多态? 封装:是对象和类概念的主要特性,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承:子类继承父类,它就可以使用父类的所有功能,并在无需编写父类的情况下对这些功能进行扩展。 多态:多态性是允许你将父对象设置成为一个或更多的 ...
分类:
其他好文 时间:
2020-06-28 20:19:12
阅读次数:
62
主从读写分离 其实,大部分系统的访问模型是读多写少,读写请求量的差距可能达到几个数量级,那么这就是我们所说的主从读写分离。 主从复制的原理这里不再阐述,本人博客里有关于Mysql主从的配置文章,当然里面也介绍了原理。 做了主从复制之后,就可以在写入时只写主库,在读数据时只读从库,这样即使写请求会锁表 ...
分类:
数据库 时间:
2020-06-25 21:52:59
阅读次数:
64
1. 索引树高度(1) 表的数据量: 数据量越大,树的高度就会变高,理论上三层索引树的高度最为理想,可以支持百万级别的数据量解决办法: 可以使用分表(横切,竖切),分库,增加缓存,解决数据量大,查询慢 (2) 索引键值过长: 该索引字段存储数据太大,每个叶子节点最大存储16k,超过这个范围会新增加叶 ...
分类:
数据库 时间:
2020-06-24 20:12:29
阅读次数:
85
一,shardingjdbc的用途 1,官方站介绍: Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈, 它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款相互独立,却又能够混合部署配合使用的产品组成。 它们均提供标准化的数据分片、分布式 ...
分类:
数据库 时间:
2020-06-24 20:09:19
阅读次数:
224
一、为何要用雪花算法 1、问题产生的背景 现如今越来越多的公司都在用分布式、微服务,那么对应的就会针对不同的服务进行数据库拆分,然后当数据量上来的时候也会进行分表,那么随之而来的就是分表以后id的问题。 例如之前单体项目中一个表中的数据主键id都是自增的,mysql是利用autoincrement来 ...
分类:
数据库 时间:
2020-06-22 21:15:03
阅读次数:
343
一、mycat读写分离Mycat的读写分离是建立在Mysq的主从复制的基础上的#修改配置文件schema.xml<?xmlversion="1.0"?><!DOCTYPEmycat:schemaSYSTEM"schema.dtd"><mycat:schemaxmlns:mycat="http://io.mycat/"><schemaname="TESTDB
分类:
其他好文 时间:
2020-06-22 09:24:43
阅读次数:
47
摘要:Go 能很好的支持并发模型,这也是 Go 如此火热的原因,那今天我们来学习 Go 的调度机制。 数据结构 G 结构体 G 是 goroutine 的缩写,相当于操作系统中的进程控制块,在这里就是 goroutine 的控制结构,是对 goroutine 的抽象,下面是 G 的结构(只列出了部分 ...
分类:
其他好文 时间:
2020-06-22 01:07:54
阅读次数:
104
连接查询: 内连接:等值连接,非等值连接,自连接 外连接:左外连接,右外连接,全外连接 交叉连接 sql92仅支持内连接: 等值连接:(多表) 多表等值连接的结果为多表的交集部分 n表连接,至少需要n-1个连接条件 多表的顺序没有要求 一般需要为表取别名 可以搭配排序、分组、筛选等语句 示例: SE ...
分类:
其他好文 时间:
2020-06-21 21:45:34
阅读次数:
129
什么是架构 1、对系统进行有序化重构 2、分与合的过程 横向的(水平) 水平分表,数据分到多个表里面,比如1000w数据 ,拆分成多个小表数据 纵向的(垂直) 列数比较多的表,拆分成多个小表存储不通数据 大的系统 --> 拆分成很多个子系统,模块,组件 架构内容 1、技术(基础架构组) --> 对源 ...
分类:
编程语言 时间:
2020-06-20 21:29:11
阅读次数:
63