Skip to content

GaussDB 核心特性

分布式架构

无共享架构设计

GaussDB 采用无共享(Shared-Nothing)分布式架构,每个节点拥有独立的计算资源和存储资源,节点之间通过高速网络进行通信。这种架构设计避免了传统共享存储架构的性能瓶颈,支持线性扩展,能够轻松应对大规模数据和高并发场景。

水平扩展能力

GaussDB 支持在线水平扩展,无需停机即可添加或移除节点。系统会自动将数据重新分布到新的节点上,确保负载均衡和性能优化。扩展过程对应用透明,不影响业务连续性。

分布式一致性协议

GaussDB 实现了基于 Paxos/Raft 的分布式一致性协议,确保分布式环境下的数据一致性和可靠性。支持多种一致性级别,可根据业务需求灵活配置,在一致性和性能之间取得平衡。

高性能计算

分布式并行计算

GaussDB 采用分布式并行计算框架,将复杂查询分解为多个子任务,在多个节点上并行执行,大幅提升查询性能。支持多种并行执行策略,包括算子级并行、查询级并行和事务级并行。

行列混合存储

GaussDB 支持行列混合存储模式,根据数据类型和查询模式自动选择最优的存储方式。对于 OLTP 场景,采用行存储优化事务处理性能;对于 OLAP 场景,采用列存储优化分析查询性能。

向量计算引擎

GaussDB 集成了高性能向量计算引擎,支持 SIMD 指令集加速,大幅提升复杂数据分析和机器学习算法的执行效率。向量计算引擎能够处理大规模向量数据,为 AI 应用提供强大的计算支持。

智能缓存机制

GaussDB 实现了多级智能缓存机制,包括内存缓存、本地磁盘缓存和分布式缓存。通过智能缓存策略,将热点数据保留在高速缓存中,减少磁盘 I/O 开销,提升系统响应速度。

高可用性与容灾

多副本同步机制

GaussDB 支持数据多副本同步,默认配置为 3 副本,可根据业务需求调整。副本之间通过异步或同步方式进行数据复制,确保数据可靠性和一致性。

自动故障切换

GaussDB 实现了自动故障检测和故障切换机制,当主节点发生故障时,系统会自动选举新的主节点,恢复服务可用性。故障切换过程对应用透明,切换时间通常在秒级以内。

多可用区部署

GaussDB 支持多可用区(AZ)部署,将数据副本分布在不同的可用区中。当某个可用区发生故障时,系统能够自动切换到其他可用区,确保服务连续性和数据安全性。

同城灾备与异地灾备

GaussDB 支持同城灾备和异地灾备方案,通过跨区域数据复制,实现数据的异地备份和恢复。同城灾备方案提供低延迟的数据同步,异地灾备方案提供更高的容灾级别。

AI 原生能力

智能查询优化

GaussDB 集成了机器学习算法,能够根据历史查询数据和系统状态,自动优化查询执行计划。智能查询优化器能够预测查询性能,选择最优的执行路径,提升查询效率。

自动参数调优

GaussDB 支持自动参数调优功能,通过机器学习模型分析系统运行状态和性能指标,自动调整数据库参数配置。自动参数调优能够优化系统性能,减少人工干预,降低运维成本。

异常检测与预测

GaussDB 实现了基于 AI 的异常检测和预测功能,能够实时监控系统运行状态,检测异常行为和性能瓶颈。通过预测性分析,能够提前发现潜在问题,采取预防性措施,避免系统故障。

智能索引推荐

GaussDB 支持智能索引推荐功能,根据查询负载和数据分布,自动推荐最优的索引设计方案。智能索引推荐能够提升查询性能,减少索引维护开销,优化存储资源使用。

多模数据处理

关系型数据支持

GaussDB 完全兼容 SQL 标准,支持复杂的关系型数据处理,包括事务处理、 joins 操作、子查询和视图等。保留了 PostgreSQL 的 SQL 兼容性,便于应用迁移和开发。

非关系型数据支持

GaussDB 支持非关系型数据处理,包括 JSON、XML、键值对和文本数据等。提供原生的非关系型数据类型和查询语言支持,实现关系型数据和非关系型数据的统一处理。

时空数据处理

GaussDB 支持时空数据处理,包括地理位置数据、时间序列数据和轨迹数据等。提供丰富的时空数据类型和函数库,支持复杂的时空查询和分析,适用于物联网、智慧城市等场景。

图数据处理

GaussDB 支持图数据处理,能够存储和查询复杂的图结构数据。提供图查询语言和算法库,支持路径查找、社区发现、中心性分析等图算法,适用于社交网络、推荐系统等场景。

云原生架构

微服务设计

GaussDB 采用微服务架构设计,将数据库功能拆分为多个独立的服务组件,包括查询引擎、存储引擎、事务管理器、元数据服务等。微服务架构支持独立扩展和升级,提升系统的灵活性和可维护性。

容器化部署

GaussDB 支持容器化部署,完全兼容 Kubernetes 生态系统。提供容器镜像和 Helm Chart,支持自动化部署、扩容和升级。容器化部署简化了运维管理,提升了资源利用率。

弹性伸缩

GaussDB 支持基于 Kubernetes 的弹性伸缩,根据系统负载自动调整资源规模。弹性伸缩能够优化资源使用,降低运营成本,应对业务流量的波动变化。

服务网格集成

GaussDB 集成了服务网格技术,提供服务发现、负载均衡、流量管理和安全认证等功能。服务网格能够简化分布式系统的管理,提升系统的可靠性和安全性。

安全可信

多层次安全防护

GaussDB 提供多层次的安全防护机制,包括网络安全、身份认证、访问控制、数据加密和审计日志等。通过纵深防御策略,保护数据库系统和数据的安全。

数据加密

GaussDB 支持全方位的数据加密,包括传输加密(TLS/SSL)、存储加密(AES-256)和备份加密。加密过程对应用透明,不影响系统性能。

细粒度访问控制

GaussDB 实现了基于角色的细粒度访问控制,支持表级、行级和列级权限控制。能够根据用户角色和业务需求,精确控制数据访问权限,保护敏感数据的安全。

数据脱敏

GaussDB 支持动态数据脱敏功能,能够根据用户角色和查询上下文,自动对敏感数据进行脱敏处理。数据脱敏功能保护了数据隐私,同时不影响数据的正常使用。

全面审计日志

GaussDB 提供全面的审计日志功能,记录所有数据库操作,包括登录、查询、修改和管理操作等。审计日志支持安全分析和合规检查,满足企业级应用的审计需求。

安全认证

GaussDB 支持多种身份认证方式,包括密码认证、LDAP 认证、Kerberos 认证和证书认证等。提供双因素认证支持,增强身份验证的安全性。

易用性与可维护性

SQL 兼容性

GaussDB 高度兼容 SQL 标准和 PostgreSQL 语法,便于应用迁移和开发。支持大部分 PostgreSQL 扩展和工具,减少学习成本和迁移工作量。

丰富的开发工具

GaussDB 提供丰富的开发工具和驱动支持,包括 JDBC、ODBC、Python、Java、Go 等多种编程语言的驱动。支持主流开发框架和 ORM 工具,便于应用开发和集成。

自动化运维

GaussDB 实现了自动化运维功能,包括自动部署、自动备份、自动恢复、自动升级和自动扩容等。自动化运维减少了人工干预,降低了运维成本,提升了系统可靠性。

智能诊断工具

GaussDB 提供智能诊断工具,能够实时监控系统运行状态,分析性能瓶颈,生成诊断报告和优化建议。智能诊断工具帮助管理员快速定位和解决问题,提升系统可用性和性能。

常见问题(FAQ)

Q1: GaussDB 支持哪些事务隔离级别?

A1: GaussDB 支持 ANSI SQL 标准的四种事务隔离级别:

  • 读未提交(Read Uncommitted)
  • 读已提交(Read Committed)
  • 可重复读(Repeatable Read)
  • 串行化(Serializable) 默认隔离级别为读已提交(Read Committed),可根据业务需求灵活配置。

Q2: GaussDB 如何处理分布式事务?

A2: GaussDB 实现了基于两阶段提交(2PC)的分布式事务处理机制,确保跨节点事务的原子性、一致性、隔离性和持久性(ACID)。同时支持事务分支的异步提交,提升分布式事务的性能。

Q3: GaussDB 支持哪些存储引擎?

A3: GaussDB 支持多种存储引擎,包括:

  • 行存储引擎:优化 OLTP 场景的事务处理性能
  • 列存储引擎:优化 OLAP 场景的分析查询性能
  • 行列混合存储引擎:平衡 OLTP 和 OLAP 场景的性能需求
  • 内存存储引擎:优化高并发、低延迟场景的性能

Q4: GaussDB 如何实现数据压缩?

A4: GaussDB 支持多种数据压缩算法,包括:

  • 轻量级压缩:适用于 OLTP 场景,压缩比适中,解压速度快
  • 高压缩比:适用于 OLAP 场景,压缩比高,节省存储空间
  • 自适应压缩:根据数据类型和访问模式自动选择最优的压缩算法

Q5: GaussDB 支持哪些备份恢复方式?

A5: GaussDB 支持多种备份恢复方式:

  • 全量备份:备份数据库的完整数据
  • 增量备份:仅备份自上次备份以来的变更数据
  • 日志备份:备份事务日志,支持时间点恢复
  • 物理备份:备份数据文件,恢复速度快
  • 逻辑备份:备份数据内容,跨版本兼容性好

Q6: GaussDB 如何处理大表查询?

A6: GaussDB 针对大表查询优化了多种技术:

  • 分区表:将大表划分为多个小表,提升查询性能
  • 并行查询:将查询分解为多个子任务并行执行
  • 智能索引:自动优化索引设计,提升查询效率
  • 预计算:对频繁查询的结果进行预计算和缓存
  • 向量化执行:利用 SIMD 指令加速数据处理