发布于

课程学习笔记

下面是我对 OushuDB 知识的学习笔记:
OushuDB 具有云原生、高性能、强兼容、纯国产、应用广五大特点。
OushuDB 实现了多主节点架构,虚拟存储集群以及虚拟计算实例,计算和存储层面做到了虚拟化的程度,能更好的应对未来不断增长的计算和存储需求。
从架构出发,OushuDB 具有非常多的特点和优势。
1.存储与计算分离架构
多个主节点处理用户对数据库的连接请求 (JDBC/ODBC),处理用户认证及协调分布式执行计划引擎、数千个计算/存储节点分布式调度服务来完成后续 SQL 查询的处理流程
2.分布式执行计划引擎
负责用户端标准 SQL 语句的解析、语意检查、基于代价的查询优化到最终产生分布式的查询任务规划工作
3.分布式任务调度引擎 QD
负责执行计划的分发与执行状态跟踪,同时也负责节点间的数据分发
4.支持 SIMD 的极速执行引擎
负责将分布式调度引擎转发的逻辑计划转换成物理计划并完成资源配置,启动并控制整个查询计划的 执行并将执行结果透过分布式调度引擎传回上层执行节点
5.分布式可插拔存储引擎
提供支持 HDFS/S3/本地表存储等多种存储引擎及数据格式(行存、列存)数据的编码、压缩、存储与读写等机制
6.分布式事务管理
提供全局的数据库读写 ACID 机制,支持分布式锁, 支持并发读写能力
7.数据库元数据管理
提供数据对象管理与存储,支持基于 MVCC 的事务处理机制
8.全局资源管理
提供支持多租户的基于多级资源队列的全局任务资源统一分配
OushuDB 的新执行器
执行器是数据库内核最重要的部件之一,提升执行器性能的手段主要有两种技术路线,一种是向量计算(vectorized execution),另外一种是代码生成(code generation)
OushuDB 使用了向量计算外加 SIMD 优化技术。
SIMD(single instruction multi-data),即单指令多数据流,以同步的方式在同一时间内执行同一条指令。相比单指令单数据流(SISD),单指令多数据流一次性获得所有操作数进而加快了运算,充分利用 CPU 性能,特别是数据密集型运算。
OushuDB 的全新存储格式 Magma
OushuDB 支持多种存储格式:AO、ORC、Magma(4.0.0.0 发布的全新存储格式)。
Magma 的功能,主要包括数据分布、数据清理、事务模型、索引、数据副本、负载均衡。
Magma 格式的表支持 update、delete 操作。
Magma 格式的表是不支持列约束和非空约束的,但支持主键约束。
MAGMA 格式的表不支持为列设置缺省值。
只有 MAGMA 表支持主键约束。
MAGMA 格式的表不支持分布键和主键更新。
MAGMA 格式的表都不支持增加列,删除列,增加约束,删除约束,修改缺省值,修改列数据类型,重命名列,重命名表。
ORC 格式的表仅支持增加约束,删除约束,重命名表。
AO 格式的表全都支持增加列,删除列,增加约束,删除约束,修改缺省值,修改列数据类型,重命名列,重命名表。
OushuDB 支持创建主键索引、唯一索引和普通索引; 支持单列索引、多列组合索引,支持多种数据类型任意组合; 支持 btree 类型索引(不支持指定存储参数)。
OushuDB 目前只有 Magma 表支持索引,AO、ORC 表均不支持创建使用索引。

评论
    test