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

SUNDB数据库专家问答集(十三)

原创 科蓝SUNDB编辑部 2022-06-19
1060

1.SUNDB是否支持分布式事务?采用哪种分布式事务理论模型?对应用有何约束限制?对系统运维有何特殊要求?

SUNDB支持分布式事务,采用两阶段提交的分布式事务理论模型。
image.png
对应用没有任何限制,分布式事务完全由集群引擎处理。
image.png
对系统运维的要求:数据需要有副本,保证发生故障时业务不中断。从而对故障的节点进行修复,修复完成后再加入集群。

2.SUNDB分布式事务是否支持XA接口?采用什么协议和原理?

通过二阶段+MVCC提交的方式支持分布式事务,确保分布式数据库内部的跨节点的事务一致性,对用户使用来说,使用分布式数据库就像使用单机数据库一样。SUNDB支持XA接口,用户可以通过该接口来实现异构/同构的跨库间的分布式事务。

3.SUNDB的GC解决的问题、处理机制,集群架构变动后是否需要对GC的配置文件进行修改?如何通过Shard-key将SQL路由到了对应的group、跨节点时数据如何进行汇聚?

GC是用来减少集群内SQL二次转发问题,适用于不含跨节点事务的操作,在这种场景下,用户SQL请求能够被GC通过shard-key路由到对应的group,提高用户SQL请求的效率。
在GC模式下,按照事务的第一条query的sharding key连接对应的节点,之后此事务的query都会在当前节点上执行,当数据不在当前节点时,即发生跨节点操作时,会通过SQL Shipping技术发送到对应的节点并获取数据。最后由global coordinator来完成commit/rollback操作,最终一份完成的数据还是通过最初连接的那个节点返回。
集群架构变动(扩容/缩容),不需要手动修改应用端的配置文件,因为集群模式下,可以通过集群的glocator来对集群进行集中化管理,关于集群的成员信息由glocator进行集中化管理,具体处理如下:
image.png

4.SUNDB是否有技术手段彻底规避分布式事务?是否有技术手段尽量减少分布式事务占比?

对于场景比较固定的业务,可以将业务操作的关系,选择数据表的分布列,使得一个事务中要操作的多个表数据,都分布在一个节点内,从而规避分布式事务。
在不能完全避免分布式事务的业务场景中,通过调整数据表的分布列,让高频应用场景中的事务,都在一个节点内完成,从而减少分布式事务的占比。

5.SUNDB是否支持不显式指定分片策略的数据分布?

不支持该功能。分片会根据集群组指定或者自动进行计算后指定。但查询时可以指定组(Group Domain)查询特定组的数据。

6.SUNDB是否具备自动化运维管理能力?包含多少自动化功能?请提供自动化功能清单。

自动化运维可以同时使用多个解决方案。比如使用Netvault等备份功能使备份功能自动化。或使用shell创建运维脚本并添加到crontab,以实现自动化。

7.SUNDB是否具备数据库监控告警能力?包含多少告警指标项?请提供指标项清单。

数据库监控功能可以使用DBANY运维工具或基于Grafana的监控工具实现。并且还可以使用监控shell,定期监控数据库。数据库本身的告警日志会记录到跟踪日志中,将会以FATAL, ABORT, WARNING, INFO四种日志等级形式保存。

8.SUNDB是否具备数据库巡检能力?包含多少巡检指标项?请提供指标项清单。

可查看61种Performance View获取数据库运行状态信息,提供高度兼容Oracle的v系列视图;或使用gdump查看重做日志、控制文件、数据文件等的状态。GV____:集群提供与几乎所有V$ view相对应的GV$ view,GV视图包含V视图的所有列信息,另外还包含已获取数据的节点ORIGIN_MEMBER_NAME列。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
V$AGABLE_INFO V$ARCHIVELOG V$AUDITABLE_DB_PRIVILEGES V$AUDITABLE_SYSTEM_ACTIONS V$BACKUP V$BALANCER V$BCH V$BUFFER_STAT V$CLUSTER_DISPATCHER V$CLUSTER_LOCATION V$CLUSTER_MEMBER V$COLUMNS V$CONTROLFILE V$DATAFILE V$DB_CHNAGE_TRACKIN GV$DB_FILE V$DISPATCHER V$ERROR_CODE V$GLOBAL_TRANSACTION V$JOURNALIN GV$INCREMENTAL_BACKUP V$INSTANCE V$KEYWORDS V$LATCH V$LOCK_WAIT V$LOGFILE V$PROCESS_MEM_STAT V$PROCESS_SQL_STAT V$PROCESS_STAT V$PROPERTY V$PSM_RESERVED_WORDS V$QUEUE V$RESERVED_WORDS V$SESSION V$SESSION_AUDIT V$SESSION_CONNECT_INFO V$SESSION_EVENT V$SESSION_MEM_STAT V$SESSION_SQL_STAT V$SESSION_STAT V$SESSION_WAIT V$SHARED_MODE V$SHARED_SERVER V$SHM_SEGMENT V$SPROPERTY V$SQLFN_METADATA V$SQL_CACHE V$SQL_COMMAND V$SQL_HISTORY V$STATEMENT V$SYSTEM_EVENT V$SYSTEM_MEM_STAT V$SYSTEM_SQL_STAT V$SYSTEM_STAT V$TABLES V$TABLESPACE V$TABLESPACE_STAT V$TRANSACTION V$WAIT_EVENT_CLASS_NAME V$WAIT_EVENT_NAME V$XA_TRANSATION
最后修改时间:2022-06-20 09:22:38
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论