10bet网址
MySQL集群NDB 8.0发行说明
下载这些版本说明
PDF (Ltr)- 1.2 mb
PDF (A4)- 1.2 mb


MySQL集群NDB 8.0发行说明/发行版系列的更新日志:MySQL集群NDB 8.0/ MySQL集群NDB 8.0.20变化(2020-04-27,一般可用性)

MySQL集群NDB 8.0.20变化(2020-04-27,一般可用性)

功能添加或改变

  • 重要的变化:现在可以把备份分为片和恢复这些并行使用两个新选项的实现ndb_restore效用,从而能够使用的多个实例ndb_restore恢复的子集的大小大致相同并行备份,这应该有助于减少所需的时间长度从备份恢复一个NDB集群。

    ——num-slices选项的数量决定了切片的备份应该划分;——slice-id提供的ID片(0到1不到的片数)来恢复ndb_restore

    支持多达1024片。

    有关更多信息,请参见的描述——num-slices——slice-id选项。(错误# 30383937)

  • 重要的变化:增加的速率更新操作可以被处理,NDB现在支持和默认情况下每个节点组利用多种转运蛋白。默认情况下,使用的转运蛋白数量由集群中的每个节点组的数量等于本地数据管理(LDM)线程的数量。虽然这个数字应该是适合大多数用例,它可以调节设置的值NodeGroupTransporters数据节点配置参数,介绍了释放。最大的大LDM线程的数量或TC线程的数量,总体最大32转运蛋白。

    看到多种转运蛋白额外的信息。

  • NDB现在支持的版本控制ndbinfo表,并维护当前定义的内部表。在启动时,NDB比较其支持ndbinfo版本与版本存储在数据字典中。如果版本不同,NDB滴任何旧ndbinfo使用当前定义表和重新创建它们。

  • 许多外部连接和semijoins此前无法下推到数据节点现在可以推(见发动机状态叠加优化)。

    外部连接,现在可以将包括那些符合下列条件:

    • 这个表没有unpushed条件

    • 没有unpushed条件对其他表在同一加入巢,或在上部加入它依赖的巢穴

    • 所有其他表在同一个加入巢,或在上部加入巢所依赖也推

    semijoin使用索引扫描现在可以推动符合条件的情况下,仅仅指出推外连接,和它使用firstMatch策略。

    引用:参见:错误# 28728603,错误# 28672214,错误# 29296615,错误# 29232744,# 29161281,Bug # 28728007。

  • 一个新的、简化的接口用于启用和配置自适应实现CPU旋转。的SpinMethod数据节点参数,添加在本版本中,提供了以下四个设置:

    • StaticSpinning:禁用自适应旋转;使用静电纺丝采用前NDB集群版本

    • CostBasedSpinning:使用一个基于成本使自适应旋转模型

    • LatencyOptimisedSpinning:使自适应优化旋转延迟

    • DatabaseMachineSpinning:使自适应旋转机器托管数据库的优化,每个线程有自己的CPU

    这些设置会导致数据节点使用一组预先确定的值,根据需要,为一个或多个旋转参数列在这里:

    • SchedulerSpinTimer:这个名字的数据节点配置参数。

    • EnableAdaptiveSpinning:启用或禁用自适应旋转;不能直接设置在集群配置文件中,但可以直接控制使用转储104004

    • SetAllowedSpinOverhead:CPU时间允许获得延迟;不能直接在设置config.ini文件,但是可能改变直接使用转储104002

    从可用的预设SpinMethod应该能覆盖大多数用例,但你可以调整自适应旋转行为使用SchedulerSpinTimer节点配置参数和数据转储命令刚上市,以及更多转储命令的ndb_mgm集群管理客户;看到的描述SchedulerSpinTimer为一个完整的清单。

    NDB 8.0.20还增加了一个新的TCP配置参数TcpSpinTime设置时间对于一个给定的TCP连接。这可以用于启用自适应旋转任何此类数据节点之间的连接,节点管理节点和SQL或API。

    ndb_top工具也增强每个线程提供旋转时间信息;这是在终端窗口中显示绿色。

    有关更多信息,请参见的描述SpinMethodTcpSpinTime配置参数,转储命令列出或指示之前,和文档10bet官方网站ndb_top

错误修复

  • 重要的变化:lower_case_table_names被设置为0,发出查询的文书夹任何外键名称不同于他们的情况下导致意外关闭集群的创建。这是由于这一事实mysqld治疗外键名称不区分大小写,即使在区分大小写的文件系统,而的方式NDB字典存储的值取决于外键名称lower_case_table_names这样,当这是设置为0,在查找过程中,NDB预计任何外键名称匹配的字母盘了。外键名称不同的字母盘可以不被发现NDB字典,即使它能找到的MySQL数据字典,导致前面描述的问题NDBCLUSTER

    这个问题没有发生的时候lower_case_table_names被设置为1或2。

    问题是固定通过外键名称区分大小写和删除依赖lower_case_table_names。这意味着现在总是对以下两项:

    1. 外键名称现在使用相同的字母盘存储创建它们,而不考虑的价值lower_case_table_names

    2. 外键名称查找NDB现在总是不分大小写。

    (错误# 30512043)

  • 包装:删除不必要的Perl的依赖mysql-cluster-community-server-minimalRPM包。(错误# 30677589)

  • 包装:NDB没有成功编译与GCC 5.4由于使用Ubuntu 16.04的isnan ()而不是std:: isnan ()。(错误# 30396292)

    引用:这个问题的回归:错误# 30338980。

  • OS X:把变量SCHEMA_UUID_VALUE_LENGTH这是只使用一次的吗NDB来源,导致编译时警告基于Mac OSX。变量替换UUID_LENGTH。(错误# 30622139)

  • NDB磁盘数据:分配表空间的数据文件的扩展现在执行以循环的方式在所有数据文件所使用的表空间。这应该提供更多的数据均匀分布在多个存储设备的情况下用于磁盘数据存储。(错误# 30739018)

  • NDB磁盘数据:在某些情况下,检查点的磁盘数据表不能完成,导致计划外数据节点关闭。(错误# 30728270)

  • NDB磁盘数据:未初始化的变量导致问题在执行磁盘数据DDL操作后重新启动集群。(错误# 30592528)

  • 前一个问题的解决的MySQL引擎优化器不利影响条件下推NDB存储引擎。(错误# 303756135)

    引用:这个问题的回归:错误# 97552,错误# 30520749。

  • 当恢复签署自动递增列,ndb_restore正确处理负在确定包含在数据的最大价值。(错误# 30928710)

  • 以前(NDB 7.6.4之前)SPJ工人为每个片段根表的实例被激活的加入,但在NDB 7.6及以后,一个工人被激活为每个数据节点,负责所有片段的数据节点上。

    这种变化之前,它是足够的对于每一次这样的工人与并行扫描一个片段等于1SPJ工人继续忙所有本地数据管理器线程。当工人的数量被减少的结果变化,最低并行性应该是等于碎片的数量增加每个工人维护并行的程度。

    这个修复确保现在完成了。(错误# 30639503)

  • ndb_metadata_sync系统变量设置为true来触发的同步MySQL数据字典和元数据NDB字典;同步完成时,变量是自动重置为false,以表明它已经完成。一个场景涉及的检测模式没有出现在MySQL数据字典但在使用NDB字典有时导致ndb_metadata_sync之前被重置所有表属于该模式成功同步。(错误# 30627292)

  • 当用户和赠款使用共享,改变用户语句是分布式快照,是否包含明文密码。

    此外,显示创建用户不包括资源限制(如MAX_QUERIES_PER_HOUR)被设置为0,这意味着这些没有分布在SQL节点。(错误# 30600321)

  • 两个缓冲区用于登录QMGR不足的大小。(错误# 30598737)

    引用:参见:错误# 30593511。

  • 删除无关的相关调试输出SPJ从节点日志。(错误# 30572315)

  • 当执行的初始启动NDB集群,每个MySQL服务器连接到认识到它作为一个SQL节点重启,重新安装ndb_schema从数据字典表,然后清除了重启之前所创建的所有NDB模式定义。因为数据字典后才被清除ndb_schema重新安装,安装有时失败的原因ndb_schema拥有相同的表的表ID作为一个前重启了。这个问题是固定,确保数据字典前清除ndb_schema桌子是重新安装。(错误# 30488610)

  • NDB有时做的假设节点包含索引统计信息被命令的列表,但是这个列表并不总是命令在所有节点以同样的方式。这意味着,在某些情况下NDB忽略一个请求来更新索引统计信息,这可能导致索引失效数据统计数据表。(错误# 30444982)

  • 当优化器决定预分类表到一个临时表,之后加入表之前,表排序不应该被加入的一部分。虽然逻辑是存在于抽象查询计划接口检测这样的查询计划,这没有正确地检测所有情况下使用filesort到临时表。这是检查是否改变filesort描述符已经成立;如果是这样的话,表内容整理到一个临时文件访问表的第一步,这极大地简化了解释的结构连接。我们现在也发现当表进行排序的一部分加入,这将防止未来回归在这个界面。(错误# 30338585)

  • 当一个节点ID分配请求失败NotMaster临时错误,节点ID分配总是立即重试,不考虑误差的原因。这导致重试率非常高,可以观察到为过多的影响Alloc节点id节点nnn失败的日志消息(每秒15000条消息的顺序)。(错误# 30293495)

  • NDB表没有明确的主键,NdbReceiverBuffer可以分配一个大小太小了。这是由于这一事实属性图送去NDB从数据节点总是包含主键。所需的额外空间隐藏主键现在考虑在这种情况下。(错误# 30183466)

  • 当翻译NDB表创建使用.frmNDB集群的以前版本的文件并将其存储为一个表对象的MySQL数据字典,有可能为表对象承诺即使不匹配被发现之间的MySQL数据字典表索引,这些相同的表的表示NDB字典。这个问题没有发生NDB 8.0中创建的表,没有必要升级的表元数据以这种方式。

    这个问题是固定的,确保所有这样的比较表对象之前执行承诺,无论原始表被创建或不使用的.frm文件存储的元数据。(错误# 29783638)

  • 一个错误提出了获取集群元数据时导致内存泄漏。(错误# 97737,错误# 30575163)