暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【openGauss训练营学习心得】--我的openGauss初体验

原创 qtiger 2021-09-14
523

随着国产数据库得不断崛起,现在国内形势是一片大好,各种数据库层出不穷。作为一个从业多年得dba,为了不被抛下也要不断学习新数据库架构。在摩天轮群里面看到了这个“8小时玩转opengauss训练营”课程,刚好借此机会学习一下opengauss,了解一下opengauss得整体架构,为以后得使用做一个技术沉淀。
Opengauss是基于postgresql数据库的魔改版,具体有哪些不一样的地方:
1.增量检查点
pg的full_page_writes进行检查点执行时,会将buffer中的所有脏页刷新到磁盘,会带来较大的刷新抖动,opengauss改进为增量检查点,小批量分阶段的方式逐步刷新到磁盘,大大降低了数据库抖动。同时使用double write进一步降低了对io的压力。
2.内存表
openGauss的MOT不是简单的在内存缓存数据,它支持完整的ACID、使用CALC逻辑一致性异步检查点。为保证持久性,MOT全面集成openGauss的WAL机制,通过openGauss的XLOG接口持久化WAL记录。这意味着,每次MOT记录的添加、更新和删除都记录在WAL中。这确保了可以从这个非易失性日志中重新生成和恢复最新的数据状态。
3.行列存储并存
openGauss支持行存储和列存储两种存储模型,用户可以根据应用场景,建表的时候选择行存储还是列存储表。
一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不很多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。
4.连接线程池
openGauss通过服务器端的线程池,可以支持1W并发链接。通过NUMA化内核数据结构,支持线程亲核性处理,可以支持百万级tpmC
5.Ai特性
通过引入了ai技术,数据库将会变得更智能,基于深度学习,机器学习,优化算法等人工智能的方法可以在数据库上实现自我演进的优化器,智能化的索引,并实现支持数据库的故障自诊断,自愈等更加智能化的自治系统。
6.主备的最大可用模式most_available_sync
在pg流复制中,如果备机宕机则主库会hang住,无法自动降级。Opengauss支持了最大可用模式,开启该参数后备机掉线并不影响主库的业务的正常进行,大大增强了数据库的生存能力。
7.事务id64位
将pg的transactionid由int32改成了int64,这样xid将永远不可能耗尽,虽然依然需要对xid进行清理,但无效担心xid回卷宕机的问题。
Dbe_perf性能监控+wdr
Opengauss会在没一个库下面默认存在一个dbe_perf的性能监控视图,里面有几百个性能视图,方便查看管理。并支持了类型Oracle awr的wdr报告,为分析问题解决问题提供了一个比较好的工具。
同时也存在一些问题:

  1. 当前没有类型mysql的mgr或pxc的高可用模式
  2. 可能是起步时间不久,周边生态工具不是太完善
  3. 水平扩展能力不做,无法做到根据业务的增加进行水平扩展机器
  4. 只支持主流的操作系统版本,和主流架构机器

两天的课程并不能完全掌握相关的技术,这只是一个开始,让我对opengauss有了一个整体的认识,后面将进一步了解技术层面的细节问题,随着国产数据库的发展,这将是一个必备技能。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论