Greenplum分布式事务和两阶段提交协议
数据库系统的实现 Atomic 原子性 事务中的操作要么全部正确执行,要么完全不 执行。 Write Ahead Logging,分布式事务:两阶段提交协议 Consistency 一致性 数据库系统必须保证事务的执行使得数据库 从一个一致性状态转移到另一个一致性状态。 (满足完整性约束) 实现对A、I、D三个属性的支持 Isolation 隔离性 多个事务并发地执行,对每个事务来说,它并 Locking, 2PL)、乐观并发控制 (OCC) Durability 持久性 一个事务在提交之后,该事务对数据库的改变 是持久的。 Write Ahead Logging + 存储管理 Jim Gray于1981年VLDB描述了事务的原子性、一致性和持久性,在此基础上,Haerder和Reuter在1983年中提出了事务的隔离性并提出术语 “ACID”,自此,事务的ACID四个性质成为业内标准术语 查询、更新 用户/ 应用 DDL命令 数据库管理员 数据、元数据、索引 日志页 读、写页 元数据、 统计数据 元数据 9 存储介质的类型 ■ Volatile storage 易失性存储器 DRAM, Cache, Register ■ Non-volatile storage 非易失性存储器 Disk, SSD, NVM ■ Stable stage 稳定存储器 theoretically0 码力 | 42 页 | 2.12 MB | 1 年前3Greenplum Database 管理员指南 6.2.1
..................................................................................... - 126 - 分区选择性的诊断 ................................................................................................ 语句的解析、生成执行计划、优化执行计划等。Master 不存储业务数据,只存储 用于维持系统运行的全局信息,比如,对象定义信息,统计信息等,Master 非常重要, 如果 Master 丢失,即便是原厂专业技术支持,也不能保证恢复所有信息。 Master目前采取的是Active-Standby的高可用模式,当Master处于Active 状态时,备用 Master(简称为 Standby)是不能接受连接请求和 SQL 的安装部署要求,必须使用万兆 网络作为内部互联网络,否则,一定会遭受很多网络方面的困扰。 在缺省情况下,网络层使用 UDPIFC 协议。这是经过改善的 UDP 协议,在 UDP 协 议的基础上增强了数据包校验,其可靠性与 TCP 协议相似,但其性能和扩展性远好于 TCP 协议。当集群规模较小,同时,网络的稳定性较差的时候,如果 UDPIFC 协议不 稳定,可以考虑使用 TCP 协议,例如只有几十台主机时。通常,还是强烈建议配备稳0 码力 | 416 页 | 6.08 MB | 1 年前3Greenplum 精粹文集
计算、镜像复制、健康探测等等诸 多任务。 在 Greenplum 开源以前,据说一些厂商也有开发 MPP 数据库的打算, 其中最难的部分就是在 Interconnect 上遇到了障碍,可见这项技术的 关键性。 Greenplum 集群架构 Big Date2.indd 3 16-11-22 下午3:38 4 2. Greenplum 为什么选择 Postgreeql 做轮子 说到这,也许有同学会问,为什么 在诸如 ACID 事物处理、数据强一致性保证、数据类型支持、独特 的 MVCC 带来高效数据更新能力等还有很多方面,Postgresql 似 乎在这些 OLAP 功能上都比 mysql 更甚一筹。 5) Postgresql 许可是仿照 BSD 许可模式的,没有被大公司控制,社区 比较纯洁,版本和路线控制非常好,基于 Postgresql 可让用户拥有 更多自主性。反观 Mysql 的社区现状和众多分支(如 据库实例同时开展并行计算。而且,这些 Postgresql 之间采用 share- nothing 无共享架构,从而更将这种并行计算能力发挥到极致,除此之 外,MPP 采用两阶段提交和全局事务管理机制来保证集群上分布式事 务的一致性,Greenplum 像 Postgresql 一样满足关系型数据库的包括 ACID 在内的所有特征。 从上图可以看到,Greenplum 的最小并行单元不是节点层级,而是在 实例层级。安装过0 码力 | 64 页 | 2.73 MB | 1 年前3完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum
................................................................................ 5 openEuler 面向多样性算计算的创新 ............................................................................................. 简称“欧拉”)编译测试了高级分 析数据平台 Greenplum,用实践证明了 Greenplum 与支持多样性计算的欧拉开源操作系统完全兼容,是 Greenplum 与中国本地 IT 厂商的深入合作的典型模板,大大丰富了中国本地国产化应用生态。本白皮书着眼介绍了欧拉开源操作系 统平台架构、创新性及核心特点, 同时介绍了 Greenplum 作为一款深受技术爱好者喜爱的、中立的纯开源软件,践行 “Run 7 丰富的 HTAP 特性,具备良好性能、可靠性和稳定性,使得 Greenplum 不仅可以作为全能的分析化平台,也能满足交易型业 务场景,能够处理多种并发混合工作负载,专为满足在多结构数据环境中进行实时分析的需求而设计。 欧拉开源操作系统是一款面向数字基础设施的操作系统,支持服务器、云计算、边缘计算、嵌入式等应用场景,支持多 样性计算,致力于提供安全、稳定、易用的操作系统。0 码力 | 17 页 | 2.04 MB | 1 年前3Greenplum备份恢复浅析
zwj@alibaba-inc.com 公司:阿里云 2017 年象行中国(杭州 站)第一期 Greenplum数据备份恢复: 1. 数据量较大 2. 不能完全使用Xlog日志备份 3. 需要保证数据完整性和一致性 2017 年象行中国(杭州 站)第一期 Greenplum提供了: 1. 非并行备份和恢复: --pg_dump和pg_dumpall(pg_restore) --copy、psql 2017 年象行中国(杭州 站)第一期 gp_dump具体实现 2017 年象行中国(杭州 站)第一期 非并行数据恢复 如果恢复前后的数据库节点个数不同,则推荐使用非并行数据恢复,不过需要 保证备份集完整,而且都位于master所在的机器上,具体执行步骤如下 1.createdb database_name 2.psql database_name -f /gpdb/backups/gp_dump_1_1_20120714 test_gp_dump_0_5_20170206160253.gz ? 2017 年象行中国(杭州 站)第一期 目前GP的并行备份,为了保证数据的一致性,有以下2步: 1. 给pg_class 加排他锁 2. 每个segment备份时设置隔离级别为串行化,保证每个 segment的数据一致性 但是,各个segment的数据设置隔离级别的动作存在时间差, 而master仍然接受新的事务,从而导致各个segment上的数0 码力 | 17 页 | 1.29 MB | 1 年前3Greenplum 6新特性: 在线扩容工具GPexpand剖析
可 – 新节点以Master为模板生成,只包含catalog,没有数据 改进与实现 • 问题 – 生成模板的过程中,如果catalog被修改怎么保证一致性 改进与实现 • 问题 – 生成模板的过程中,如果catalog被修改怎么保证一致性 ▪ 新增catalog锁 ▪ select gp_expand_lock_catalog() ▪ expand过程中申请写锁 ▪ 其他修改cata 不仅存在新旧节点间的移动,旧节点之间也要移动 改进与实现 • 减少重分布数据移动量 – Jump Consistent Hash ▪ 均匀性:通过概率做到均匀分布 ▪ 稳定性:在相同集群大小下,同一个Tuple每次计算结果相同 ▪ 单调性:扩容过程中,旧节点之间没有数据迁移 ▪ 高效性:对于集群大小为N的时候,时间复杂度为Log(N) – 更多算法细节请参考链接。https://arxiv.org/pdf/14060 码力 | 37 页 | 1.12 MB | 1 年前3Greenplum数据仓库UDW - UCloud中立云计算服务商
{ name: 'brown', height: 68 } 2 图形界⾯的⽅式访问 图形界⾯的⽅式访问UDW 2.1 配置 配置UDW外⽹访问 外⽹访问 udw默认是通过内⽹访问的,为了数据安全性,尽量不要通过外⽹访问UDW,如果需要图形界⾯的⽅式访问UDW,则需要配置udw的外⽹访问,请参考: 前提:有⼀台可以访问 udw 的 uhost,并且这台 uhost 上可以访问外⽹ ip。 例如:uhost ucloud.cn/unet/firewall/introduction 2.2 SQL Workbench/J SQL Workbench/J是⼀个独⽴于DBMS,跨平台的SQL查询分析⼯具。具有通⽤性好、⼩巧、免安装等优点, 并且功能强⼤,查询编辑器⽀持⾃动补全,Database Explorer可以查看和编辑各种数据库对象(表、视图、存储过程等)。 详情可⻅:SQL Workbench/J 访问 Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 82/206 udw 的数据类型和 postgresql 基本⼀致,在选择数据类型的时候应该尽可能占⽤空间⼩,同时能够保证存储所有可能的数值并且最合理地表达数据。 使⽤字符型数据类型保存字符串,⽇期或者⽇期时间戳类型保存⽇期类型,数值类型来保存数值。 使⽤ VARCHAR 或者 TEXT 来保存⽂本类数据。不推荐使⽤0 码力 | 206 页 | 5.35 MB | 1 年前3Pivotal Greenplum 最佳实践分享
发起一个请求时,每个Instance都将FORK子进 程并行工作; • 对于并发请求高、面向于复杂的灵活查询的系 统,建议每个Segment配置4个或以下Instance, 这样来保证每个Instance所需资源,保证系统 系统运行稳定性,例如,减少OOM发生的概率; • 对于以批处理、串行工作为主的系统,可以配 置到8个Instance,这样可以尽可能的发挥每个 CPU的处理性能。 M17 M18 M19 M20 M21 M23 M24 M22 统计信息收集 对于系统表和用户表需要收集统计信息,GPDB的查询计划是cost base的,统计信息的准确性对查询 计划的优劣有很大影响; 对于字段数较多的表,可关闭gp_autostate_mode (on_no_stats=>none),仅对必要列执行Analyze, 只在结果中返回的列无需收集统计信息; 使用B-Tree索引,对于区别度低的字段(<10000),采用 Bitmap索引; • 表关联时,一般不需要建索引,如果where条件的筛选性很强,建立索引可以让系统性能提升 • 对于大数据类系统,应避免使用PK,UI,FK,唯一性约束或参考性检查将导致性能大幅下降; • 大数量更新时,应先删除索引,更新/加载数据后再重建索引,或者采用分区交换降低对目标表的影响 临时空间的监控和管理0 码力 | 41 页 | 1.42 MB | 1 年前3Greenplum 分布式数据库内核揭秘
。根据用户自定义的分布键计算哈希值,然后将 哈希结果映射到某个 Segment 上。在 Greenplum 6 中,默认采用一致性哈希(Jump Consistent Hash)分布策略。 哈希分布 当增加一个新的节点时,需要对原有数据进行重新映射。一致性哈希则保证了在重新映射的过程追 中,tuple 要么保留在原有节点中,要么迁移至新的节点中,从而实现最小数据迁移。 Confidential0 码力 | 31 页 | 3.95 MB | 1 年前3深度揭秘Greenplum开源数据库透明加密
Data (Encrypted) Object key (Encrypted) Data (Encrypted) Data (Decrypted) 总结 总结 • 高性能 • KMS保证秘钥安全性 • 对用户查询和数据库完全透明 • GPDB原生 • 不改变现有工作逻辑 对于现有方案的优势 pgcypto的问题 一款开源的HTAP数据库: • MPP架构 • 完整的事务+ACID+标准SQL支持0 码力 | 48 页 | 10.19 MB | 1 年前3
共 23 条
- 1
- 2
- 3