CN103631924B - 一种分布式数据库平台的应用方法和系统 - Google Patents
一种分布式数据库平台的应用方法和系统 Download PDFInfo
- Publication number
- CN103631924B CN103631924B CN201310645980.6A CN201310645980A CN103631924B CN 103631924 B CN103631924 B CN 103631924B CN 201310645980 A CN201310645980 A CN 201310645980A CN 103631924 B CN103631924 B CN 103631924B
- Authority
- CN
- China
- Prior art keywords
- database
- node
- data
- name
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000008569 process Effects 0.000 title claims abstract description 14
- 238000003780 insertion Methods 0.000 claims description 7
- 230000037431 insertion Effects 0.000 claims description 7
- 230000003362 replicative effect Effects 0.000 claims 1
- 238000013500 data storage Methods 0.000 abstract description 4
- 238000007726 management method Methods 0.000 abstract description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001429 stepping effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
Abstract
本发明适用于数据库技术领域,提供了一种分布式数据库平台的应用方法和系统,包括:接收创建数据库的请求,请求的节点类型包括关系节点和数据节点;根据所述创建数据库的请求,在满足请求条件的节点中创建关系节点对应的数据库和数据节点对应的数据库,所述关系节点对应的数据库存储于内存中,所述数据节点对应的数据库存储于外存中。本发明通过将存储量小、操作量大的关系节点对应的数据库存储于内存中,将存储量大、操作量小的数据节点对应的数据库存储于外存中,由此大大提高了数据存储的灵活性,有效管理分布式数据库平台的节点资源,从而集成数量众多的节点,很好地保证了集群节点的容量规划、高可用性和均衡负载。
Description
技术领域
本发明属于数据库技术领域,尤其涉及一种分布式数据库平台的应用方法和系统。
背景技术
随着云计算技术产品、解决方案的不断成熟,云计算迅速推广普及,已成为许多重要领域的主流IT(Internet Technology,信息技术)应用模式。在云服务器项目中,应用服务器作为一个大规模的服务器,在其日常的使用管理中涉及海量的数据以及频繁的数据操作,对软件系统提出了高实时性的要求。
作为免费的大型关系型数据库,MySQL以其优秀的特性在许多云服务器项目中都被用作数据存储服务器。为了应对大数据量的存储请求、并行和负载均衡等,云服务器对数据库存储提出了分布式的需求,现有技术中,对MySQL服务器组进行分表分库、负载均衡、集群的方案都已经有很多切实可行方案,但是,这些方案无法避免频繁的磁盘存取操作,而相比于内存操作,磁盘存取操作的效率要低很多。
由于内存缓冲区对于数据访问的重要性,NoSQL开始盛行,NoSQL以其灵活的数据模型,以及高性能、易扩展等优点获取了大量用户的青睐。虽然NoSQL有着更高的性能,但是内存容量小,尤其对于部署一套通用平台的一组数据库服务器,考虑性价比,廉价的机器对应的内存空间并不足以用来加载全部数据。
综上所述,现有的数据存储灵活性差。
发明内容
本发明实施例的目的在于提供一种分布式数据库平台的应用方法,旨在解决现有的数据存储灵活性差的问题。
本发明实施例是这样实现的,一种分布式数据库平台的应用方法,包括:
接收在所述分布式数据库平台上创建数据库的请求,所述创建数据库的请求包括请求创建的数据库名、请求的节点类型和请求创建的数据库的大小,所述请求的节点类型包括关系节点和数据节点;
根据所述创建数据库的请求,查找满足请求条件的节点,在所述满足请求条件的节点中创建数据库,所述数据库包括关系节点对应的数据库和数据节点对应的数据库,所述关系节点对应的数据库存储于内存中,所述数据节点对应的数据库存储于外存中;
分别在所述关系节点对应的数据库与所述数据节点对应的数据库中创建数据表,创建的所述数据表包括数据表名,所述数据表包括1个以上字段,所述字段包括字段名;
根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中插入记录。
本发明实施例的另一目的在于提供一种分布式数据库平台系统,包括:
数据库创建请求接收模块,用于接收在所述分布式数据库平台上创建数据库的请求,所述创建数据库的请求包括请求创建的数据库名、请求的节点类型和请求创建的数据库的大小,所述请求的节点类型包括关系节点和数据节点;
数据库创建模块,用于根据所述创建数据库的请求,查找满足请求条件的节点,在所述满足请求条件的节点中创建数据库,所述数据库包括关系节点对应的数据库和数据节点对应的数据库,所述关系节点对应的数据库存储于内存中,所述数据节点对应的数据库存储于外存中;
数据表创建模块,用于分别在所述关系节点对应的数据库与所述数据节点对应的数据库中创建数据表,创建的所述数据表包括数据表名,所述数据表包括1个以上字段,所述字段包括字段名;
插入记录模块,用于根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中插入记录。
本发明实施例通过将存储量小、操作量大的关系节点对应的数据库存储于内存中,将存储量大、操作量小的数据节点对应的数据库存储于外存中,由此大大提高了数据存储的灵活性,有效管理分布式数据库平台的节点资源,从而集成数量众多的节点,实现了集群节点的数据库服务,很好地保证了集群节点的容量规划、高可用性和均衡负载。
附图说明
图1是本发明实施例提供的分布式数据库平台的应用方法的实现流程图;
图2是本发明实施例提供的分布式数据库平台系统的系统框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过将存储量小、操作量大的关系节点对应的数据库存储于内存中,将存储量大、操作量小的数据节点对应的数据库存储于外存中,由此大大提高了数据存储的灵活性,有效管理分布式数据库平台的节点资源,从而集成数量众多的节点,实现了集群节点的数据库服务,很好地保证了集群节点的容量规划、高可用性和均衡负载。
图1示出了本发明实施例提供的分布式数据库平台的应用方法的实现流程图。参照图1,该方法包括步骤S101-S104,其中:
在步骤S101中,接收在所述分布式数据库平台上创建数据库的请求,所述创建数据库的请求包括请求创建的数据库名、请求的节点类型和请求创建的数据库的大小,所述请求的节点类型包括关系节点和数据节点。
在本发明实施例中,每个项目要在分布式数据库平台上创建数据库,需要向分布式数据库平台系统提交申请,分布式数据库平台系统提供接口,接收DBA(DatabaseAdministrator,数据库管理员)发来的在分布式数据库平台上创建数据库的请求。
在步骤S102中,根据所述创建数据库的请求,查找满足请求条件的节点,在所述满足请求条件的节点中创建数据库,所述数据库包括关系节点对应的数据库和数据节点对应的数据库,所述关系节点对应的数据库存储于内存中,所述数据节点对应的数据库存储于外存中。
作为本发明的一个实施例,分布式数据库平台系统包括分布式关系节点管理模块和分布式数据节点管理模块。分布式关系节点管理模块根据创建关系节点对应的数据库的请求创建的数据库的大小,查找满足请求条件的关系节点,在满足请求条件的关系节点中创建关系节点对应的数据库。分布式数据节点管理模块根据创建数据节点对应的数据库的请求创建的数据库的大小,查找满足请求条件的数据节点,在满足请求条件的数据节点中创建数据节点对应的数据库。
分布式关系节点管理模块记录现有的关系节点资源的描述情况,包括有多少个关系节点,分别是哪些关系节点,关系节点的IP(Internet Protocol,网际协议)地址,有哪些关系节点已用,有哪些关系节点未用,关系节点已用的内存资源大小,关系节点可用的内存资源大小,已创建的关系节点对应的数据库及其对应的分布式关系节点链表,已创建的关系节点对应的数据库正在使用的关系节点以及该关系节点的序号。分布式关系节点管理模块根据请求创建的关系节点对应的数据库的大小来分配关系节点资源。
分布式数据节点管理模块记录现有的数据节点资源的描述情况,包括有多少个数据节点,分别是哪些数据节点,数据节点的IP地址,有哪些数据节点已用,有哪些数据节点未用,数据节点已用的物理容量大小,数据节点可用的物理容量大小,已创建的数据节点对应的数据库及其对应的分布式数据节点链表,已创建的数据节点对应的数据库正在使用的数据节点以及该数据节点的序号。分布式数据节点管理模块根据请求创建的数据节点对应的数据库的大小来分配数据节点资源。
需要说明的是,节点的序号指的是,在数据库对应的分布式节点链表中的节点的序号,每个数据库对应的分布式节点链表中的节点序号从1开始递增。
下面对创建关系节点对应的数据库时分布式关系节点管理模块如何分配关系节点资源进行说明:
分布式关系节点管理模块根据请求创建的关系节点对应的数据库的大小做容量规划,在分布式关系节点管理模块记录的关系节点资源中,计算每个关系节点待用的内存资源大小。关系节点待用的内存资源大小=关系节点可用的内存资源大小×预设溢出百分比。其中预设溢出百分比=预设溢出值÷关系节点总的内存资源大小。筛选出关系节点待用的内存资源大小大于请求创建的关系节点对应的数据库的关系节点,然后在筛选出的关系节点中选取待用的内存资源大小最小的关系节点为最佳关系节点,在该最佳关系节点中创建关系节点对应的数据库。在关系节点中创建数据库后,在对应的分布式关系节点管理模块中更新最佳关系节点的使用信息,以及数据库对应的分布式关系节点链表信息。
如果请求创建的关系节点对应的数据库的大小超过所有关系节点待用的内存资源大小,则需要自动扩容。关系节点待用的内存资源大小=关系节点可用的内存资源大小×预设溢出百分比。取关系节点待用的内存资源大小最大的关系节点为第一关系节点,在该第一关系节点中创建关系节点对应的数据库。在分布式关系节点管理模块中更新该第一关系节点的使用信息,以及数据库对应的分布式关系节点链表信息,并标记第一关系节点的序号为1。请求创建的关系节点对应的数据库的剩余大小=请求创建的关系节点对应的数据库的大小-(第一关系节点可用的内存资源大小×预设溢出百分比),运用前述方法对请求创建的关系节点对应的数据库的剩余大小部分选择关系节点,依次选择出第二关系节点、第三关系节点等,在此不再赘述。在该数据库对应的分布式关系节点链表中,第二关系节点的序号为2,第三关系节点的序号为3,以此类推。
创建数据节点对应的数据库时分布式数据节点管理模块分配数据节点资源的方法与创建关系节点对应的数据库时分布式关系节点管理模块分配关系节点资源的方法相同。
在本发明实施例中,关系节点对应的数据库采用Redis,Redis是众多NoSQL产品中的其中一种使用广泛的产品。数据节点对应的数据库采用MySQL。另外,可以用NoSQL之Handler Socket作为插件,直接操作MySQL数据库。
在步骤S103中,分别在所述关系节点对应的数据库与所述数据节点对应的数据库中创建数据表,创建的所述数据表包括数据表名,所述数据表包括1个以上字段,所述字段包括字段名。
在步骤S104中,根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中插入记录。
进一步地,所述方法还包括:
将所述记录区分为关系型记录和信息型记录,所述关系型记录包括应用业务之间的关系数据,所述信息型记录包括应用业务的详细信息数据;
在所述关系节点对应的数据库中创建的数据表为关系型记录对应的数据表;
在所述数据节点对应的数据库中创建的数据表为信息型记录对应的数据表。
在本发明实施例中,用户预先对待存储的数据进行分类,确定待存储的数据是属于应用业务之间的关系数据还是应用业务的详细信息数据,应用业务之间的关系数据对应关系型记录,应用业务的详细信息数据对应信息型记录。在接收到插入请求时,根据待存储的数据的类型的不同,来确定请求插入记录的数据库类型。关系型记录对应应用业务之间的关系数据,特征是存储量小,但是操作量很大;信息型记录对应应用业务的详细信息数据,特征是存储量大,但操作量小,行记录包含的字段很多,且字段的内容很大。
关系型记录主要是以<Key,Value>对或者<Key,List>对的形式存在,如前所述,关系型记录一般存储量小,但是操作量很大,适合加载到内存中。作为NoSQL数据库,Redis是一种内存数据库,执行增删改查的速度很快。Redis以纯内存的方式存储关系型记录,在系统启动时将关系型记录直接加载到内存中运行。同时,在同个节点上运行着Backend同步进程,Backend同步进程负责在DML(Data Manipulation Language,数据操纵语言)更改Redis内存数据时,将变更后的内存数据写到物理硬盘中,以解决数据丢失的问题。一般,Redis自带物理Backend功能,或者Backend数据库可以选用TC(Tokyo Cabinet)来存储。这样,重启的时候,Redis可以很快地把关系型记录加载到内存。信息型记录的存储量大,操作量小,不适合存储在内存中,而存储在外存储器中。
需要说明的是,该分布式数据库平台系统定义了ID(Identity,序列号)唯一性算法。分布式关系节点管理模块和分布式数据节点管理模块统称为分布式管理模块。若一个节点的节点序号为A,存储容量为N,例如N=1,000,000,000,则该节点中的记录的起始ID为(A-1)×N。每增加一个记录,ID递增1。在实际应用中,对每个数据库创建维护数据表,维护数据表的字段包括数据表名、节点名和ID。
优选地,所述方法还包括:
当创建的所述数据库所在的节点的已用存储量超过预设溢出值时,在一个新的节点上复制创建的所述数据库的结构,以自动扩展创建的所述数据库;
步骤S104所述根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中插入记录具体为:
根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的所述新的节点中插入记录。
在实际应用中,许多项目在云服务器的架设中面对海量数据需要开发数据库,当海量数据的负载超出了单台服务器的承受能力时,需要考虑如何自动扩展服务器。需要说明的是,在本发明实施例中,节点相当于服务器。在本发明实施例中,维护一个线程定时检查,当一个节点的已用存储量超过预设溢出值时,自动申请一个新的节点,并在这个新的节点上复制创建的数据库的数据表结构,以自动扩展创建的数据库。自动扩展完成后,在数据库对应的分布式节点链表中添加新的节点名,并为该新的节点分配序号。假定该新的节点的上一个节点的序号为K,则该新的节点的序号为K+1。当上述操作完成后,切换插入记录的操作到新的节点。也就是说,该新的节点对应于该数据库正在使用的节点。
进一步地,所述方法还包括:
根据接收的数据库名、数据表名以及查找请求,分别在所述关系节点对应的数据库与所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中查找记录。
作为本发明的一个实施例,分布式数据库平台系统通过Redis Key GPS(Redis关键值定位)模块定位关系型记录所在的节点,通过MySQL Key GPS(MySQL关键值定位)模块定位信息型记录所在的节点。
本发明实施例为单个数据库查找的情况。根据DBA发来的数据库名、数据表名和ID,通过Redis Key GPS和MySQL Key GPS判断ID的区间,从而确定节点名,从而定位到节点,再在该节点的指定数据库的指定数据表中查找到指定记录。
通过Redis Key GPS查找关系型记录的流程为:
1、Redis Key GPS访问分布式关系节点管理模块,获取请求查找的关系型记录所存储于的目标关系节点的信息;
2、连接目标关系节点;
3、在目标关系节点中查找关系型记录。
需要说明的是,关系型记录存储信息型记录的ID,如果需要查找关系型记录对应的信息型记录的详细信息,则进行信息型记录的查找。
通过MySQL Key GPS查找信息型记录的流程为:
1、MySQL Key GPS访问分布式数据节点管理模块,获取请求查找的信息型记录所存储于的目标数据节点的信息;
2、Handler Socket直连目标数据节点;
3、获取信息型记录的详细信息。
需要说明的是,数据库中的数据的删除、更新也要先通过Redis Key GPS和MySQLKey GPS的定位。
通过Redis Key GPS更新或者删除关系型记录的流程为:
1、Redis Key GPS访问分布式关系节点管理模块,获取请求更新或者删除的关系型记录所存储于的目标关系节点的信息;
2、连接目标关系节点;
3、在目标关系节点中更新或者删除关系型记录。
需要说明的是,如果需要更新或者删除关系型记录对应的信息型记录的详细信息,则进行信息型记录的更新或者删除。
通过MySQL Key GPS更新或者删除信息型记录的流程为:
1、MySQL Key GPS访问分布式数据节点管理模块,获取请求更新或者删除的信息型记录所存储于的目标数据节点的信息;
2、Handler Socket直连目标数据节点;
3、更新或者删除信息型记录的详细信息。
进一步地,所述方法还包括:
根据接收的数据库名、数据表名以及查找请求,建立与所述数据库对应的节点的数量匹配个数的线程,通过所述线程在所述数据库对应的节点中的与接收的所述数据库名与所述数据表名对应的数据表中查找记录。
本发明实施例为多个数据库跨库查找的情况。在这里,数据库对应的分布式节点链表中的节点序号不小于2且该数据库正在使用的节点序号大于1。需要说明的是,该数据库正在使用的节点序号相当于该数据库对应的分布式节点链表中已使用的节点的个数。在这里,根据数据库对应的节点链表中的已使用的节点的个数,建立与已使用的节点的个数匹配数量的线程,通过各个线程分别在各个已使用的节点上查找,再合并结果值,从而保证当一个数据库切分到多个节点后数据的正确高效访问。
优选地,MySQL集群方案选择MySQL Replication(MySQL复制)的双主多从方案,HA(High Availability,高可用)选择keepalived和mysql-mmm,LB(Load Balancing,负载均衡)选用LVS(Linux Virtual Server,Linux虚拟节点),故障转移用keepalived和mysql-mmm监控并实现。
优选地,Redis集群方案选择主从复制方案,HA选择keepalived。由于Redis在内存操作,因此无需负载均衡。
需要说明的是,本发明实施例提供的分布式数据库平台是基础平台,项目组只需要在此基础平台上做数据库的二次开发,把数据区分为关系型记录和信息型记录,然后在关系节点和数据节点分别操作。
本发明实施例通过将存储量小、操作量大的关系节点对应的数据库存储于内存中,将存储量大、操作量小的数据节点对应的数据库存储于外存中,由此大大提高了数据存储的灵活性,有效管理分布式数据库平台的节点资源,从而集成数量众多的节点,实现了集群节点的数据库服务,很好地保证了集群节点的容量规划、高可用性和均衡负载。
图2示出了本发明实施例提供的分布式数据库平台系统的系统框图,为了便于说明,仅示出了与本实施例相关的部分。
参照图2,一种分布式数据库平台系统,包括:
数据库创建请求接收模块21,接收在所述分布式数据库平台上创建数据库的请求。
所述创建数据库的请求包括请求创建的数据库名、请求的节点类型和请求创建的数据库的大小,所述请求的节点类型包括关系节点和数据节点。
数据库创建模块22,根据所述创建数据库的请求,查找满足请求条件的节点,在所述满足请求条件的节点中创建数据库,所述数据库包括关系节点对应的数据库和数据节点对应的数据库,所述关系节点对应的数据库存储于内存中,所述数据节点对应的数据库存储于外存中。
数据表创建模块23,分别在所述关系节点对应的数据库与所述数据节点对应的数据库中创建数据表,创建的所述数据表包括数据表名,所述数据表包括1个以上字段,所述字段包括字段名。
插入记录模块24,根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中插入记录。
进一步地,所述系统还包括记录区分模块,所述记录区分模块用于:
将所述记录区分为关系型记录和信息型记录,所述关系型记录包括应用业务之间的关系数据,所述信息型记录包括应用业务的详细信息数据;
在所述关系节点对应的数据库中创建的数据表为关系型记录对应的数据表;
在所述数据节点对应的数据库中创建的数据表为信息型记录对应的数据表。
进一步地,所述系统还包括:
数据库自动扩展模块,当创建的所述数据库所在的节点的已用存储量超过预设溢出值时,在一个新的节点上复制创建的所述数据库的结构,以自动扩展创建的所述数据库;
所述插入记录模块24具体用于:
根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的所述新的节点中插入记录。
进一步地,所述系统还包括:
查找记录模块,用于根据接收的数据库名、数据表名以及查找请求,分别在所述关系节点对应的数据库与所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中查找记录。
进一步地,所述系统还包括:
查找记录模块,用于根据接收的数据库名、数据表名以及查找请求,建立与所述数据库对应的节点的数量匹配个数的线程,通过所述线程在所述数据库对应的节点中的与接收的所述数据库名与所述数据表名对应的数据表中查找记录。
本发明实施例通过将存储量小、操作量大的关系节点对应的数据库存储于内存中,将存储量大、操作量小的数据节点对应的数据库存储于外存中,由此大大提高了数据存储的灵活性,有效管理分布式数据库平台的节点资源,从而集成数量众多的节点,实现了集群节点的数据库服务,很好地保证了集群节点的容量规划、高可用性和均衡负载。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种分布式数据库平台的应用方法,其特征在于,包括:
接收在所述分布式数据库平台上创建数据库的请求,所述创建数据库的请求包括请求创建的数据库名、请求的节点类型和请求创建的数据库的大小,所述请求的节点类型包括关系节点和数据节点;
根据所述创建数据库的请求,查找满足请求条件的节点,在所述满足请求条件的节点中创建数据库,所述数据库包括关系节点对应的数据库和数据节点对应的数据库,所述关系节点对应的数据库存储于内存中,所述数据节点对应的数据库存储于外存中;
分别在所述关系节点对应的数据库与所述数据节点对应的数据库中创建数据表,创建的所述数据表包括数据表名,所述数据表包括1个以上字段,所述字段包括字段名;
根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中插入记录。
2.如权利要求1所述的应用方法,其特征在于,所述方法还包括:
将所述记录区分为关系型记录和信息型记录,所述关系型记录包括应用业务之间的关系数据,所述信息型记录包括应用业务的详细信息数据;
在所述关系节点对应的数据库中创建的数据表为关系型记录对应的数据表;
在所述数据节点对应的数据库中创建的数据表为信息型记录对应的数据表。
3.如权利要求1所述的应用方法,其特征在于,所述方法还包括:
当创建的所述数据库所在的节点的已用存储量超过预设溢出值时,在一个新的节点上复制创建的所述数据库的结构,以自动扩展创建的所述数据库;
所述根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中插入记录具体为:
根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的所述新的节点中插入记录。
4.如权利要求1所述的应用方法,其特征在于,所述方法还包括:
根据接收的数据库名、数据表名以及查找请求,分别在所述关系节点对应的数据库与所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中查找记录。
5.如权利要求3所述的应用方法,其特征在于,所述方法还包括:
根据接收的数据库名、数据表名以及查找请求,建立与所述数据库对应的节点的数量匹配个数的线程,通过所述线程在所述数据库对应的节点中的与接收的所述数据库名与所述数据表名对应的数据表中查找记录。
6.一种分布式数据库平台系统,其特征在于,包括:
数据库创建请求接收模块,用于接收在所述分布式数据库平台上创建数据库的请求,所述创建数据库的请求包括请求创建的数据库名、请求的节点类型和请求创建的数据库的大小,所述请求的节点类型包括关系节点和数据节点;
数据库创建模块,用于根据所述创建数据库的请求,查找满足请求条件的节点,在所述满足请求条件的节点中创建数据库,所述数据库包括关系节点对应的数据库和数据节点对应的数据库,所述关系节点对应的数据库存储于内存中,所述数据节点对应的数据库存储于外存中;
数据表创建模块,用于分别在所述关系节点对应的数据库与所述数据节点对应的数据库中创建数据表,创建的所述数据表包括数据表名,所述数据表包括1个以上字段,所述字段包括字段名;
插入记录模块,用于根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中插入记录。
7.如权利要求6所述的系统,其特征在于,所述系统还包括记录区分模块,所述记录区分模块用于:
将所述记录区分为关系型记录和信息型记录,所述关系型记录包括应用业务之间的关系数据,所述信息型记录包括应用业务的详细信息数据;
在所述关系节点对应的数据库中创建的数据表为关系型记录对应的数据表;
在所述数据节点对应的数据库中创建的数据表为信息型记录对应的数据表。
8.如权利要求6所述的系统,其特征在于,所述系统还包括:
数据库自动扩展模块,用于当创建的所述数据库所在的节点的已用存储量超过预设溢出值时,在一个新的节点上复制创建的所述数据库的结构,以自动扩展创建的所述数据库;
所述插入记录模块具体用于:
根据接收的数据库名、数据表名、字段名以及插入请求,在所述关系节点对应的数据库或者所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的所述新的节点中插入记录。
9.如权利要求6所述的系统,其特征在于,所述系统还包括:
查找记录模块,用于根据接收的数据库名、数据表名以及查找请求,分别在所述关系节点对应的数据库与所述数据节点对应的数据库中的与接收的所述数据库名与所述数据表名对应的数据表中查找记录。
10.如权利要求8所述的系统,其特征在于,所述系统还包括:
查找记录模块,用于根据接收的数据库名、数据表名以及查找请求,建立与所述数据库对应的节点的数量匹配个数的线程,通过所述线程在所述数据库对应的节点中的与接收的所述数据库名与所述数据表名对应的数据表中查找记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310645980.6A CN103631924B (zh) | 2013-12-03 | 2013-12-03 | 一种分布式数据库平台的应用方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310645980.6A CN103631924B (zh) | 2013-12-03 | 2013-12-03 | 一种分布式数据库平台的应用方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103631924A CN103631924A (zh) | 2014-03-12 |
CN103631924B true CN103631924B (zh) | 2018-08-31 |
Family
ID=50212965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310645980.6A Expired - Fee Related CN103631924B (zh) | 2013-12-03 | 2013-12-03 | 一种分布式数据库平台的应用方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103631924B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138673A (zh) * | 2015-09-08 | 2015-12-09 | 浙江风向标科技有限公司 | 一种基于物联网的海量存储系统及存储方法 |
CN107818117B (zh) * | 2016-09-14 | 2022-02-15 | 阿里巴巴集团控股有限公司 | 一种数据表的建立方法、在线查询方法及相关装置 |
CN106487948A (zh) * | 2016-12-26 | 2017-03-08 | 上海斐讯数据通信技术有限公司 | 一种dhcp服务管理系统以及dhcp服务管理方法 |
CN107479829B (zh) * | 2017-08-03 | 2020-04-17 | 杭州铭师堂教育科技发展有限公司 | 一种基于消息队列的Redis集群海量数据快速清理系统及方法 |
CN107688611B (zh) * | 2017-08-03 | 2020-02-28 | 杭州铭师堂教育科技发展有限公司 | 一种基于saltstack的Redis键值管理系统及方法 |
CN110019118A (zh) * | 2017-09-28 | 2019-07-16 | 广东亿迅科技有限公司 | 基于DevOps提升数据库运维效率的系统及其方法 |
CN107862090A (zh) * | 2017-12-04 | 2018-03-30 | 中企动力科技股份有限公司 | 数据库的水平扩展方法及装置 |
CN111522880B (zh) * | 2020-04-24 | 2023-08-08 | 桂林电子科技大学 | 一种基于mysql数据库集群的提升数据读写性能的方法 |
CN111782634A (zh) * | 2020-06-29 | 2020-10-16 | 京东数字科技控股有限公司 | 数据分布式存储方法、装置、电子设备及存储介质 |
CN113254180B (zh) * | 2021-06-03 | 2023-10-10 | 杭州海康威视数字技术股份有限公司 | 一种数据匹配方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854378A (zh) * | 2010-02-26 | 2010-10-06 | 深圳市同洲电子股份有限公司 | 一种数据操作方法和数据操作设备 |
CN102831223A (zh) * | 2012-08-23 | 2012-12-19 | 大唐移动通信设备有限公司 | 一种分布式数据库的管理方法和系统 |
CN103186651A (zh) * | 2011-12-31 | 2013-07-03 | 中国移动通信集团公司 | 一种分布式关系数据库及其建立、查询方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7831772B2 (en) * | 2006-12-12 | 2010-11-09 | Sybase, Inc. | System and methodology providing multiple heterogeneous buffer caches |
-
2013
- 2013-12-03 CN CN201310645980.6A patent/CN103631924B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854378A (zh) * | 2010-02-26 | 2010-10-06 | 深圳市同洲电子股份有限公司 | 一种数据操作方法和数据操作设备 |
CN103186651A (zh) * | 2011-12-31 | 2013-07-03 | 中国移动通信集团公司 | 一种分布式关系数据库及其建立、查询方法和装置 |
CN102831223A (zh) * | 2012-08-23 | 2012-12-19 | 大唐移动通信设备有限公司 | 一种分布式数据库的管理方法和系统 |
Non-Patent Citations (1)
Title |
---|
支持实时内存数据库不间断服务的恢复技术;许贵平 等;《计算机工程》;20080331;第34卷(第6期);第70-71页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103631924A (zh) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631924B (zh) | 一种分布式数据库平台的应用方法和系统 | |
US11816126B2 (en) | Large scale unstructured database systems | |
CN111259006B (zh) | 一种通用的分布式异构数据一体化物理汇聚、组织、发布与服务方法及系统 | |
CN106164865B (zh) | 用于数据复制的依赖性感知的事务批处理的方法和系统 | |
CN104067216B (zh) | 用于实施可扩展数据存储服务的系统和方法 | |
CN104160381B (zh) | 多租户环境中租户特定数据集的管理方法及其系统 | |
CN102541990B (zh) | 利用虚拟分区的数据库重新分布方法和系统 | |
CN104781809B (zh) | 容器数据库 | |
CN110704453B (zh) | 一种数据查询方法、装置、存储介质及电子设备 | |
US8543596B1 (en) | Assigning blocks of a file of a distributed file system to processing units of a parallel database management system | |
US20130110873A1 (en) | Method and system for data storage and management | |
US20140324917A1 (en) | Reclamation of empty pages in database tables | |
CN109144785A (zh) | 用于备份数据的方法和装置 | |
US20190251096A1 (en) | Synchronization of offline instances | |
CN103595799A (zh) | 一种实现分布式共享数据库的方法 | |
CN109542861A (zh) | 一种文件管理方法、装置和系统 | |
CN109726192A (zh) | 基于大数据环境实现主数据模型版本与字段分开管理功能的系统及方法 | |
CN111723161A (zh) | 一种数据处理方法、装置及设备 | |
CN108573063A (zh) | 一种数据查询方法及系统 | |
WO2017156855A1 (en) | Database systems with re-ordered replicas and methods of accessing and backing up databases | |
EP3061011B1 (en) | Method for optimizing index, master database node and subscriber database node | |
CN113095778A (zh) | 通过多个邮箱在通信应用中进行海量数据管理的架构 | |
US11727022B2 (en) | Generating a global delta in distributed databases | |
US20230153300A1 (en) | Building cross table index in relational database | |
CN105095283A (zh) | 网络社交系统中准好友的推荐方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180831 |