
海量数据库G100管理系统
Vastbase海量数据库是海量数据基于华为openGauss内核,融合多年对各行业应用场景的深入理解,携多年数据库开发积累,倾力打造的企业级关系型数据库。Vastbase数据库是海量数据基于华为openGauss内核开发的企业级关系型数据库。融合多年对各行业应用场景的深入理解,
- 第一,自主研发。国产代码率达到95%,不存在对国外技术的依赖,满足国内用户技术升级需求。
- 第二,极致性能。在基础架构、存储引擎等方面做了大量改进,在全国产环境下,性能突破139万tpmC值。
- 第三,高度兼容。从传统数据库特性提供全方位的兼容支持,有效控制了人力成本、时间成本和风险成本。
- 第四,平滑迁移。自研的数据库迁移工具,轻松实现数据库一键迁移,帮助用户更好的延续应用成果和数据资产。
- 第五,安全可控。遵循EAL4+标准进行了大幅度的安全增强,最大程度保障数据库访问及数据存储安全。
Vastbase数据库是海量数据基于华为openGauss内核开发的企业级关系型数据库。融合多年对各行业应用场景的深入理解,Vastbase除了具有openGauss极致的性能以外,还在原有功能基础上增加了大量Oracle兼容特性,并遵循EAL4+标准进行了大幅度的安全增强,同时整合GIS/流计算等一些列专业应用领域的企业级功能。
产品特性
1、通用性
Vastbase目前对绝大部分业务场景、开发环境和IT架构均能提供良好的支持。它严格遵循ACID特性,SQL92/ SQL99/SQL2003/SQL2011规范,支持GBK和UTF-8字符集,支持SQL标准函数与分析函数,支持存储过程。
2、极致性能
openGauss在基础架构上、SQL引擎、存储引擎等众多方面都做了大量优化改进,使得性能远超原生PostgreSQL,例如:
• LOCK:openGauss将主要的几个锁机制进行了更细粒度的拆分,缩短对应资源的锁定周期,提升并发效率;
• NUMA:openGauss进行了numa绑核操作,避免线程被资源调度引起的上下文切换。同时针对numa架构访问某远程节点存储器消耗资源较多的弱点,做了全局数据分区化改造,减少跨核跨处理器的竞争冲突及延迟;
• 检查点:实现了增量检查点,大幅度缓解了大并发交易量时的性能波动问题。
Vastbase得益于openGauss对整体架构的各方面重构和优化,性能遥遥领先于同类数据库,在双路的鲲鹏处理器服务器上能达到150万的TPMC值。
3、Oracle兼容性
Vastbase在各方面功能上均实现了对ORACLE数据库高度兼容。企业现有基于ORACLE数据库开发的应用程序代码只做少量甚至无需求修改,即可以稳定运行在Vastbase之上。大幅降低了业务系统数据库国产化替代的风险,大幅减少甚至避免了代码重写的工作。从而实现项目人力成本、时间成本和风险成本的有效控制。
4、安全性
Vastbase拥有多重安全防护机制,能够从身份鉴别、自主访问控制、强制访问控制、数据加密和安全审计等多个维度,最大程度保障数据库的访问及数据存储安全。
核心功能
Vastbase作为关系型数据库,拥有大量的数据类型、丰富完善的SQL语法、强大的查询优化器、并发控制手段、存储优化手段等。其中针对IT系统开发与调优、数据库管理与维护过程中最常用、具有较高价值的功能点,下本文将进行简要的说明与指引。
1、数据分区
数据分区是数据库产品普遍具备的功能。在Vastbase中,数据分区是对数据按照用户指定的策略对数据做的水平分表,将表按照指定范围划分为多个数据互不重叠的部分(Partition)。
Vastbase支持范围表分区功能,即根据表的一列或者多列,将要插入表的记录分为若干个范围(这些范围在不同的分区里没有重叠),然后为每个范围创建一个分区,用来存储相应的数据。基于时间分片的方式分区后带来的收益。
2、向量化执行和行列混合引擎
在大宽表,数据量比较大、查询经常关注某些列的场景中,行存储引擎查询性能比较差。例如气象局的场景,单表有200~800个列,查询经常访问10个列,在类似这样的场景下,向量化执行技术和列存储引擎可以极大的提升性能和减少存储空间。
向量化执行
标准的迭代器模型控制流向下、数据流向上、上层驱动下层(上层节点调用下层节点要数据)、一次一元组(下层节点每次只返回一条元组给上层节点)。
而向量化执行相对于传统的执行模式改变是对于一次一元组的模型修改为一次一批元组,配合列存特性,可以带来巨大的性能提升。
行列混合存储引擎
Vastbase支持行存储和列存储两种存储模型,用户可以根据应用场景,建表的时候选择行存储还是列存储表。
一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不很多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。
行列混合存储引擎可以同时为用户提供更优的数据压缩比(列存)、更好的索引性能(列存)、更好的点更新和点查询(行存)性能。
当前列存储引擎有以下约束:
● DDL仅支持CREATE/DROP/TRUNCATE TABLE的功能。
● 兼容分区的DDL管理功能(如: ADD/DROP/MERGE PARTITION,EXCHANGE功能)。
● 支持CREATE TABLE LIKE语法。
● 支持ALTER TABLE的部分语法。
● 其他功能都不支持。
● DML支持UPDATE/COPY/BULKLOAD/DELETE。
● 不支持触发器,不支持主外键。
● 支持Psort index、B-tree index和GIN index。
列存下的数据压缩
对于非活跃的早期数据可以通过压缩来减少空间占用,降低采购和运维成本。
Vastbase列存储压缩支持Delta Value Encoding、Dictionary、RLE 、LZ4、ZLIB等压缩算法,且能够根据数据特征自适应的选择压缩算法,平均压缩比7:1。压缩数据可直接访问,对业务透明,极大缩短历史数据访问的准备时间。
3、高可靠事务处理
Vastbase提供事务管理功能,保证事务的ACID特性。
为了在主节点出现故障时尽可能地不中断服务,Vastbase提供了主备双机高可靠机制。通过保护关键用户程序对外不间断提供服务,把因为硬件、软件和人为造成的故障对业务的影响程度降到最低,以保证业务的持续性。
故障恢复:
支持节点故障可恢复及恢复后满足ACID特性。节点故障、停止后重启等情况下,Vastbase能够保证故障之前的数据无丢失,满足ACID特性。
事务管理:
● 支持事务块,用户可以通过start transaction命令显式启动一个事务块。
● 支持单语句事务,用户不显式启动事务,则单条语句就是一个事务。
4、高并发&高性能
Vastbase通过服务器端的线程池,可以支持1W并发链接。通过NUMA化内核数据结构,支持线程亲核性处理,可以支持百万级tpmC。通过页面的高效冷热淘汰,支持T级别大内存缓冲区管理。通过CSN快照,去除快照瓶颈,实现多版本访问,读写互不阻塞。通过增量检查点,避免全页写导致的性能波动,实现业务性能平稳运行。
5、SQL自诊断
通过执行查询对应的explain performance,获得对应执行计划,是一种十分有效的定位查询性能问题的方法。但是这种方法需要修改业务逻辑,同时输出的日志量大,问题定位的效率依赖于人员的经验。SQL自诊断为用户提供了另一种更为高效易用的性能问题定位方法。
在执行作业之前,配置GUC参数resource_track_level和resource_track_cost,然后运行用户作业,就可以通过查看相关系统视图,获得执行完成的相关查询作业可能存在的性能问题。系统视图中会给出导致性能问题的可能原因,根据这些“性能告警”,就可以对存在性能问题的作业进行调优。
SQL自诊断可以在不影响用户作业,不修改业务逻辑的情况下,诊断出相对准确的性能问题,为用户提供更为易用的性能调优参考。
6、内存表
内存表把数据全部缓存在内存中,所有数据访问实现免锁并发,实现数据处理的极致性能,满足实时性严苛要求场景。
产品优势
1、简单易用
产品内核上具有众多自动化技术,如自动空间清理、自动查询优化、自动并行等,外加全方面的图形化管理工具,能够让DBA的日常工作更简单轻松。
2、性价比高
系统资源利用率高,在相同的硬件环境下,无论是交易还是分析负载,性能表现远超同类型产品,性价比极高。
3、平滑迁移
完善的Oracle兼容性加上强大迁移工具和专业的服务团队,在数据库迁移项目中提供完整周期的解决方案,最快几天内即可实现项目交付。
应用场景
1、事务型应用
因为内置成熟的关系型内核,具有良好的通用型,所以Vastbase适用于各行各业的事务型业务应用,包括金融交易、电子政务、制造业生产线等等。
2、分析型应用
在数据的多维分析和各种数据运算,Vastbase具有强大的SQL查询优化器,并支持分布式扩展。从常见的报表查询,到典型的数据仓库、数据集市等应用都能够良好地支持。
3、空间数据
国土规划、地理信息、导航定位、地形勘测、3D模型、管线管理等等,现在社会上、生活中处处充斥着空间数据的应用。Vastbase提供了原生的点、线、面和多面体等多种几何数据类型,大量的几何运算函数,并对OpenGIS提供良好支持,适用于各种空间应用领域。
4、流计算
随着社会和科技高速发展,实时计算已经出现在了各个行业的生产中了,如银行的实时放贷、信用卡防欺诈,制造业中生产线的实时监控和报警,还有环保监测等领域。Vastbase内置了流计算引擎,能够非常简单的实现从数据源端到应用端的实时数据处理。
全部用户
商品定价
商品价格=订购区间数量1*区间规格单价1+订购区间数量2*区间规格单价2。
举例:通话费率为不超过3分钟的部分按0.3元/分钟,超过3分钟的部分按0.2元/分钟;如果用户通话8分钟,收取的费用为3*0.3+5*0.2=1.9元。
商品价格=订购数量*数量所属区间单价。
举例:通话费率为不超过3分钟则0.3元/分钟,若超过3分钟则0.2元/分钟;如果用户通话2分钟,收取的费用为2*0.3=0.6元;如果用户通话8分钟,收取的费用为8*0.2=1.6元。
商品价格=订购数量*单价。
商品价格为页面呈现价格。