OushuDB -- ODCP 课程学习笔记
OushuDB 简介
OushuDB 由国人自主研发,符合国家信创标准;通过计算存储分离架构解决了传统数据库高成本、高门槛、难维护、难扩展的问题。OushuDB 同时支持各大公有云和私有云。
Oushu Database(简称 OushuDB)是一款高性能云原生数据仓库,可以轻松用于构建核心数仓、数据集市、实时数仓、数据湖和湖仓一体数据平台。OushuDB 通过计算存储分离架构解决了传统 MPP 数据仓库和 Hadoop 高成本、高门槛、难维护、难拓展的问题。同时支持各大公有云和私有云。另外,OushuDB 由国人自主研发、符合信创标准,已在金融、电信、工业、能源、互联网等各个行业得到广泛的应用,偶数科技已经服务大型金融、电信、政府、能源等众多领域的全球客户,其中包括建设银行、中国移动、中国联通、国家电网、南方电网、海尔等诸多世界 500 强企业,以及 VMware 等海外软件巨头。
新一代云数据仓库,融合了 MPP 和 Hadoop 的两者的优点,并且解决了两者的缺点。在兼容性和性能等方面表现的很优秀。OushuDB 以偶数主导开源的Apache HAWQ 为基础,从设计之初就定位在新一代云数据仓库。OushuDB 的新一代 SIMD 执行器比传统 MPP 要快 5-10 倍,比一般的 SQL-on-Hadoop 要快 20 倍左右。OushuDB 支持 Update/Delete 和混合工作负载,实现了自己的存储,突破了 HDFS 的瓶颈。在可扩展性方面,因为采取了存储与计算分离的架构,可以扩展到上万节点,并且可以原生适应云计算的弹性需求。从而可以彻底满足 AI 和云时代的海量数据存储和分析的需求。
OushuDB 和 Apache HAWQ 的重要不同
- 全新执行器,性能得到 5-10 倍提升,3.x 新特性
- 支持 Update/Delete
- 支持索引,加速点查询
- 支持分布式表存储 Magma,支持混合工作负载
- 支持对象存储,简化了公有云上的存储部署
- 支持虚拟计算集群,实现了虚拟计算集群之间的资源隔离
- 支持 ORC 外部存储格式,结合新的执行器,外部存储的性能可以提升10-50 倍
- 支持新一代可插拔存储框架,只需编写几个函数就可以添加一个外部数据源
- 支持 Master 节点 HA
OushuDB 产品特色
- 云原生:采用计算存储分离架构,利用云服务器、分布式存储,对数据基础设施的可扩展性进行深度优化,充分满足云端应用高度弹性、无限扩容的要求。支持腾讯云、阿里云、华为云、金山云、微软Azure、AWS等主流云平台。
- 高性能:面向PB级大数据的复杂查询,相比MPP和SQL-on-Hadoop快一个数量级。全新设计的执行器让性能提升5~10倍,显著降低批处理和即席查询所需的时间。
- 强兼容:具备完善的SQL标准和ACID特性,支持HDFS和多种对象存储的增删改查、以及偶数自研的Magma存储。兼容基于Oracle,PostgreSQL,Greenplum开发的数字应用,用户可以轻松实现不同数据基础设施的平稳迁移。
- 纯国产:OushuDB由国内顶尖数据库内核研发团队自主开发,符合国家信创标准。偶数研发团队曾主导国际顶级的数据库开源项目。
- 应用广:OushuDB已在金融、互联网、电信、政府、制造等行业的数百家头部企业得到广泛应用,助力各类企业完成数字化转型。
OushuDB 算存分离
OushuDB 是计算和存储分离的。它的数据是存储 Magma 或者是 HDFS 上。高性能,高可用的分布式存储系统,在主节点上需要配置 MagmaObserver 他用来提供整个集群的 Magma 可用节点,在各个从节点上会配置 MagmaNode。用来提供访问和存储 Magma 数据的服务,那数据还可以放在 HDFS 上。
OushuDB 现在支持多种存储格式:AO、ORC 和 Magma。AO 是按行存储的格式,而 ORC、Magma 是按行列存储的格式。
OushuDB通过可插拔存储原生支持HDFS,对象存储和自研分布式表存储Magma。三大存储可以通过多虚拟存储集群的机制原生的接入OushuDB,实现IO资源的物理隔离。
多虚拟存储集群技术(VSC)支持多路径,支持IO的负载均衡。来自于同一个VSC的用户表可以根据预定义的分布权重,负载均衡的打散到不同路径。创建表和使用表的过程对用户来说是完全透明的。
常用命令
启动/停止 OushuDB
1 | source /usr/local/hawq/greenplum_path.sh # 设置OushuDB环境变量 |
启动/停止 Magma
1 | 方式一 OushuDB4.0 集群起停带Magma服务 [只有hawq init|start|stop cluster命令可以带--with_magma选项] |
创建一个新的数据库 test,并在新的数据库中创建一个表 foo
1 | psql -d postgres |
创建schema
1 | create schema myschema; |
各种格式的表的建表语法
1 | # 默认创建的是AO表 |
- Title: OushuDB -- ODCP 课程学习笔记
- Author: 严少安
- Created at: 2023-01-15 10:01:26
- Updated at: 2023-01-15 10:01:26
- Link: https://shawnyan.cn/2023/other/oushudb-odcp/
- License: This work is licensed under CC BY-NC-SA 4.0.