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

对应用没有任何限制,分布式事务完全由集群引擎处理。

对系统运维的要求:数据需要有副本,保证发生故障时业务不中断。从而对故障的节点进行修复,修复完成后再加入集群。
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进行集中化管理,具体处理如下:

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 |




