Abstract:
The processing load for joining a plurality of tables by hash join is reduced for a computer system in which the CPU of a node creates a partial bloom filter that manages a first table hash value of a joining key of a row corresponding to a query in an assigned row of a build table. An integrated bloom filter is created from a plurality of partial bloom filters, and a second table hash value of the joining key of the row corresponding to the condition of the query among the rows of a probe table is calculated. The row of the probe table is transmitted to the node containing a row of the build table of the join hash value for that row when the integrated bloom filter includes an identical first table hash value, and an integrated joined table is created and returned to the query request source.
Abstract:
A computer system according to the present invention has a plurality of processor cores that execute a plurality of threads in a parallel manner. When one of the threads updates a database (DB) region that is among a plurality of database regions associated with a database (DB), and that cannot be updated by more than one thread, the computer system selects one of one or more dedicated log buffers as a log buffer to which a log relating to the update of the database region is to be written. In contrast, when one of the threads updates a database region that is among the plurality of database regions, and that can be updated by more than one thread, the computer system selects one of one or more shared log buffers as a log buffer to which a log relating to the update of the database region is to be written. Each dedicated log buffer is a log buffer that can store one or more logs associated with only one thread and that cannot store two or more logs associate with two or more threads. Each shared log buffer is a log buffer that can store two or more logs associated with two or more threads.
Abstract:
Data is disclosed only when a utilization purpose is met, and a risk that the disclosed data is referenced for other purposes is reduced. A data disclosure apparatus discloses data in response to a query from a user, and includes at least one computation device, at least one memory resource, and at least one storage device. The computation device receives the query, checks whether or not the query complies with a predetermined rule, searches table data as query processing responding to the query to acquire a result of query execution when the query is confirmed to comply with the predetermined rule, encrypts the result of query execution using a public key corresponding to a private key held by the user, and provides the encrypted result of query execution to the user.
Abstract:
The scanning range of an inner table can be limited in the join processing irrespective of the existence of search conditions or a partition key, and the performance of the join processing can be improved. There is a column range index representing a range of values stored in a table. When a join result of a current stage is an outer table related to a join of a next stage in a join of each stage of the join processing, a database management apparatus identifies whether there is a possibility that an inner table related to a join of a next stage includes a hit record in an inner table related to a join of a current stage based on a column range index corresponding to a join column of a current stage and a column range index corresponding to a join column of a next stage.
Abstract:
If a query indicates joining of N (N is an integer of no less than 3) relation tables, a database management system calculates a query cost that is based on a power consumption amount for query execution, for each of a first query plan candidate in which a temporary table is generated and the temporary table is stored in a storage device unit with a first access cost, a second query plan candidate in which a temporary table is generated and the temporary table is stored in a storage device unit with a second access cost that is higher than the first access cost and a third query plan candidate in which the N relation tables are joined in a pipelined manner without generation of a temporary table, selects a relatively low-query cost query plan candidate and executes the query based on the query plan candidate.
Abstract:
Provided is a database management apparatus, having a processor, a memory, and a storage device, whereby a database which is stored in the storage device is managed, the database management apparatus further comprising: a query acceptance unit which accepts a query to the database; a query execution plan generating unit which generates a query execution plan which includes a database operation which is necessary for executing the accepted query; and a query execution unit which, in executing the accepted query on the basis of the generated query execution plan, dynamically generates a task for executing the database operation, and executes the dynamically generated task. The query execution unit acquires a resource usage state, and, when executing the next database operation, generates a new task on the basis of the resource usage state, and executes the new task in parallel with the task.
Abstract:
A database is stored in a plurality of pages that are a plurality of logical storage areas constituting a logical storage space. Data writing to a database in the logical storage space is performed in a page unit. A storage control apparatus coupled to an external storage and including a cache device writes data to the cache device in a page unit. The storage control apparatus determines whether an execution condition on external writing that is writing to the external storage is satisfied. When a result of the determination is true, the storage control apparatus writes data stored in the cache device to the external storage in a bulk unit that is larger than a page unit and is a writing unit in which consistency is maintained.
Abstract:
When a DBMS receives a suspend instruction in which a suspend completion time of query processing is a future time and between receipt of the suspend instruction and the suspend completion time, if there is a target object (at least a processing object whose execution is in progress upon receipt of the suspend instruction) whose predicted completion time is at or precedes the suspend completion time, the DBMS changes the state of the target object to a state signifying a snapshot suspend. If there is a processing object whose state signifies a snapshot suspend, the DBMS executes the processing object at or before the suspend completion time.
Abstract:
A database management system (DBMS) generates a query execution plan including information representing one or more database (DB) operations necessary for executing a query and executes the query based on the query execution plan. In the execution of the query, the DBMS dynamically generates a task for executing a DB operation and executes the dynamically generated task. The DBMS executes a task in a plurality of threads executed by a processor core.
Abstract:
There is a storage apparatus which provides a storage area, comprises a cache memory, reads data into the cache memory from the storage area according to a read request and sends the data from the cache memory, and a computer is coupled to the storage apparatus. The computer receives a data processing request, determines an access usage based on the data processing request (or, the information relating to an access usage of the data processing request), selects a logical device corresponding to the determined access usage from a plurality of logical devices which are allocated to the storage area and issues a read request to the selected logical device.