1.2 NDB群集API概述:版本兼容性

NDB API现已相当成熟,并且在最近的发布中经历了很少的重大变化。在它们发生的情况下,这些更改在受影响的对象和方法的文档中表示。10bet官方网站

NDB API应用程序的API版本由版本确定libndbclient.应用程序用于提供NDB API功能。因为有必要支持滚动升级,我们在连接到较新版本的数据节点和连接到的较新API版本的旧版API版本中,我们对旧版本(7.3,7.4,7.5,7.6,8.6,8.0)进行基本测试,以及旧版本的数据节点。我们在NDB 7.3之前的版本中不再执行此类测试,因为这些不再在生产中维护或支持。

此外,在NDB 8.0中,在7.4之前的API版本中,某些兼容性已被删除,但保留3.4,7.5和7.6。

当新功能添加到时NDB.,这通常以这样的方式完成:新功能包括检查当前连接的数据节点是支持该功能的运行版本。这是在滚动升级期间防范在群集中完全升级到添加支持之前的滚动升级期间对新功能进行终于使用新功能。

如果采用较新版本的NDB API的应用程序对不支持应用程序使用的较新功能的旧群体运行,则应用程序提出错误代码4003功能尚未实施在尝试使用该功能时。根据所涉及的新功能,其他错误是可能的(参见第2.4.2节“NDB错误代码:按类型”)。

当应用程序使用旧版本libndbclient.连接到运行更新版本的群集NDB.,数据节点应该支持旧的API调用,但也有其他考虑因素。特别是,如果群集上的架构利用较旧的API版本不支持的较新的功能不支持,则可能该操作可能小于最佳或产生错误。这里列出了一些示例:

  • 使用群集中的表中有表杰森数据类型,它是未知的NDB.在7.5.1版之前

  • 群集使用一个或多个完全复制的表格,不支持NDB.在7.5.2版之前

  • 群集包括使用生成列的表,这些列不受支持NDB.版本7.5.3之前

在线升级群集时(即通过使用滚动重启),保留现有的表模式,从而避免了新的架构功能的激活。当升级重新创建模式并恢复所有数据时,这不是这种情况,默认情况下可以使用新的架构功能。出于这个原因,最好练习以先前升级生产系统的特定模式,操作和版本,以捕获将旧应用程序或SQL节点连接到运行较新版本的群集时出现的任何问题NDB.