CN106202540A - 一种大型应用***的数据库可横向扩展方法 - Google Patents

一种大型应用***的数据库可横向扩展方法 Download PDF

Info

Publication number
CN106202540A
CN106202540A CN201610595003.3A CN201610595003A CN106202540A CN 106202540 A CN106202540 A CN 106202540A CN 201610595003 A CN201610595003 A CN 201610595003A CN 106202540 A CN106202540 A CN 106202540A
Authority
CN
China
Prior art keywords
data
dimension
base
scale application
application system
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.)
Pending
Application number
CN201610595003.3A
Other languages
English (en)
Inventor
孙立新
戴海宏
周祥国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur General Software Co Ltd
Original Assignee
Inspur General Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN201610595003.3A priority Critical patent/CN106202540A/zh
Publication of CN106202540A publication Critical patent/CN106202540A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种大型应用***的数据库可横向扩展方法,其具体实现过程为:首先定义数据库集群,确定数据库集群组成内容;然后定义数据路由维度以及数据路由映射关系;最后根据上下文数据执行路由解析,访问特定数据库。本发明的一种大型应用***的数据库可横向扩展方法与现有技术相比,可在大型应用***的大数据量、高并发情况下,有效的通过数据路由配置及解析机制,将对数据的访问分流到不同的数据库中,使同一应用的数据库可有效的横向扩展,从而降低大型应用对单一数据库的访问压力,解决单一数据库的性能瓶颈问题,提高大型应用整体运行的性能。

Description

一种大型应用***的数据库可横向扩展方法
技术领域
本发明涉及计算机软件技术领域,具体地说是一种大型应用***的数据库可横向扩展方法。
背景技术
随着云计算技术的发展和成熟,云计算中心已经在大型企业集团的信息化中逐步进入实用阶段。大型企业集团的应用模式也从总部、二级集团的“分布集中”应用模式向总部“大集中”应用模式转变。
在总部“大集中”应用模式下,大型企业集团所有的应用***的用户共用总部提供的一套应用***,这样的应用***规模巨大,用户数量从几万至几十万,云计算中心的各类服务器在几十台至数百台之间,单个业务功能一年的交易数据存储量在数千万至数亿行。
在大规模应用中,随着单位时间内交易量的增加,应用服务器数量通过应用服务器集群方式很容易横向扩展以增加计算能力,而关系型数据库***自身对横向扩展支持的灵活性较差,而且数据之间的关系错综复杂,很难通过简单、一致的技术手段灵活的进行横向扩展,数据库的横向扩展能力往往成为瓶颈。基于此,现提供一种大型应用***的数据库可横向扩展方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种大型应用***的数据库可横向扩展方法。
一种大型应用***的数据库可横向扩展方法,其具体实现过程为:
首先定义数据库集群,确定数据库集群组成内容;
然后定义数据路由维度以及数据路由映射关系;
最后根据上下文数据执行路由解析,访问特定数据库。
所述数据库集群由若干数据库组成,每个数据库的描述信息为数据源,该数据源包括以下属性:数据源标识、数据源编号、数据源名称、数据源描述、数据源类型、数据库连接信息;其中数据源标识是数据主键,数据源编号是数据源可人工识别的唯一标识,数据源类型是一个枚举类型。
在每个数据库集群中包含一个主数据库、若干个业务数据库和若干个查询数据库;相对应的,数据源类型包含以下三个枚举值:主库、业务库、查询库。
所述数据路由维度为一个记录列表,列表中每一行包括以下属性:维度标识、维度编号、维度名称、是否必选、维度描述;其中维度标识是数据主键,维度编号是维度可人工识别的唯一标识,是否必选用于标识该纬度值是否允许为空值。
数据路由映射关系为一个记录列表,列表中每一行包括以下属性:维度值集合、数据源标识、描述,其中维度值组合是基于数据路由维度的记录列表构成的多个值的序列信息。
上下文数据是访问程序执行过程中的上下文数据信息,在上下文数据中包含维度信息列表,该维度信息列表是键值对列表,其键为数据路由维度中的维度标识,其值为该维度的数据值。
访问程序执行过程中,在获取应访问的数据库时,基于上下文数据中包含的维度信息列表,通过对数据路由映射关系中的维度值集合进行查找匹配,从而获取到特定的数据源标识,完成访问。
本发明的一种大型应用***的数据库可横向扩展方法和现有技术相比,具有以下有益效果:
本发明的一种大型应用***的数据库可横向扩展方法,通过数据路由配置及解析机制,将对数据的访问分流到不同的数据库中,使同一应用的数据库可有效的横向扩展,从而降低大型应用对单一数据库的访问压力,解决单一数据库的性能瓶颈问题,提高大型应用整体运行的性能,实用性强,适用范围广泛,易于推广。
附图说明
附图1为本发明的实现示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
如附图1所示,本发明提供一种大型应用***的数据库可横向扩展方法,其具体实现过程为:
首先定义数据库集群,确定数据库集群组成内容;
然后定义数据路由维度以及数据路由映射关系;
最后根据上下文数据执行路由解析,访问特定数据库。
所述数据库集群由若干数据库组成,每个数据库的描述信息为数据源,该数据源包括以下属性:数据源标识、数据源编号、数据源名称、数据源描述、数据源类型、数据库连接信息;其中数据源标识是数据主键,数据源编号是数据源可人工识别的唯一标识,数据源类型是一个枚举类型。
在每个数据库集群中包含一个主数据库、若干个业务数据库和若干个查询数据库;相对应的,数据源类型包含以下三个枚举值:主库、业务库、查询库。
所述数据路由维度用于描述应用程序访问数据库的路由关系的结构。
数据路由维度为一个记录列表,列表中每一行包括以下属性:维度标识、维度编号、维度名称、是否必选、维度描述;其中维度标识是数据主键,维度编号是维度可人工识别的唯一标识,是否必选用于标识该纬度值是否允许为空值。
数据路由映射关系,是基于数据库集群、数据路由维度中的数据源定义及数据路由维度定义,定义的在不同维度值设定下与数据源的匹配映射关系。
数据路由映射关系为一个记录列表,列表中每一行包括以下属性:维度值集合、数据源标识、描述,其中维度值组合是基于数据路由维度的记录列表构成的多个值的序列信息。
维度值集合是数据路由映射关系记录列表行的唯一性约束,特定的维度值集合唯一匹配一个数据源标识。
上下文数据是访问程序执行过程中的上下文数据信息,在上下文数据中包含维度信息列表,该维度信息列表是键值对列表,其键为数据路由维度中的维度标识,其值为该维度的数据值。
访问程序执行过程中,在获取应访问的数据库时,基于上下文数据中包含的维度信息列表,通过对数据路由映射关系中的维度值集合进行查找匹配,从而获取到特定的数据源标识,完成访问。
进一步的,根据获取到的特定的数据源标识,基于步骤一中定义的数据源,获取到与数据源标识匹配的数据源信息,从而进一步的获取到数据源信息中的数据库连接信息,在程序中建立该数据源指定的数据库,进行数据访问。
具体实例:
某大型***中,基于步骤1,定义数据库集群信息如下:
数据源标识 数据源编号 数据源名称 数据源类型 数据库连接信息
DS1 Master 共享库 主库
DS2 Biz1 业务库1 业务库
DS3 Biz2 业务库2 业务库
基于步骤2,定义的数据路由维度信息如下,代表在该***中,业务应用数据可以按照***的模块和行业进行数据划分:
维度标识 维度编号 维度名称 是否必选 维度描述
D1 Module 模块 ***模块维度
D2 Scope 行业 行业维度
基于步骤3,假设***中同时有M1、M2两个模块,有S1、S2两个行业,则建立的数据路由映射关系如下:
基于步骤4,如果当前程序功能是M1模块的功能,并且设定的行业是S1,则程序中的上下文数据中包含的维度信息列表信息如下:
Module M1
Scope S1
则基于步骤4的解析规则,获取到当前功能对应的数据源信息为DS1,根据DS1程序可获取到DS1对应的数据库连接信息,从而建立相应的数据库连接,访问DS1对应的数据库数据信息。
本发明通过以上的技术实现方法,可在大型应用***的大数据量、高并发情况下,有效的通过数据路由配置及解析机制,将对数据的访问分流到不同的数据库中,使同一应用的数据库可有效的横向扩展,从而降低大型应用对单一数据库的访问压力,解决单一数据库的性能瓶颈问题,提高大型应用整体运行的性能。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (7)

1.一种大型应用***的数据库可横向扩展方法,其特征在于,其具体实现过程为:
首先定义数据库集群,确定数据库集群组成内容;
然后定义数据路由维度以及数据路由映射关系;
最后根据上下文数据执行路由解析,访问特定数据库。
2.根据权利要求1所述的一种大型应用***的数据库可横向扩展方法,其特征在于,所述数据库集群由若干数据库组成,每个数据库的描述信息为数据源,该数据源包括以下属性:数据源标识、数据源编号、数据源名称、数据源描述、数据源类型、数据库连接信息;其中数据源标识是数据主键,数据源编号是数据源可人工识别的唯一标识,数据源类型是一个枚举类型。
3.根据权利要求2所述的一种大型应用***的数据库可横向扩展方法,其特征在于,在每个数据库集群中包含一个主数据库、若干个业务数据库和若干个查询数据库;相对应的,数据源类型包含以下三个枚举值:主库、业务库、查询库。
4.根据权利要求1所述的一种大型应用***的数据库可横向扩展方法,其特征在于,所述数据路由维度为一个记录列表,列表中每一行包括以下属性:维度标识、维度编号、维度名称、是否必选、维度描述;其中维度标识是数据主键,维度编号是维度可人工识别的唯一标识,是否必选用于标识该纬度值是否允许为空值。
5.根据权利要求4所述的一种大型应用***的数据库可横向扩展方法,其特征在于,数据路由映射关系为一个记录列表,列表中每一行包括以下属性:维度值集合、数据源标识、描述,其中维度值组合是基于数据路由维度的记录列表构成的多个值的序列信息。
6.根据权利要求2所述的一种大型应用***的数据库可横向扩展方法,其特征在于,上下文数据是访问程序执行过程中的上下文数据信息,在上下文数据中包含维度信息列表,该维度信息列表是键值对列表,其键为数据路由维度中的维度标识,其值为该维度的数据值。
7.根据权利要求5所述的一种大型应用***的数据库可横向扩展方法,其特征在于,访问程序执行过程中,在获取应访问的数据库时,基于上下文数据中包含的维度信息列表,通过对数据路由映射关系中的维度值集合进行查找匹配,从而获取到特定的数据源标识,完成访问。
CN201610595003.3A 2016-07-26 2016-07-26 一种大型应用***的数据库可横向扩展方法 Pending CN106202540A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610595003.3A CN106202540A (zh) 2016-07-26 2016-07-26 一种大型应用***的数据库可横向扩展方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610595003.3A CN106202540A (zh) 2016-07-26 2016-07-26 一种大型应用***的数据库可横向扩展方法

Publications (1)

Publication Number Publication Date
CN106202540A true CN106202540A (zh) 2016-12-07

Family

ID=57495903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610595003.3A Pending CN106202540A (zh) 2016-07-26 2016-07-26 一种大型应用***的数据库可横向扩展方法

Country Status (1)

Country Link
CN (1) CN106202540A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682173A (zh) * 2016-12-28 2017-05-17 华南理工大学 一种社保大数据olap预处理方法及在线分析查询方法
WO2019097362A1 (en) * 2017-11-17 2019-05-23 International Business Machines Corporation Automatically connecting external data to business analytics process
CN110661684A (zh) * 2019-09-29 2020-01-07 北京浪潮数据技术有限公司 流量统计方法及装置
CN110765190A (zh) * 2019-09-30 2020-02-07 北京淇瑀信息科技有限公司 一种数据库集群自动扩容的方法、装置和电子设备
WO2021197432A1 (zh) * 2020-04-02 2021-10-07 北京京东振世信息技术有限公司 一种数据库集群的路由方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462421A (zh) * 2014-12-12 2015-03-25 中国科学院声学研究所 基于键-值数据库的多租户扩展方法
CN105138638A (zh) * 2015-08-24 2015-12-09 浪潮通用软件有限公司 一种基于应用层的数据库分布方法
CN105677915A (zh) * 2016-02-29 2016-06-15 浪潮通用软件有限公司 一种基于引擎的分布式业务数据存取方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462421A (zh) * 2014-12-12 2015-03-25 中国科学院声学研究所 基于键-值数据库的多租户扩展方法
CN105138638A (zh) * 2015-08-24 2015-12-09 浪潮通用软件有限公司 一种基于应用层的数据库分布方法
CN105677915A (zh) * 2016-02-29 2016-06-15 浪潮通用软件有限公司 一种基于引擎的分布式业务数据存取方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682173A (zh) * 2016-12-28 2017-05-17 华南理工大学 一种社保大数据olap预处理方法及在线分析查询方法
CN106682173B (zh) * 2016-12-28 2019-10-18 华南理工大学 一种社保大数据olap预处理方法及在线分析查询方法
WO2019097362A1 (en) * 2017-11-17 2019-05-23 International Business Machines Corporation Automatically connecting external data to business analytics process
GB2581917A (en) * 2017-11-17 2020-09-02 Ibm Automatically connecting external data to business analytics process
US10956420B2 (en) 2017-11-17 2021-03-23 International Business Machines Corporation Automatically connecting external data to business analytics process
US11188536B2 (en) 2017-11-17 2021-11-30 International Business Machines Corporation Automatically connecting external data to business analytics process
CN110661684A (zh) * 2019-09-29 2020-01-07 北京浪潮数据技术有限公司 流量统计方法及装置
CN110765190A (zh) * 2019-09-30 2020-02-07 北京淇瑀信息科技有限公司 一种数据库集群自动扩容的方法、装置和电子设备
CN110765190B (zh) * 2019-09-30 2023-09-26 北京淇瑀信息科技有限公司 一种数据库集群自动扩容的方法、装置和电子设备
WO2021197432A1 (zh) * 2020-04-02 2021-10-07 北京京东振世信息技术有限公司 一种数据库集群的路由方法和装置

Similar Documents

Publication Publication Date Title
CN106202540A (zh) 一种大型应用***的数据库可横向扩展方法
US9081837B2 (en) Scoped database connections
Aboutorabiª et al. Performance evaluation of SQL and MongoDB databases for big e-commerce data
CN106934014B (zh) 一种基于Hadoop的网络数据挖掘与分析平台及其方法
JP5856618B2 (ja) 地理空間データベース統合方法、およびデバイス
US8943059B2 (en) Systems and methods for merging source records in accordance with survivorship rules
WO2012012968A1 (zh) 一种分布式并行数据库***的数据分区方法
US20120278313A1 (en) Scalable rendering of large spatial databases
US10877995B2 (en) Building a distributed dwarf cube using mapreduce technique
CN110597870A (zh) 一种企业关系挖掘方法
CN103412897A (zh) 一种基于分布式结构的并行数据处理方法
US20140074774A1 (en) Distributed data base system and data structure for distributed data base
CN102521225A (zh) 增量数据抽取装置和增量数据抽取方法
CN107423390B (zh) 一种基于oltp-olap混合关系型数据库***内部的数据实时同步方法
CN112084182A (zh) 一种用于数据集市和数据仓库的数据建模方法
US20150169656A1 (en) Distributed database system
CN107704597A (zh) 关系型数据库至Hive的ETL脚本创建方法
CN113377758A (zh) 一种数据质量稽核引擎及其稽核方法
Kandt et al. Regional surnames and genetic structure in Great Britain
CN114022188A (zh) 目标人群圈选方法、装置、设备以及存储介质
Yin et al. A MySQL-Based Software System of Urban Land Planning Database of Shanghai in China.
Cigánek Design and implementation of open-data data warehouse
CN111552730A (zh) 数据分发方法、装置、电子设备、存储介质
CN110941662A (zh) 科研合作关系的图示化方法、***、存储介质、及终端
CN101036140A (zh) 产生分析数据结构的自定义等级体系的***和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161207