Vastbase G100是海量数据融合了多年对各行业应用场景的深入理解,基于openGauss内核开发的企业级关系型数据库。
了解Vastbase G100的架构,可以帮助您确保数据库系统的高效、可靠和安全运行。
“Vast+产品展厅”将分两期,为您详细讲解Vastbase G100架构。本期,带您了解其部署架构和物理架构。
作为集中式数据库系统,Vastbase G100业务数据存储在单个物理节点上,数据访问任务被推送到服务节点执行,通过服务器的高并发,实现对数据处理的快速响应。
同时,通过日志复制可以把数据复制到备机,提供数据的高可靠和可扩展,示意图如下:
业务应用(APP)利用驱动(DRV)来连接Vastbase G100主库,G100可以有0或多个副本,主备之间通过同步复制或异步复制来复制数据。
1.1
异步复制
在异步复制中,主数据库(Master)在执行完客户端提交的事务后,会立即将结果返回给客户端,而不会等待从数据库(Slave)是否已经接收并处理这些变更。
这种方式不需要等待网络通信等,对主数据库的性能影响较小。但是异步复制有备数据丢失风险。因此适用于网络延迟较高或者对实时数据一致性要求不高的场景。
1.2
同步复制
同步复制要求主数据库在执行完事务后,必须等待从数据库完成接收并处理这些事务变更后,才会向客户端确认事务完成。
这种方式可有效的保障数据一致性,因为在主数据库确认事务完成之前,从数据库已经更新了数据。同步复制可能会对主数据库的性能产生较大影响,因为它需要等待所有从数据库的操作完成,这可能会增加事务的响应时间。因此同步复制适用于对数据一致性要求较高的场景,尤其是在低延迟的网络环境中。
1.3
单机部署架构
当Vastbase G100没有副本时,称为单机部署架构,这是一种非常特殊的部署形态,对于可靠性、可用性均无任何保证。由于只有一个数据副本,一旦发生数据损坏、丢失,只能通过物理备份恢复数据。
这种部署形态,一般用于数据库体验用户,以及测试环境做语法功能调测等场景,一般不用于商业现网运行。
单机的Vastbase G100数据库节点的逻辑架构如图所示:
数据库(Database)
是数据库对象的集合,常见的数据库对象包括表(Table)、索引(Index)、视图(View)、函数(Function)等。
可以看出,Vastbase G100中各个数据库之间是相互隔离的,它们各自管理者自己的对象。
表空间(Tablespace)
是一个存储空间,里面存储的是它所包含的数据库的各种物理文件。每个表空间可以对应多个数据库,同时每个数据库的对象又可以分布在不同的表空间上。
表(Table)
是数据库中的一种对象,每张表只能属于一个数据库,也只能对应到一个表空间,每张表对应的数据文件必须在同一个Tablespace中(不考虑分区表)。通常每张(行存)表只对应一个数据文件(Datafile Segment),但是如果某张表的数据大于1GB,则会分为多个数据文件存储。
数据块(Block)
是数据库管理的基本单位,默认大小为8KB。
在Vastbase G100数据库内部,所有数据库对象都通过相应的对象标识符(Obeject Identifier,OID)进行管理,这些标识符是无符号的4字节整型。
数据库对象与相应OID之间的关系存储在对应的系统目录中,依具体的对象类型而异。
例如,堆表对象的OID存储在pg_class系统表中,OID列是一个隐藏属性,默认不会在查询结果中显示,需要时必须显示指定oid列来查询。
例如查询pg_class表本身的对象标识符如下:
select relname, oid from pg_class where relname = 'pg_class';
oid | relname
1259 | pg_class
一个数据库的逻辑架构是实现数据库管理的基石,Vastbase G100的一个数据库节点又称为一个数据库集簇,集簇中包含表空间、数据库等概念,这些是Vastbase G100数据库管理系统的核心组成部分,它们为数据的组织、存储和管理提供了灵活性和高效性。通过合理规划数据库集簇,可以提高数据库的整体性能和存储效率。
通过以上介绍,我们为您详细讲解了Vastbase G100的部署架构和逻辑架构。
在部署架构中,Vastbase G100可部署为单机、主备以及一主多备等形态,通过部署多副本可以提供抵御实例级故障的能力,从而实现了数据库的高可用。
在逻辑架构中,Vastbase G100在一个数据库集簇中包含了表空间以及数据库等概念,可以更加方便地来管理数据库。
接下来,我们将为您介绍Vastbase G100的物理架构和系统架构,敬请锁定《Vast+产品展厅》。
领取专属 10元无门槛券
私享最新 技术干货