GB2551757A - Database extensibility - Google Patents

Database extensibility Download PDF

Info

Publication number
GB2551757A
GB2551757A GB1611299.7A GB201611299A GB2551757A GB 2551757 A GB2551757 A GB 2551757A GB 201611299 A GB201611299 A GB 201611299A GB 2551757 A GB2551757 A GB 2551757A
Authority
GB
United Kingdom
Prior art keywords
database
extended
access
access device
query
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.)
Withdrawn
Application number
GB1611299.7A
Other versions
GB201611299D0 (en
Inventor
Hyde James
Bennett Jonathan
lloyd Kevin
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.)
Fleetcor Europe Ltd
Original Assignee
Fleetcor Europe 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 Fleetcor Europe Ltd filed Critical Fleetcor Europe Ltd
Priority to GB1611299.7A priority Critical patent/GB2551757A/en
Publication of GB201611299D0 publication Critical patent/GB201611299D0/en
Publication of GB2551757A publication Critical patent/GB2551757A/en
Withdrawn 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/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • 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
    • 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/24Querying
    • G06F16/245Query processing

Abstract

A method for handling access to a database service hosted by a database server is provided. A database access device 120 is in communication with a first database server 130 providing a first database 132, and a first client access device 110a. The database server 130 supports both conventional access queries and extended access queries. A second client access device 110b is in communication with the database access device 120 for the first database service and thus is in communication with the first database server 130. One or more database access queries is received from the external source 110a, 110b at the database access device 120; and based on the received query, the database access device 120 provides an extended service response in response to the external source. Requests received at the database access device 120 which contain one or more extended access queries which are not supported by the first database 132 based on a register of extended database functionality are blocked.

Description

(54) Title of the Invention: Database extensibility Abstract Title: Database extensibility (57) A method for handling access to a database service hosted by a database server is provided. A database access device 120 is in communication with a first database server 130 providing a first database 132, and a first client access device 110a. The database server 130 supports both conventional access queries and extended access queries. A second client access device 110b is in communication with the database access device 120 for the first database service and thus is in communication with the first database server 130. One or more database access queries is received from the external source 110a, 110b at the database access device 120; and based on the received query, the database access device 120 provides an extended service response in response to the external source. Requests received at the database access device 120 which contain one or more extended access queries which are not supported by the first database 132 based on a register of extended database functionality are blocked.
Figure GB2551757A_D0001
Fig. 1 /3
Figure GB2551757A_D0002
ο ο
Fig. 1
2/3
Figure GB2551757A_D0003
Fig. 2
3/3 ο
ο
Figure GB2551757A_D0004
Fig. 3
Database Extensibility
Field of Disclosure [0001] The present disclosure relates to the provision of a database service, in particular the provision of database service which provides extended capabilities.
Background [0002] Database services traditionally support the sharing of data across multiple sites (“sharing in space”) in a one-to-one or one-to-multiple sharing arrangement whereby data is replicated from one master database server to another individual database server or multiple individual database servers. Data changes in one database ripple across to the other databases in the system shortly after the changes have occurred. The configuration of the databases in a particular shared database system must be broadly similar such that the same data can be shared accurately between two databases. This means that the same database schema has to be utilised for all of the databases. In the shared system.
[0003] This causes problems for database systems which require local database servers to have extended capability since individual database servers must conform to the database service of the overall system whilst also providing custom services which are individual to the particular database server. This can lead to compatibility problems for processing extended database queries which may or may not be supported by different individual databases. This problem is compounded when different organisations control the various database servers, such that, for example, the organisation controlling the database service at one level may not have direct control over the individual site databases which could each be individually controlled by different organisations.
[0004] It is desirable to reduce the database compatibility issues that arise as a result of the above problems, in particular when desiring to provide extended capability for individual databases.
Summary of the Disclosure [0005] The invention of the present disclosure aims to solve the aforementioned problems and is defined in the appendant claims. The invention is also summarised below according to various embodiments.
[0006] In a first aspect of the present disclosure, there is provided a method for handling access to a database service hosted by a database server, comprising:
(i) providing a database access device in communication with the database server, the database server supporting both conventional access queries and extended access queries;
(ii) receiving one or more database access queries from an external source at the database access device; and (iii) based on a received query, the database access device providing an extended service response in response to the external source.
[0007] The database service may be a shared database service of a database system. There may be a plurality of database servers within the database system, each with an associated database access device. Each database server may have its own uniquely associated database access device. There may be two or more database servers of the plurality of database servers, for example a first and a second database server, and the first database server may have an associated database access device. There may be two client access devices both of which can communicate with the database access device and send queries thereto, and both of which can communicate directly with the second database server. The first client access device may be configured to send a conventional access query receivable by the database access device and the second database server. The first client access device may be further configured to generate and send one or more extended access queries and send it to the database access device. The second client access device may also be configured to send a conventional access query receivable by the database access device and the second database server. The second client access device may also be configured to send a further access query which is not conventional and which cannot be processed by the first database server. Such a first access query can be received by the database access device which then determines that it can neither be processed by the first database server nor reformatted to be processed by the first processing; as such it is rejected by sending a rejection notification to the second client access device.
[0008] Step (iii) may comprise processing the received query by the database access device, and determining that the received query comprises an extended access query and sending the extended access query to the database server in a form which is supported by the database server for interpreting the extended access query.
[0009] The database service may comprise conventional database store procedures and extended store procedures.
[0010] Step (iii) may further comprise the database access device reformatting the extended access query into a form supported by the extended store procedure of the database service and sending the reformatted extended access query to the database server.
[0011] Step (iii) may further comprise the database server receiving the extended access query, processing it according to the extended store procedure and responding with the extended service response.
[0012] The method may further comprise step (ii-a) determining via the database access device whether the database service has the capability to respond to the extended access query.
[0013] Step (ii-a) may comprise sending an extended service capability request to the database server to query the capability of the database server provisioned by the database server.
[0014] The method may further comprise step (ii-b) receiving the extended service capability request at the database server and determining whether extended capability of the database service is present.
[0015] The step of determining in step (ii-b) may comprise, if extended capability of the database is present, responding with an extended database capability indicator to the database access device.
[0016] The extended database capability indicator may be an indicator of the type of extended capability provisioned by the database server.
[0017] The method may further comprise using the extended database capability indicator to identify the form of the extended database access query supported by the database service of the database server for the database access query prior to reformatting.
[0018] The method may further comprise storing the extended database capability indicator in an extensibility register accessible to the database access device.
[0019] The method may further comprise receiving a further database access query for the database service hosted by the database server and querying the extensibility register to identify the form of the extended database access query supported by the database service of the database server for the further database access query prior to reformatting by the database access device and sending to the database server.
[0020] In a second aspect of the present disclosure, there is provided a computer readable medium comprising computer executable instructions which, when executed by a processor, cause the processor to perform the steps of the aforementioned method.
[0021] In a third aspect of the present disclosure, there is provided a computing device comprising a processor in communication with the aforementioned computer readable medium, wherein the processor is configured to execute the executable instructions to perform the method.
[0022] In a fifth aspect, there is provided a database access device comprising processing circuitry configured to:
(i) be in communication with a database server which supports both conventional access queries and extended access queries;
(ii) receive one or more database access queries from an external source at the database access device; and (iii) based on a received query, the database access device providing an extended service response in response to the external source.
[0023] In a sixth aspect of the present disclosure, there is provided a client access device being the aforementioned external source and configured to access a database service by sending an extended access query to the aforementioned database access device and receive an extended service response therefrom.
[0024] In a seventh aspect of the present disclosure, there is provided a database access device comprising the aforementioned computing device.
[0025] In an eighth aspect of the present disclosure, there is provided a database server configured to receive an extended access query from the aforementioned database access device and provide an extended service response thereto. The database server can be provisioned to host a database as set out above. The database service may comprise a conventional database schema and data, and further comprises an extended store procedure responsive to the extended access query.
[0026] In ninth aspect of the present disclosure, there is provided a system 20 comprising:
an external source, for example a client access device;
the aforementioned database access device; and the database server device in communication with the database access device.
Brief Description of Drawings [0027] The present invention is described in exemplary embodiments below with reference to the accompanying drawings in which:
[0028] Fig. 1 is a representation of a database system according one embodiment 5 of the present disclosure;
[0029] Fig. 2 is a representation of components forming the system of Fig. 1;
[0030] Fig. 3 is a representation of database content utilised according to the systems of Fig. 1.
io Detailed Disclosure [0031] Referring to Fig. 1, a database system 100 implemented according to one embodiment of this disclosure is described. It will be appreciated that the depicted embodiment is only one example of how the invention may be implemented.
[0032] The system 100 comprises a first client access device 110a. The first client access device 110a is in communication with a database access device 120 which itself is in communication a first database server 130 providing a first database 132.
[0033] The system 100 also comprises a second client access device 110b. The second client access device 110b is in communication directly with database server 140 providing a second database 142, for which there is no associated database access device provisioned therefor. The second client access device 110b is also in communication with the database access device 120 for the first database service and thus is in communication with the first database server 130 including first database 132.
[0034] The client access devices 110a, 110b may each be a standalone data input device configured to read, write, update and configure the data in the databases 132,
142 including the data content and configuration and/or database schema. The client access device 110a, 110b may be a server or client computer under direct control of the database administrator or user and thereby be configured with user or administrator access rights for he database.
[0035] Communication between the client access device 110a, 110b, the database access device 120 and the plurality of database servers 130, 140 takes place over at least one, or more than one communication network 160a, 160b, 160c, such as one or more packet switched communication networks. The network(s) may be formed on one or more local area or wide area networks, such as the Internet. The network may be former by wired or wireless connections using one or a combination of standards, such as TCP/IP, Ethernet 802.X, 3G, HSDPA, LTE etc.
[0036] The database servers 130, 140 can each be provisioned and defined by the particular schema of the database adopted. Each database 132, 142 of the system 100 can have a database of the same or similar versions in terms of configuration and/or schema so that they can each be accessed by any one of the first or second client access devices 110a, 110b, so long as suitable access rights exist between the client access device 110a, 110b and the database server 130, 140.
[0037] The first client access device 110a is configured to send one or more requests (access queries) which can include one or more conventional access queries supported by both databases 132, 142, and one or more extended access queries which are each based on the additional functionality (database extensions) supported by the first database 132, but not supported by the second database 140. The second client access device 110b is configured such that it can send one or more conventional access requests which are supported by both the first database 132 and second database 142, but cannot send requests for additional functionality (extended access queries) to the first database 132. The first client access device 110a is configured to send additionally The database access device 120 interprets the requests from the various client access devices 110a, 110b and formats the request appropriately so that the extended access query can be sent if needed, i.e. if the request from the first database access device 110a contains such an extended access query it is sent, or reformatted and sent. Requests received at the database access device 120 which contain one or more extended access queries which are not supported by the first database 132 based on a register of extended database functionality are blocked. Extended access queries which are received at the database access device 120 and which are supported by the associate first database 132 can be sent on as received or reformatted in a way which is acceptable for the first database 132, e.g. using an extendable query syntax which is receivable and interpretable by the first database 132 for processing and responding to the extended access query.
[0038] The database access device 120 maintains a database configuration register which identifies each database 132 according to its configuration and schema, and significantly whether any additional functionality is provided as a result of the schema or individual server site control configuration contained therein. In the embodiment of Fig. 1, redirection and control of data access to/from or between the client access device 110a, 110b and database servers 130 is performed by the database access device 120. The client access device 110a, 110b sends its data and requests (both conventional access queries, and if supported, extended access queries) for data to the database access device 120, which then determines whether custom requests need to be performed for the individual database server 130 to which the access device 120 is connected. This determination comprises performing a lookup in memory ofthe database access device 120 as to which functionality, e.g. database schema and/or site control functionality is present for the database server being accessed. Additionally, each client access 110a, 110b can be configured to send a prerequest query as to the functionality of the associated database, such that the database access device 120 checks in its register whether any extended functionality of the database 132 exists, and if so, responds to the client access device 110a with an functionality response message indicative ofthe extended functionality ofthe database 132. The client access device 110a can then determine whether to send an extended access query to the database access device.
[0039] With reference to Fig. 2, each of the client access devices 110a, 110b, database servers 130, 140 and database access device 120, are formed in a similar way based on similar components, with each including memory 301, processing circuitry 302 and input-output interface 303. The memory 301 may be one or more of a combination of read access memory, such as, for example: flash (SDD), DRAM, hard disk (HDD). Such memory 301 may be mirrored for backup purposes, e.g. via RAID. The memory 301 is connected via a data bus 310 to the processing circuitry 302. The memory 301 can store computer executable instructions in the form of a non-transitory computer program which can be obtained by the processing circuitry and executed to perform the functionality of the server or user equipment in accordance with the present disclosure. In the case of the database servers 130, 140, the memory 301 is additionally configured to store data for the databases, including both database content and database schema and extensibility configuration information, such custom site control configuration.
[0040] The input-output interface 303 may comprise one or more of: a network interface for communication of the server or device with the at least one communication network 160a, 160b, 160c, data/user interface input means (not shown) for inputting data into the server or client access device directly, e.g. keyboard, pointing device or touch sensitive interface, such as touch display, and optionally display screen (not shown) for outputting data directly from the device.
[0041] The processing circuitry 302 is connected for bidirectional communication via internal bus 311 with the input-output interface 303, such that data obtained from the memory 301 can be processed and output externally, e.g. to the at least one communication network 160a, 160b, 160c or connected display screen of the server or client access device. Input can be received into the server or device via the inputoutput interface, e.g. from the data/user interface input means, can thereby be processed by the server or device and stored in the memory 301.
[0042] In an alternative embodiment, the functionality of the database access device 120 can be integrated with its associated server 130. For example, the device may be an executable module based on the same hardware as the server, and being executed alongside the database server 132. Thus, references in this disclosure to “client access device” include an executable module which may be integrated with modules providing the functionality of the database server 130.
[0043] The processing circuitry 302 may be formed of one or more processors each of which or together (e.g. in a pipelined parallel architecture) executes the executable instructions to perform the relevant functions of the server or UE device.
The executable instructions thereby provide the database server functionality for obtaining from the memory 301, and also storing therein, database content and database schema and extensibility configuration data in the databases 130, 150. The processing circuitry 302 is configured to access and store the content data in the memory according to a defined configuration of the database which defines the database schema and/or the extensibility configuration data.
[0044] The database schema and data content is described in more detail with reference to Fig. 3. The data 400 stored in each of the databases, namely the databases 132, 142, can be split into two types of data content, namely master data 401, and local (extension) data 402. In addition, each database has a defined database schema 405 which is permitted according to the configuration of the database. The database schema 405 defines the structure of the database 400 and may be custom to each individual database 132, 142, in that it stores data which characterises the way in which the master data 401 and local data 402, are stored in the database 400. In essence, in one embodiment, this means that the schema 405 data defines one or more of the following features for the database 400: database tables, fields, database columns; and/or data types for the fields and/or columns. The custom schema may have common components with other databases, e.g. the schema of database 132 may have common elements with database 142 since the databases are similar. The master data 401 may also be common between the two or more databases 132, 142. The extended capability and functionality of the database 400 may be provided by extended store procedure configuration data 403 in conjunction with the custom schema 405 and local data 402. The extended store procedure 403 contains data which configures the database when provisioned on its server 130 to provide extended database responses in response to extended access queries received from database access query device 120. The extended store procedure 403 contains custom data which can configure the database 400 to process the master data 401 and local data 402 uniquely in a custom way for the database 400.
[0045] For example, database 400 may be unique in this respect by being the first database 132, and including:
• a schema 405 which comprises the schema of the second database 142 and additionally unique extensions to that schema;
• local data 402 which is unique to the first database 132 vis-a-vis the second database 142; and • custom store procedure 403 which is unique to the first database 132 vis-a-vis the second database 142.
[0046] The local data 403 which can be present in the databases 132, 142 is data which is typically stored only locally within its server. This does not mean necessarily that the data is unique to its database in the sense that it is not stored in any other database, but it is data which is not shared across the other databases, unlike the master data 401 which is provisioned by the database service itself. In contrast, this local data 403 is data which is directly input or generated by the custom stored procedure where present, for example in database 142 [0047] The master data 401 and local data 403 are all stored according to schema 405 which can be one of a plurality of different schemas for the database system 100 as permitted by the database system 100. Each database 132 and 142 can have different schemas and thus different configurations, as explained in further detail below, but there are at least common schema components in schema 405 of both databases 132, 142 according to the database system 100. The upgrading of database schemas may happen locally on the database 132, 142.
[0048] The functionality of the present disclosure according to the above embodiments can be summarised as follows. The first database 132 supports both conventional access queries and extended access queries. The database access device 120 receives one or more database access queries from either one of the client access devices 110a, 110b. The one or more access queries may be of the form of one or more of a conventional or extended access query. Based on the form of the received query from the devices 110a, 110b, the database access device 120 provides an extended service response to the client access device 110a, 110b which sent the query. This response is provided based on sending a further query to the first database 132 and receiving a response thereto which is provided in response to the client access device 110a, 110b which sent the query.
[0049] It will be appreciated that the invention of the present disclosure has been described above by way of example only, and that modifications may be made within the scope of the general disclosure in accordance with the invention defined by the independent claims.

Claims (17)

Claims
1. A method for handling access to a database service hosted by a database server, comprising:
(i) providing a database access device in communication with the database server, the database server supporting both conventional access queries and extended access queries;
(ii) receiving one or more database access queries from an external source at the database access device; and (iii) based on a received query, the database access device providing an extended service response in response to the external source.
2. The method of claim 1, wherein step (iii) comprises processing the received query by the database access device, and determining that the received query comprises an extended access query and sending the extended access query to the database server in a form which is supported by the database server for interpreting the extended access query.
3. The method of claim 2, wherein the database service comprises conventional database store procedures and extended store procedures.
4. The method of claim 3, wherein step (iii) further comprises the database access device reformatting the extended access query into a form supported by the extended store procedure of the database service and sending the reformatted extended access query to the database server.
5. The method of claim 4, wherein step (iii) further comprises the database server receiving the extended access query, processing it according to the extended store procedure and responding with the extended service response.
6. The method of any one of claims 2 to 5, further comprising step (ii-a) determining via the database access device whether the database service has the capability to respond to the extended access query.
7. The method of claim 6, wherein step (ii-a) comprises sending an extended service capability request to the database server to query the capability of the database server provisioned by the database server.
8. The method of claim 7, further comprising step (ii-b) receiving the extended service capability request at the database server and determining whether extended capability of the database service is present.
9. The method of claim 8, wherein the step of determining in step (ii-b) comprises, if extended capability of the database is present, responding with an extended database capability indicator to the database access device.
10. The method of claim 9, wherein the extended database capability indicator is an indicator of the type of extended capability provisioned by the database server.
11. The method of claim 10, further comprising using the extended database capability indicator to identify the form of the extended database access query supported by the database service of the database server for the database access query prior to reformatting.
12. The method of claim 11, further comprising storing the extended database capability indicator in an extensibility register accessible to the database access device.
13. The method of claim 12, further comprising receiving a further database access query for the database service hosted by the database server and querying the extensibility register to identify the form of the extended database access query supported by the database service of the database server for the further database access query prior to reformatting by the database access device and sending to the database server.
14. A computer readable medium comprising computer executable instructions which, when executed by a processor, cause the processor to perform the steps of the method of any one of the preceding claims.
15. A computing device comprising a processor in communication with the computer readable medium of claim 14, wherein the processor is configured to execute the executable instructions to perform the method.
16. A database access device comprising the computing device of claim 15.
17. A system comprising: an external source;
the database access device of claim 16; and
10 the database server device in communication with the database access device.
GB1611299.7A 2016-06-29 2016-06-29 Database extensibility Withdrawn GB2551757A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1611299.7A GB2551757A (en) 2016-06-29 2016-06-29 Database extensibility

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1611299.7A GB2551757A (en) 2016-06-29 2016-06-29 Database extensibility

Publications (2)

Publication Number Publication Date
GB201611299D0 GB201611299D0 (en) 2016-08-10
GB2551757A true GB2551757A (en) 2018-01-03

Family

ID=56891551

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1611299.7A Withdrawn GB2551757A (en) 2016-06-29 2016-06-29 Database extensibility

Country Status (1)

Country Link
GB (1) GB2551757A (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
GB201611299D0 (en) 2016-08-10

Similar Documents

Publication Publication Date Title
US11362923B2 (en) Techniques for infrastructure analysis of internet-based activity
US20140149537A1 (en) Distributed caching cluster management
US11223519B2 (en) Storage system for network information
US11283689B2 (en) Method for managing multiple servers and device employing method
US8793250B1 (en) Flexible partitioning of data
US9483523B2 (en) Information processing apparatus, distributed processing system, and distributed processing method
US10790862B2 (en) Cache index mapping
JP2015512076A (en) Computerized method, system, and computer program for mapping one or more dynamic visual objects of a network document
WO2023103338A1 (en) Data processing method and apparatus, and device and storage medium
WO2019127772A1 (en) Data dictionary display method and device, terminal device and storage medium
US10685019B2 (en) Secure query interface
CN111984712B (en) Information processing method, device and storage medium
US9588921B2 (en) System on a chip comprising an I/O steering engine
EP3107010B1 (en) Data integration pipeline
US20220276845A1 (en) Systems and methods for consistent feature flag evaluation
US10498696B2 (en) Applying a consistent hash to a distributed domain name server cache
CN111339560B (en) Data isolation method, device and system
US20190149511A1 (en) System and method for connecting using aliases
EP3264287A1 (en) Database extensibility
US9940342B2 (en) Stability measurement for federation engine
GB2551757A (en) Database extensibility
US20080250121A1 (en) Facilitating configuration of multiple instances of an application on a server cluster
US11892993B2 (en) Techniques for efficient compute resource harvesting
WO2020185316A1 (en) In-memory normalization of cached objects to reduce cache memory footprint
EP3264288A1 (en) Database configuration and replication

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)