CN112163029A - 一种虚拟数据库系统及查询方法 - Google Patents
一种虚拟数据库系统及查询方法 Download PDFInfo
- Publication number
- CN112163029A CN112163029A CN202011177896.2A CN202011177896A CN112163029A CN 112163029 A CN112163029 A CN 112163029A CN 202011177896 A CN202011177896 A CN 202011177896A CN 112163029 A CN112163029 A CN 112163029A
- Authority
- CN
- China
- Prior art keywords
- layer
- sql
- distributed service
- database system
- access
- 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
Links
Images
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/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种虚拟数据库系统及查询方法,其包括用于提交SQL代码实现业务需求的客户端层、接收SQL代码并认证的接入层、解析SQL代码的分布式服务层、执行SQL代码请求的储层计算层和用于储存实际物理数据的元数据库,所述的客户端层与接入层连接,接入层与分布式服务层连接,分布式服务层与储层计算层、元数据库连接。本发明屏蔽了物理数据库底层使用,只要写统一的SQL,就可以进行异构跨库的查询和混算,可以让开发人员专注于业务逻辑开发,无需关心各种数据库底层使用方法。
Description
技术领域
本发明属于虚拟数据库技术领域,具体涉及一种拟数据库系统及查询方法。
背景技术
虚拟数据库是指可以屏蔽实际物理数据库的使用细节,用户只需要通过统一的SQL语言,就可以实现跨异构数据库的查询和混算。一方面可以大大降低技术开发的难度,另一方面还可以提供数据服务、数据管理、数据工具、数据开发等基础支持,可支撑更加敏捷和灵活的数据应用架构和逻辑数仓架构。
随着大数据技术在企业应用日益广泛,以及越来越多数据库系统的出现解决各种不同的场景问题,基于全景数据的快速查询计算成为了迫切的需求和挑战。目前的主流方式是建立以Hadoop为核心的数据仓库/数据湖,某种程度上解决了异构数据系统及数据分散的问题,但依然有数据归集带来的维护成本和时效损失问题。另外数据开发人员也面临着业务频繁变更和结果快速交付的问题。基于此,本发明设计了一种虚拟数据库系统及查询方法实现方式用于解决以上的问题。
发明内容
有鉴于此,本发明提出一种拟数据库系统及查询方法,用于屏蔽底层数据库的使用,采取统一SQL语言实现跨异构的数据库查询和混算。
为了达到目的,本发明提供的技术方案为:
本发明涉及一种虚拟数据库系统,其包括用于提交SQL代码实现业务需求的客户端层、接收SQL代码并认证的接入层、解析SQL代码的分布式服务层、执行SQL代码请求的储层计算层和用于储存实际物理数据的元数据库,所述的客户端层与接入层连接,接入层与分布式服务层连接,分布式服务层与储层计算层、元数据库连接。
优选地,所述的客户端层包括rest api、jdbc和cli。
优选地,所述的接入层的接入协议包括http协议、tcp协议和thrift协议。
优选地,所述的分布式服务层包括master模块、slave模块和app模块,master模块与slave模块连接,slave模块与app模块连接。
一种虚拟数据库系统的查询方法,其包括以下步骤:
(1)终端用户通过客户端层提交SQL代码实现业务请求;
(2)接入层接收客户端层提交过来的SQL代码并且进行用户登录认证以及权限校验后提交到分布式服务层;
(3)分布式服务层接收接入层的请求,并通过解析SQL,从元数据库中提取出SQL元信息,找到SQL对应的实际物理数据库;
(4)把请求调度到存储计算层,找到物理数据库上进行SQL的实际执行。
优选地,步骤(1)中的提交SQL代码可通过以下方式中的一种:
(1.1)以restful api的方式提供SQL代码提交;
(1.2)提供jdbc驱动,使用jdbc编程进行SQL代码的提交;
(1.3)通过cli实现SQL代码的提交。
优选地,所述的接入层通过http协议、tcp协议和thrift协议中的其中一种协议接入请求。
优选地,分布式服务层的具体步骤包括:
(4.1)master之间通过第三方协同中间件做高可用;
(4.2)master接收客户的请求后,把请求调度到合适的slave上;
(4.3)slave向master注册信息,进行SQL解析,并从元数据库提取SQL元信息,然后负责启动app,最后app把SQL提交到存储计算层进行执行,返回执行结果。
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
1、本发明做到了屏蔽物理数据库底层使用,只要写统一的SQL,就可以进行异构跨库的查询和混算,可以让开发人员专注于业务逻辑开发,无需关心各种数据库底层使用方法。
2、查询服务化:本发明提供多种查询接口,将异构的数据库资源变成一种查询服务,终端用户可以自助进行物理数据库或者表的挂载并进行编写SQL实现查询需求,只需要关心业务逻辑,而不用关心底层数据库的实现和使用细节。
3、数据虚拟化:本发明提供虚拟表到物理表之间的映射,终端用户无需关心数据的物理存放位置和底层数据库的特性即可操作数据,体验类似操作一个虚拟数据库。
4、统一入口:本发明通过统一查询语言、统一元数据服务、统一权限控制三面全面降低多数据库系统的学习成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的系统框图;
图2是本发明中分布式服务层的结构框图。
具体实施方式
为进一步了解本发明的内容,结合实施例对本发明作详细描述,以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例1
参照图1和图2所示,本实施例涉及一种虚拟数据库系统,其包括用于提交SQL代码实现业务需求的客户端层、接收SQL代码并认证的接入层、解析SQL代码的分布式服务层、执行SQL代码请求的储层计算层和用于储存实际物理数据的元数据库,所述的客户端层与接入层连接,接入层与分布式服务层连接,分布式服务层与储层计算层、元数据库连接。
所述的客户端层包括rest api、jdbc和cli。jdbc表示Java数据库连接,cli表示命令行界面。
所述的接入层的接入协议包括http协议、tcp协议和thrift协议。
所述的分布式服务层包括master模块、slave模块和app模块,master模块与slave模块连接,slave模块与app模块连接。
实施例2
参照图1和图2所示,本实施例涉及一种虚拟数据库系统的查询方法,其包括以下步骤:
(1)终端用户通过客户端层提交SQL代码实现业务请求;
(2)接入层接收客户端层提交过来的SQL代码并且进行用户登录认证以及权限校验后提交到分布式服务层;
(3)分布式服务层接收接入层的请求,并通过解析SQL,从元数据库中提取出SQL元信息,找到SQL对应的实际物理数据库;
(4)把请求调度到存储计算层,找到物理数据库上进行SQL的实际执行。
优选地,步骤(1)中的提交SQL代码可通过以下方式中的一种:
(1.1)以restful api的方式提供SQL代码提交;
(1.2)提供jdbc驱动,使用jdbc编程进行SQL代码的提交;
(1.3)通过cli实现SQL代码的提交。
优选地,所述的接入层通过http协议、tcp协议和thrift协议中的其中一种协议接入请求。
优选地,分布式服务层的具体步骤包括:
(4.1)master之间通过第三方协同中间件做高可用;
(4.2)master接收客户的请求后,把请求调度到合适的slave上;
(4.3)slave向master注册信息,进行SQL解析,并从元数据库提取SQL元信息,然后负责启动app,最后app把SQL提交到存储计算层进行执行,返回执行结果。
本发明做到了屏蔽物理数据库底层使用,只要写统一的SQL,就可以进行异构跨库的查询和混算,可以让开发人员专注于业务逻辑开发,无需关心各种数据库底层使用方法。
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方案,实际的结构并不局限于此。所以本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
Claims (8)
1.一种虚拟数据库系统,其特征在于,其包括用于提交SQL代码实现业务需求的客户端层、接收SQL代码并认证的接入层、解析SQL代码的分布式服务层、执行SQL代码请求的储层计算层和用于储存实际物理数据的元数据库,所述的客户端层与接入层连接,接入层与分布式服务层连接,分布式服务层与储层计算层、元数据库连接。
2.根据权利要求1所述的虚拟数据库系统,其特征在于,所述的客户端层包括restapi、jdbc和cli。
3.根据权利要求1所述的虚拟数据库系统,其特征在于,所述的接入层的接入协议包括http协议、tcp协议和thrift协议。
4.根据权利要求1所述的虚拟数据库系统,其特征在于,所述的分布式服务层包括master模块、slave模块和app模块,master模块与slave模块连接,slave模块与app模块连接。
5.一种虚拟数据库系统的查询方法,其特征在于,其包括以下步骤:
终端用户通过客户端层提交SQL代码实现业务请求;
接入层接收客户端层提交过来的SQL代码并且进行用户登录认证以及权限校验后提交到分布式服务层;
分布式服务层接收接入层的请求,并通过解析SQL,从元数据库中提取出SQL元信息,找到SQL对应的实际物理数据库;
把请求调度到存储计算层,找到物理数据库上进行SQL的实际执行。
6.根据权利要求5所述的虚拟数据库系统的查询方法,其特征在于,步骤(1)中的提交SQL代码可通过以下方式中的一种: (1.1)以restful api的方式提供SQL代码提交; (1.2)提供jdbc驱动,使用jdbc编程进行SQL代码的提交; (1.3)通过cli实现SQL代码的提交。
7.根据权利要求5所述的虚拟数据库系统的查询方法,其特征在于,所述的接入层通过http协议、tcp协议和thrift协议中的其中一种协议接入请求。
8.根据权利要求5所述的虚拟数据库系统的查询方法,其特征在于,分布式服务层的具体步骤包括:
(4.1)master之间通过第三方协同中间件做高可用;
(4.2)master接收客户的请求后,把请求调度到合适的slave上;
(4.3)slave向master注册信息,进行SQL解析,并从元数据库提取SQL元信息,然后负责启动app,最后app把SQL提交到存储计算层进行执行,返回执行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011177896.2A CN112163029A (zh) | 2020-10-29 | 2020-10-29 | 一种虚拟数据库系统及查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011177896.2A CN112163029A (zh) | 2020-10-29 | 2020-10-29 | 一种虚拟数据库系统及查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112163029A true CN112163029A (zh) | 2021-01-01 |
Family
ID=73865034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011177896.2A Pending CN112163029A (zh) | 2020-10-29 | 2020-10-29 | 一种虚拟数据库系统及查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112163029A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756577A (zh) * | 2022-03-25 | 2022-07-15 | 北京友友天宇系统技术有限公司 | 多源异构数据的处理方法、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508898A (zh) * | 2011-11-04 | 2012-06-20 | 浪潮(北京)电子信息产业有限公司 | 一种基于云计算的数据访问方法和数据库系统 |
CN103092873A (zh) * | 2011-11-01 | 2013-05-08 | 镇江华扬信息科技有限公司 | 一种基于XML和Web Service技术的异构数据库集成方法 |
CN104008135A (zh) * | 2014-05-07 | 2014-08-27 | 南京邮电大学 | 一种多源异构数据库融合系统及其数据查询方法 |
-
2020
- 2020-10-29 CN CN202011177896.2A patent/CN112163029A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092873A (zh) * | 2011-11-01 | 2013-05-08 | 镇江华扬信息科技有限公司 | 一种基于XML和Web Service技术的异构数据库集成方法 |
CN102508898A (zh) * | 2011-11-04 | 2012-06-20 | 浪潮(北京)电子信息产业有限公司 | 一种基于云计算的数据访问方法和数据库系统 |
CN104008135A (zh) * | 2014-05-07 | 2014-08-27 | 南京邮电大学 | 一种多源异构数据库融合系统及其数据查询方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756577A (zh) * | 2022-03-25 | 2022-07-15 | 北京友友天宇系统技术有限公司 | 多源异构数据的处理方法、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10664487B2 (en) | Multi-tenancy for structured query language (SQL) and non structured query language (NoSQL) databases | |
US10970277B2 (en) | System and method for dynamic conversion of database accessing scripts during runtime in a mainframe rehosting platform | |
US20200073987A1 (en) | Technologies for runtime selection of query execution engines | |
US8346747B2 (en) | Extending database tables in a multi-tenant environment | |
WO2018052907A1 (en) | Data serialization in a distributed event processing system | |
US8645502B2 (en) | Dynamic interface to read database through remote procedure call | |
US20150149985A1 (en) | Testing of inactive design-time artifacts | |
US20130132372A1 (en) | Systems and methods for dynamic service integration | |
KR20140112427A (ko) | 아파치 하둡을 위한 로우 레이턴시 쿼리 엔진 | |
US8656056B2 (en) | Web-enabled mainframe | |
CN111488143A (zh) | 一种基于Springboot2代码自动生成装置和方法 | |
CN111949693B (zh) | 一种数据处理装置、数据处理方法、存储介质及电子设备 | |
CN102254021A (zh) | 基于虚拟机管理系统的数据库构建方法 | |
WO2020220717A1 (zh) | 一种解耦合的弹性数据仓库架构 | |
US12026653B2 (en) | Database system and method for carbon footprint optimization | |
CN104252501A (zh) | 一种执行数据库操作命令的计算设备和方法 | |
CN113254519B (zh) | 多源异构数据库的访问方法、装置、设备和存储介质 | |
WO2024060956A1 (zh) | 一种混合数据库管理方法、装置、混合数据库及电子设备 | |
CN103838781A (zh) | 数据库访问方法及系统 | |
WO2024016850A1 (zh) | 处理数据冲突的方法、系统、电子设备及计算机可读存储介质 | |
US11106670B2 (en) | Local identifiers for database objects | |
CN112163029A (zh) | 一种虚拟数据库系统及查询方法 | |
US10291746B2 (en) | Context switch of database connections | |
CN109460416B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US11106667B1 (en) | Transactional scanning of portions of a database |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210101 |
|
RJ01 | Rejection of invention patent application after publication |