AI智能总结
李晓慧主讲人: 目录 PostgreSQL产品介绍 关于SaaS解决方案介绍 产品roadmap 产品介绍 云数据库PostgreSQL产品整体架构 ➢节点:包含主节点和备节点,是独立的数据库进程。 ➢主实例:一个独立的数据库。包含主节点和备节点。主实例能接收应用读写请求。 ➢只读实例:只读实例只能接收读请求。一个主实例支持6个只读实例。 ➢一个实例可以支持跨可用区级容灾能力 ➢支持多个PostgreSQL版本的兼容,最高到PG16 SaaS使用场景介绍 SaaS软件租户的部署模式 租户独享schema 租户独享实例 租户共享所有资源 租户独享database 每个租户独占一个PG实例,租户隔离强,但成本高。适用于租户规模大的业务。 每个租户独占一个schema,成本可控,租户可共享一套基础信息,但租户数据无法完全隔离。 租户数据在数据表中,成本低,但是没有资源隔离性。 每个租户独占一个database,租户数据完全隔离,急需租户资源隔离。成本可控。 PG关于SaaS解决方案概览 云数据库PG方案 实时快速数据迁移 逻辑复制槽故障转移 数据库审计 database资源隔离 冷热数据分离 database资源隔离 PostgreSQL体系结构: ➢多进程架构;➢每个连接对应一个backend进程; 利用Cgroup进行资源控制: ➢构建资源对象层级:instance/database/schema/table➢管理对象资源配额:cpu.shares:控制使用cpu资源的下限cpu.cfs_quota_us:控制使用cpu资源的上限➢资源访问绑定到该对象控制器:将访问资源的backend进程attach到所属资源控制器的procs中 元信息存储: ➢内核提供tencentdb_serverless插件;➢新增tencentdb_serverless.resource_limit表管理配额元数据; 租户进程监控 ➢统计指定时间内各进程CPU的使用率(相对于单核)➢统计指定时间内各进程内存的使用量(单位Byte)➢通过GUC参数来设置每次采样的时长(tencentdb_system_stat.sampling_interval)➢提供tencentdb_process_system_usage视图供用户查询,可按照database/进程/用户分类 SELECT tencentdb_sys_usage(); 租户SQL审计 开启log_statement的问题: 1.在审计信息不全,缺少操作对象、操作类型,执行时长等信息(在语句执行前打印);2.开启审计log_statement=all后,高并发场景下对性能有较大影响;3.没有将日志文件分流,慢日志、错误日志、审计日志都打印在同一个日志文件中 我们的优势: 1.提供审计极速版和审计精细版,极速版会比精细版少一些字段,无法审计出SQL类型、对象类型、对象名信息。2.在CPU消耗不大时,极速审计性能消耗在5%以内,精细审计性能消耗在10%以内。3.审计日志与原生日志分流,不占用实例存储空间,同时保证高可读性和高性能。4.提供了更全的字段信息。 租户迁移与同步 ✓单任务支持Database或者schema级别的全量和增量迁移✓同时可以并行多个任务✓迁移过程中源库可以有业务写入,对业务的影响最小✓支持断点续传,能应对迁移过程中的异常情况✓传输性能高,单个任务最高7000+的RPS✓支持非superuser账号来配置迁移任务进行角色迁移 方案优势: 冷热数据分离 ➢利用PG原生的FDW机制,将COS上的csv文件当作外部表处理。 ➢通过插件访问冷数据存储,应用不需要修改SQL。 ➢通过网络与COS进行交互,流式传输数据。 ➢将租户数据分为冷数据和热数据,最高性价比提升SaaS租户服务能力。 产品roadmap 产品roadmap