架构师之路-存储高性能

高性能数据库集群的第一种方式“读写分离”,其本质是将访问压力分散到集群中的多个节点,但是没有分散存储压力。

数据库读写分离需要关注“复制延迟”带来的复杂性。

数据库读写分离的分配机制有两种实现方式:程序代码封装和中间件封装。

高性能数据库集群的第二种方式是“分库分表”,既可以分散访问压力,又可以分散存储压力。

业务分库指的是按照业务模块将数据分散到不同的数据库服务器。

业务分库会引入join操作问题、事物问题、成本问题三个复杂度相关的问题。

数据库分库分表为垂直分表和水平分表。

垂直分表引入的复杂性主要体现在表操作的数量要增加。

水平分表引入了路由、join、count操作、order by操作等复杂度问题。

K-V存储在数据结构方面比关系型数据库具备较大的优势。

文档数据库最大的优势就是no-schema,可以存储读取任意的数据。

列式存储在某些场景下能够大大的节省I/O。

列式存储具备很高的压缩比,能够节省存储空间。

全文搜索引擎的基本原理是倒排索引。

为了让全文搜索引擎支持关系型数据的全文搜索,需要做一些转换操作,即将关系型数据转为文档数据。

缓存穿透是指在当前业务系统查询的数据在存储系统中没有的时候,每次查询都会访问存储系统。

缓存雪崩是指当缓存失效后引起系统性能急剧下降的情况。

缓存热点指大部分甚至所有业务请求都命中同一份缓存数据。

你可能感兴趣的:(架构师之路-存储高性能)