一种分布式数据库及管理方法技术

技术编号:14509859 阅读:64 留言:0更新日期:2017-02-01 02:27
本发明专利技术提供了一种分布式数据库及管理方法,其中,所述数据库包括:所述分布式数据库包括一个或多个节点,所述节点用于存储有一个或多个数据对象,所述数据对象包含一个或多个表,所述表中包含数据;结构相同的所述数据对象属于同一个数据对象集合;所述数据对象具有数据对象标识,该数据对象标识用于区分同一数据对象集合中的各数据对象。可以对数据库节点进行有效管理。提高分布式数据库的效率。

【技术实现步骤摘要】

本专利技术属于分布式数据库领域,尤其是涉及一种分布式数据库及管理方法。
技术介绍
传统的数据库是集中式的关系型数据库。随着数据量的增大,需要将数据分布采用多个数据库服务器存储。传统的关系型数据库难以分布化,扩展困难。因此,业界通过简化关系型数据库的数据管理模型,牺牲数据管理的能力来换取增强扩展性,提出了高扩展的面向列的分布式数据库bigtable、Cassandra。面向列的分布式数据库由多个数据库节点组成。如何实现对这些数据库节点进行有效管理是当下亟需解决的问题。
技术实现思路
本专利技术实施例提供了一种分布式数据库及管理方法,以解决上述存在的技术问题。第一方面,本专利技术实施例提供了一种分布式数据库,包括:所述分布式数据库包括一个或多个节点,所述节点用于存储有一个或多个数据对象,所述数据对象包含一个或多个表,所述表中包含数据;结构相同的所述数据对象属于同一个数据对象集合;所述数据对象具有数据对象标识,该数据对象标识用于区分同一数据对象集合中的各数据对象。第二方面,本专利技术实施例还提供了一种分布式数据库参数的同步方法,包括:建立分布式参数表,定义数据库参数;采用不同的时序变更或恢复节点的参数。第三方面,本专利技术实施例还提供了一种分布式数据库启动方法,包括:选取任一节点先启动;指派所述节点协调启动其它节点;在所有节点完成启动后,将所有节点切换至对等服务状态。第四方面,本专利技术实施例还提供了一种分布式数据库数据校验方法,包括:查询加载目标表的表结构和各列的约束条件;生成各列值的校验函数;编译加载所述校验函数,并调用所述校验函数进行数据检验。第五方面,本专利技术实施例还提供了一种分布式数据库日志数据的分片方法,包括:为每个节点分配唯一编号;建立日志数据表,指定按节点进行分片的方式;在记录日志时,将节点编号随日志一起写入日志表。本专利技术实施例具有的优点和积极效果是:由于采用上述技术方案,可以使分布式数据库节点信息能够同步,并可快速启动和对数据进行校验。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的分布式数据库参数的同步方法的流程示意图;图2是本专利技术实施例二提供的分布式数据库启动方法的流程示意图;图3是本专利技术实施例三提供的分布式数据库数据校验方法的流程示意图;图4是本专利技术实施例四提供的分布式数据库日志数据的分片方法的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一图1为本专利技术实施例一提供的分布式数据库参数的同步方法的流程图,本实施例可适用于分布式数据库节点参数同步的情况,该方法可以由适用于布式数据库参数的同步装置来执行,该装置可由软件/硬件方式实现,并可集成于分布式数据库系统的节点中。参见图1,所述分布式数据库参数的同步方法,包括:S110,建立分布式参数表,定义数据库参数。通常,数据库的参数是通过外部配置文件来配置的(如INI、properties、XML等),数据库启动时读入这些参数,这些参数决定了数据库的各种行为。在分布式数据库系统中,尤其是ShareNothing的分布式数据库系统中,各个独立的服务上都运行着数据库服务(DBServer)。如果每个数据库服务都采用外部配置文件来配置各种参数,那么整个集群范围内进行参数调整,就需要同时更改所有服务器上的配置文件。这种方式比较繁琐,并且容易出错。比如,其中一个节点出现临时故障,这时就无法更改此节点上的配置文件,导致其它节点的配置修改成了新值,而此节点的配置依然是旧值。当这个节点恢复成可用状态,重新加入集群时,就会出现参数不一致的问题,导致各种异常服务行为的出现。在本实施例中,对于每个节点建立参数表,并根据每个节点的参数表定义数据库参数。S120,采用不同的时序变更或恢复节点的参数。对于不同的节点采用分布式事务管理不同的时序对节点的参数进行变更。在恢复时分布式事务管理进行参数恢复。本实施例提供的分布式数据库参数的同步方法,可以保证系统中各个独立节点上的配置始终保持一致。实施例二图2为本专利技术实施例二提供的分布式数据库启动方法的流程图,本实施例可适用于分布式数据库节点启动的情况,该方法可以由分布式数据库启动装置来执行,该装置可由软件/硬件方式实现,并可集成于分布式数据库系统中。参见图2,所述分布式数据库启动方法,包括:S210,选取任一节点先启动。分布式数据库系统最流行的架构是ShareNothing架构,此种架构下,各个节点地位对等,可以同时对外提供服务,从而使系统有良好的性能表现。然而,由于各节点完全对等,在整个分布式数据库系统初始启动阶段,由于各节点的状态可能不一致,因此需要选举出一个Leader来进行仲裁。ShareNothing架构下,由于各节点完全对等,选举出一个Leader需要很长的时间来互相协商。节点越多,选举所耗时间越长,极大影响了整个分布式数据库系统的启动速度。在本实施例中,可任意选取一个节点优先启动。S220,指派所述节点协调启动其它节点。使先启动的节点负责协调其它节点的启动,例如完成向先启动节点进行注册,报告启动状态等。S230,在所有节点完成启动后,将所有节点切换至对等服务状态。ShareNothing架构下,各个节点地位对等,可以同时对外提供服务,因此在启动完成后,需要将所有节点切换至对等服务状态。本专利技术实施例提供的分布式数据库启动方法,可以实现ShareNothing架构的分布式数据库系统的高效快速启动。实施例三图3为本专利技术实施例三提供的分布式数据库数据校验方法的流程图,本实施例可适用于分布式数据库数据校验的情况,该方法可以由分布式数据库数据校验装置来执行,该装置可由软件/硬件方式实现,并可集成于分布式数据库系统中。参见图3,所述分布式数据库数据校验方法,包括:S310,查询加载目标表的表结构和各列的约束条件。分布式数据库在实际系统运行过程中,通常要加载大量文本数据到数据库中,尤其是数据仓库、数据分析、数据清洗等系统中,从外部加载大量数据到分布式数据中是一个常态场景。分布式数据库在处理加载过程中,为了保证数据的有效性,需要对入库的数据进行严格校验,避免不正确的数据进入库中,从而引发后续计算作业的结果错误和作业执行失败。分布式数据库在表结构定义中,可以对每列指定多种约束条件,如notnull,checkconstraint,因此加载过程需要对各个列逐一对每种可能性都进行判断和校验。然而,在实际项目中,通常一个列上的约束最多只有一个,有些列还没有任何约束,因此这种对每种可能性都进行判断的方式非常低效。在数据加载前,查询加载目标表的表结构和各列的约束条件。S320,生成各列值的校验函数。加载目标表的表结构和各列的约束条件对应生成每一列值的校验函数。S330,编译加载所述校验函数,本文档来自技高网...

【技术保护点】
一种分布式数据库,其特征在于,所述分布式数据库包括一个或多个节点,所述节点用于存储有一个或多个数据对象,所述数据对象包含一个或多个表,所述表中包含数据;结构相同的所述数据对象属于同一个数据对象集合;所述数据对象具有数据对象标识,该数据对象标识用于区分同一数据对象集合中的各数据对象。

【技术特征摘要】
1.一种分布式数据库,其特征在于,所述分布式数据库包括一个或多个节点,所述节点用于存储有一个或多个数据对象,所述数据对象包含一个或多个表,所述表中包含数据;结构相同的所述数据对象属于同一个数据对象集合;所述数据对象具有数据对象标识,该数据对象标识用于区分同一数据对象集合中的各数据对象。2.根据权利要求1所述的分布式数据库,其特征在于,所述节点具体用于存储指定区间内的数据对象,所述区间基于各数据对象的数据对象标识划分。3.一种如权利要求1所述的分布式数据库参数的同步方法,其特征在于,包括:建立分布式参数表,定义数据库参数;采用不同的时序变更或恢复...

【专利技术属性】
技术研发人员:崔维力武新孔德生
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1