Using message-passing with procedural code in a database kernel
First Claim
1. A system comprising:
- at least one programmable processor comprising at least one physical core and a plurality of logical cores; and
at least one memory comprising instructions which, when executed by the at least one programmable processor, cause operations comprising;
designating, for use by a first message-passing worker of a plurality of message-passing workers, a first logical core from the plurality of logical cores;
assigning, to the first message-passing worker, a first set of database objects from a plurality of database objects in a database management system, the first message-passing worker having write access to the first set of database objects;
assigning, to a second message-passing worker of the plurality of message-passing workers, a second set of database objects from the plurality of database objects, the second message-passing worker having write access to the second set of database objects,wherein the first message-passing worker and the second message-passing worker have simultaneous write access to at least one database object common to the first and second set of database objects;
wherein the database objects are mapped to the first and second message-passing workers for facilitating data access in a mixed-mode environment in which message-passing and procedural coding approaches are used concurrently within a same database kernel;
providing, via a job worker, read-only access to at least a portion of the plurality of database objects, wherein the read-only access executed via a dirty read with no locks to ensure data consistency using versioned objects and multi-version concurrency control to filter visible rows;
designating, for use by the job worker, a second logical core from the plurality of logical cores, the first and second logical cores sharing one or more resources of the at least one physical core; and
directing, via the job worker, a plurality of messages to a message queue of at least one of the first and second message-passing worker.
0 Assignments
0 Petitions
Accused Products
Abstract
Each of a plurality of database objects can be assigned to a specific message-passing worker of a plurality of message-passing workers, each executing on a first logical core that shares with at least a second logical core one or more resources of a physical processor core of a plurality of physical processor cores. The second logical core can execute a job worker of a plurality of job workers that implement procedural code. Exclusive write access can be provided to a database object of the plurality of database objects via a message-passing worker of the plurality of message-passing workers while read-only access is provided to any database object of the plurality of database objects via any of the plurality of job workers. Operations can be executed by the message-passing worker in an order in which request messages are received in a message queue of the message-passing worker.
50 Citations
17 Claims
-
1. A system comprising:
-
at least one programmable processor comprising at least one physical core and a plurality of logical cores; and at least one memory comprising instructions which, when executed by the at least one programmable processor, cause operations comprising; designating, for use by a first message-passing worker of a plurality of message-passing workers, a first logical core from the plurality of logical cores; assigning, to the first message-passing worker, a first set of database objects from a plurality of database objects in a database management system, the first message-passing worker having write access to the first set of database objects; assigning, to a second message-passing worker of the plurality of message-passing workers, a second set of database objects from the plurality of database objects, the second message-passing worker having write access to the second set of database objects, wherein the first message-passing worker and the second message-passing worker have simultaneous write access to at least one database object common to the first and second set of database objects; wherein the database objects are mapped to the first and second message-passing workers for facilitating data access in a mixed-mode environment in which message-passing and procedural coding approaches are used concurrently within a same database kernel; providing, via a job worker, read-only access to at least a portion of the plurality of database objects, wherein the read-only access executed via a dirty read with no locks to ensure data consistency using versioned objects and multi-version concurrency control to filter visible rows; designating, for use by the job worker, a second logical core from the plurality of logical cores, the first and second logical cores sharing one or more resources of the at least one physical core; and directing, via the job worker, a plurality of messages to a message queue of at least one of the first and second message-passing worker. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, causes operations comprising:
-
designating, for use by a first message-passing worker of a plurality of message-passing workers, a first logical core from a plurality of logical cores; assigning, to the first message-passing worker, a first set of database objects from a plurality of database objects in a database management system, the first message-passing worker having write access to the first set of database objects; assigning, to a second message-passing worker of the plurality of message-passing workers, a second set of database objects from the plurality of database objects, the second message-passing worker having write access to the second set of database objects, wherein the first message-passing worker and the second message-passing worker have simultaneous write access to at least one database object common to the first and second set of database objects; wherein the database objects are mapped to the first and second message-passing workers for facilitating data access in a mixed-mode environment in which message-passing and procedural coding approaches are used concurrently within a same database kernel; providing, via a job worker, read-only access to at least a portion of the plurality of database objects, wherein the read-only access executed via a dirty read with no locks to ensure data consistency using versioned objects and multi-version concurrency control to filter visible rows; designating, for use by the job worker, a second logical core from the plurality of logical cores, the first and second logical cores sharing one or more resources of the at least one physical core; and directing, via the job worker, a plurality of messages to a message queue of at least one of the first and second message-passing worker. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer-implemented method comprising:
-
designating, for use by a first message-passing worker of a plurality of message-passing workers, a first logical core from the plurality of logical cores; assigning, to the first message-passing worker, a first set of database objects from a plurality of database objects in a database management system, the first message-passing worker having write access to the first set of database objects; assigning, to a second message-passing worker of the plurality of message-passing workers, a second set of database objects from the plurality of database objects, the second message-passing worker having write access to the second set of database objects, wherein the first message-passing worker and the second message-passing worker have simultaneous write access to at least one database object common to the first and second set of database objects; wherein the database objects are mapped to the first and second message-passing workers for facilitating data access in a mixed-mode environment in which message-passing and procedural coding approaches are used concurrently within a same database kernel; providing, via a job worker, read-only access to at least a portion of the plurality of database objects, wherein the read-only access executed via a dirty read with no locks to ensure data consistency using versioned objects and multi-version concurrency control to filter visible rows; designating, for use by the job worker, a second logical core from the plurality of logical cores, the first and second logical cores sharing one or more resources of the at least one physical core; and directing, via the job worker, a plurality of messages to a message queue of at least one of the first and second message-passing worker. - View Dependent Claims (14, 15, 16, 17)
-
Specification