高并发,高性能,高可用MySQL 实战-未来的数据库什么样

mysql8.0有什么新特性

  1. 窗口函数(window functions)
  • 以某个列为分隔,分为多个窗口
  • 在窗口内执行特定函数
    select *,rank() over (partition by customer_id ORDER BY amount desc) as ranking from payment;
  1. 隐藏索引
  • 暂时隐藏某个索引
  • 可以通过隐藏和显示索引,来测试索引的作用
show index from payment;

alter table payment alter index fk_payment_rental invisible;  # 隐藏索引

alter table payment alter index fk_payment_rental visible;  # 显示索引

  1. 降序索引
  • 8.0之前只有升序索引
  • 对于很多本来能走索引覆盖的语句,升序索引无法覆盖
  • 降序索引解决了此问题
  1. 通用表表达式

  2. UTF-8编码

  • utf8mb4作为mysql的默认字符集
  1. DDL事务
  • 8.0支持DDL事务,元数据操作可以回滚

InnoDB Cluster和PXC有什么区别

  • InnoDB Cluster

  • PXC

数据库有哪些分类

  1. 按用途分类
  • OLTP(online transaction processing)
  • OLAP(online analytical processing)
  • HATP(hybrid transaction/analytical processing)

(1). OLTP

  • 在线事务(交易)处理系统
  • sql语句不复杂,大都处于事务中
  • 并发量大,对可用性要求高
  • mysql/postgresql

(2). OLAP

  • 在线分析处理系统
  • sql语句复杂,数据量大
  • 一般以单个事务为单位
  • hive/sparksql/greenplum

(3). HTAP(hybrid transaction/analytical processing)

  • 混合事务/分析处理
  • 混合了两种数据库的特点,实现了一种架构多功能
  1. 按存储形式分类
  • 行存
  • 列存
  • KV
  1. 按架构分类
  • shared everything
  • shared memory
  • shared disk
  • shared nothing
  1. 总结:
  • 按用途分类:OLTP、OLAP、HTAP
  • 按存储分类:行存、列存、KV
  • 按架构分类:shared everything、shared memory、shared disk、shared nothing

谁是单体数据库之王

  1. PostgreSQL特点
  • 与mysql类似
  • 性能更好,更稳定
  • 代码质量更高
  • 有赶超mysql的趋势
  1. Postgres-XL(OLTP)
  • GTM管理每个事务的执行
  • coordinator解析sql,制定执行计划,然后分发
  • DataNode返回执行结果到coordinator
  1. GreenPlum(OLAP)
  • 高性能sql优化器: GPORCA
  • slice执行模式
  1. 总结:
  • PostgreSQL是一个完全可以替代mysql的高性能数据库
  • Postgres-XL是基于Postgres的分布式事务集群
  • GreenPlum是基于Postgres的分布式分析集群

mysql能魔改成什么样

  1. polardb架构图

  2. 日志传送VS共享存储

  3. 备库如何查询数据

  4. 总结

  • PolarDb对mysql进行了魔改
  • 采用了shared disk共享存储的架构
  • 将三种log简化为一种redo log

谁在支持双十一

  1. OceanBase
  • 是一个newsql数据库,是HTAP类型的数据库,有行列混存
  1. OceanBase的查询与更新

谁是国产数据库最闪亮的星

  1. Tidb
  • 一键水平扩容或者缩容
  • 金融级高可用
  • 实时HTAP
  • 云原生的分布式数据库
  • 兼容Mysql5.7协议和mysql生态
  1. tidb整体架构图

  2. tidb server层到存储层的调用

  3. tidb协议

打不死的小强

  1. cockroachDB
  • 2015年启动,由google前员工发起
  • 完全开源
  • 分布式shared-nothing架构
  • 兼容PostgreSQL协议
  1. cockroachDB架构图
  • 分层架构
  • 每个节点底层都为RocksDB
  • 使用raft作为共识协议
posted @ 2022-04-09 09:37  专职  阅读(354)  评论(0编辑  收藏  举报