Routine executing method in database system
Abstract
In a parallel database system having an execution device on a front end side (hereinafter referred to as the “front end side”) and a plurality of execution devices on a database operation side (hereinafter referred to as the “divided data side”), the front end side analyzes a definition statement of a routine such as a function or a procedure inputted from a user to create routine execution process instructions for executing the routine. Simultaneously, the front end side determines whether or not a database operation statement is contained in the routine, and creates check information indicative of the determination result. The front end side analyzes a query statement inputted from the user to create a first query execution precess instruction to be executed on the front end side and a second query execution process instruction to be executed on the divided data side. When the divided data side executes the query in accordance with the second query execution process instruction, a routine containing no database operation statement in the second query statement precess instruction is executed on the divided data side.
Claims
exact text as granted — not AI-modified1 . A routine executing method in a parallel database system comprising the steps of:
analyzing a query related to database processing in an analysis unit of said database system to create a first query execution process instruction program to be executed in a execution device on a front end side (hereinafter referred to as the “front end side”) of said database system, and a second query execution process instruction program to be executed by a plurality of execution devices on a database operation side (hereinafter referred to as the “divided data side”) of said database system for processing divided data; requesting said divided data side to execute said second query execution process instruction program; and executing, on said divided data side, a routine containing no database operation statement in said second query execution process instruction program in a routine execution unit of each said execution devices.
2 . A routine executing method according to claim 1 , further comprising the steps of:
analyzing a definition statement of a routine used in said query statement in said analysis unit to determine whether or not a database operation statement is contained in said routine, and store a determination result in an information storage unit as check information; and determining a routine containing no database operation statement in said second query execution process instruction program, based on said check information, in said step of executing on said divided data side.
3 . A routine executing method according to claim 2 , further comprising the steps of:
in said step of analyzing a definition statement of a routine, creating a routine execution process instruction program, with respect to said routine, and storing said routine execution process instruction program in said information storage unit; and in said step of executing on said divided data side, retrieving said routine execution process instruction program corresponding to said routine containing no database operation statement from said information storage unit and holding the same on said divided data side, when executing for the first time said routine containing no database operation statement in said second query execution process instruction program, and executing said routine containing no database operation statement using said held routine execution process instruction program in second and subsequent execution of said routine containing no database operation statement.
4 . A routine executing method according to claim 1 , wherein said divided data side requests said front end side to execute a routine containing a database operation statement in said second query execution process instruction program.
5 . A routine executing method according to claim 4 , wherein when a routine is further nested in said routine containing no database operation statement in said second query execution process instruction program,
said nested routine is executed in said routine execution unit on said divided data side if said nested routine does not contain a database operation statement; and execution of said nested routine is requested from said divided data side to said front end side if said nested routine contains a database operation statement.
6 . A routine executing method according to claim 5 , wherein said routine containing no database operation statement in said second query execution process instruction program is a function, and said nested routine is a function or a procedure.
7 . A parallel database system comprising:
a front end side including a definition statement analysis unit and a query statement analysis unit; a plurality of divided data sides connected to said front end side for distributively processing divided data in said database system, each said divided data side including a routine execution unit; and an information storage unit connected to said front end side; wherein said definition statement analysis unit analyzes a definition statement of a routine related to database processing to create a routine execution process instruction program, storing said routine execution process instruction program in said information storage unit, and determining whether or not a database operation statement is contained in said routine to store a determination result in said information storage unit as check information; said query statement analysis unit analyzes a query statement related to database processing to create a first query execution process instruction program to be executed on said front end side, and a second query execution process instruction program to be executed on each said divided data side; said front end side requests each said divided data side to execute said second query execution process instruction program; and said routine execution unit executes a routine containing no database operation statement in said second query execution process instruction program based on said check information.
8 . A parallel database system according to claim 7 , wherein each said divided data side retrieves said routine execution process instruction program corresponding to said routine containing no database operation statement from said information storage unit and holds the same on each said divided data side, when executing for the first time said routine containing no database operation statement in said second query execution process instruction program, and executes said routine containing no database operation statement using said held routine execution process instruction program in second and subsequent execution of said routine containing no database operation statement.
9 . A parallel database system according to claim 7 , wherein each said divided data side comprises a routine call unit for requesting from each said divided data side to said front end side to execute a routine containing a database operation statement in said second query execution process instruction program.
10 . A parallel database system according to claim 9 , wherein when a routine is further nested in said routine containing no database operation statement in said second query execution process instruction program,
said routine execution unit on each said divided data side executes said nested routine if said nested routine does not contain a database operation statement; and said routine call unit requests from each said divided data side to said front end side to execute said nested routine if said nested routine contains a database operation statement.
11 . A parallel database system comprising:
a front end server including a definition statement analysis unit and a query statement analysis unit; a plurality of database operation servers for distributively processing divided data in said database system, each of said database operation servers including a routine execution unit; an information storage unit connected to said front end server; and a network for interconnecting said front end server and said plurality of database operation servers, wherein said definition statement analysis unit analyzes a definition statement of a routine related to database processing to create a routine execution process instruction program, storing said routine execution process instruction program in said information storage unit, and determining whether or not a database operation statement is contained in said routine to store a determination result in said information storage unit as check information; said query statement analysis unit analyzes a query statement related to database processing to create a first query execution process instruction program to be executed in said front end server, and a second query execution process instruction program to be executed in each said database operation server; said front end side requests each said database operation servers to execute said second query execution process instruction program through said network; and said routine execution unit executes a routine containing no database operation statement in said second query execution process instruction program based on said check information.
12 . A parallel database system according to claim 11 , wherein each said database operation servers retrieves said routine execution process instruction program corresponding to said routine containing no database operation statement from said information storage unit and holds the same on each said database operation servers, when executing for the first time said routine containing no database operation statement in said second query execution process instruction program, and executes said routine containing no database operation statement using said held routine execution process instruction program in second and subsequent execution of said routine containing no database operation statement.
13 . A parallel database system according to claim 11 , wherein each said database operation server further includes a routine call unit for requesting from each said database operation servers to said front end server to execute a routine containing a database operation statement in said second query execution process instruction program.
14 . A parallel database system according to claim 13 , wherein when a routine is further nested in said routine containing no database operation statement in said second query execution process instruction program,
said routine execution unit in each said database operation server executes said nested routine if said nested routine does not contain a database operation statement; and said routine call unit requests from each said database operation servers to said front end server to execute said nested routine if said nested routine contains a database operation statement.
15 . A parallel database system according to claim 11 , wherein said information storage unit is connected to a dictionary server connected to said front end server through said network.
16 . A front end server in a parallel database system comprising:
a definition statement analysis unit; and a query statement analysis unit, wherein:
said front end server is connected to an information storage unit and also connected to a network connected to a plurality of database operation servers for distributively processing divided data in said database system;
said definition statement analysis unit analyzes a definition statement of a routine related to database processing to create a routine execution process instruction program, storing said routine execution process instruction program in said information storage unit, and determining whether or not a database operation statement is contained in said routine co store a determination result in said information storage unit as check information;
said query statement analysis unit analyzes a query statement related to database processing to create a first query execution process instruction program to be executed in said front end server, and a second query execution process instruction program to be executed in said database operation servers; and
said front end side server requests said database operation servers to execute said second query execution process instruction program through said network to have a routine execution unit of each said database operation servers execute a routine containing no database operation statement in said second query execution process instruction program based on said check information and said routine execution process instruction program.
17 . A plurality of database operation servers for distributively processing divided data in a parallel database system wherein:
each said database operation servers includes a routine execution unit; each said database operation servers is connected to a front end server through a network, said front end server including a definition statement analysis unit and a query statement analysis unit, and connected to an information storage unit; and each said database operation servers receives a request for execution of a query execution process instruction program to be executed in each said database operation servers through said network, said query execution process instruction program being created by said query statement analysis unit analyzing a query statement related to database processing, said routine execution unit of each said database operation servers executes a routine containing no database operation statement in said query execution process instruction program based on a routine execution process instruction program to be executed in each said database operation servers and check information which is a result of determining whether or not a database operation statement is contained in said routine.
18 . A storage medium executable by a computer in a parallel database system, comprising:
a processing portion for analyzing a query related to database processing in an analysis unit of said database system to create a first query execution process instruction program to be executed in an execution device on a front end side (hereinafter referred to as the “front end side”) of said database system, and a second query execution process instruction program to be executed by a plurality of execution devices on a database operation side (hereinafter referred to as the “divided data side”) of said database system for processing divided data; a processing portion for requesting said divided data side to execute said second query execution process instruction program; and a processing portion for executing, on said divided data side, a routine containing no database operation statement in said second query execution process instruction program in a routine execution unit of each said divided data side.
19 . A parallel database system routine executing method for executing a routine in a parallel database system having a query execution unit on a divided data side for executing a query to divided data, and a query execution unit on a front end side for totalizing results of executing a query to each divided data and returning the totalized result, said query execution unit on the divided data side having a routine execution unit for executing a routine including no processing for a database operation statement, said parallel database system routine executing method comprising the steps of:
determining whether or not a database operation statement is contained in a body of a routine, and recording information indicative of said determination; and referencing said recorded information for a routine called by said query execution unit on the divided data side, selecting said routine execution units for executing a routine containing no database operation statement, located on said divided data side, when said routine does not contain a database operation statement, and selecting a routine execution unit for executing a routine including processing for a database operation statement, located on said front end side, when said routine contains a database operation statement, and executing said routine in said selected routine execution unit.
20 . A parallel database system routine executing method according to claim 19 , further comprising the step of referencing said information indicating whether or not a database operation statement is contained in a body of a routine upon execution to select a routine execution unit for executing said routine.
21 . A parallel database system routine executing method according to claim 19 , further comprising the step of referencing information indicating whether or not a database operation statement is contained in a body of another routine called by said routine to select a routine execution unit for executing said routine.
22 . A parallel database system routine executing method according to claim 20 , further comprising the step of referencing information indicating whether or not a database operation statement is contained in a body of another routine called by said routine to select a routine execution unit for executing said routine.
23 . A medium having a program recorded thereon for causing a computer to function as a parallel database system having a query execution unit on a divided data side for executing a query to divided data, and a query execution unit on a front end side for totalizing results of executing a query to each divided data and returning the totalized result, said query execution unit on the divided data side having a routine execution unit for executing routine including no processing for a database operation statement, said program comprising:
a process for determining whether or not a database operation statement is contained in a body of a routine, and recording information indicative of said determination; and a process for referencing said recorded information for a routine called by said query execution unit on the divided data side, selecting said routine execution units for executing a routine containing no database operation statement, located on the routine calling side and said divided data side, when said routine does not contain a database operation statement, and selecting a routine execution unit for executing a routine including processing for a database operation statement, located on said front end side, when said routine contains a database operation statement, and executing said routine in said selected routine execution unit.
24 . A medium according to claim 23 having a program recorded thereon for causing a computer to execute a process for referencing said information indicating whether or not a database operation statement is contained in a body of a routine upon execution to select a routine execution unit for executing said routine.
25 . A medium according to claim 23 having a program recorded thereon for causing a computer to execute a process for referencing information indicating whether or not a database operation statement is contained in a body of another routine called by said routine to select a routine execution unit for executing said routine.
26 . A medium according to claim 24 having a program recorded thereon for causing a computer to execute a process for referencing information indicating whether or not a database operation statement is contained in a body of another routine called by said routine to select a routine execution unit for executing said routine.Join the waitlist — get patent alerts
Track US2002116376A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.