In-Memory Database System Providing Lockless Read and Write Operations for OLAP and OLTP Transactions
First Claim
1. A method for implementation by a database system comprising a combination of on-disk storage and in-memory storage, the method comprising:
- storing, in a plurality of fragments comprising at least a delta fragment and a main fragment retained in the on-disk storage, a plurality of data records that comprise a table, each fragment having visibility data structures to enable multi-version concurrency control;
compressing each fragment using dictionary compression and n-bits compression;
loading the fragments into main system memory in the in-memory storage from the on-disk storage if they are accessed for read operations or write operations and are not already in the main system memory; and
concurrently performing a plurality of lockless read and write operations, while providing snapshot isolation, on the at least one of the plurality of fragments while the at least one of the plurality of fragments is in the main system memory.
2 Assignments
0 Petitions
Accused Products
Abstract
As part of a database system comprising a combination of on-disk storage and in-memory storage, a plurality of records that comprise a table are stored in a plurality of fragments that include at least a delta fragment and a main fragment retained in the on-disk storage. Each fragment has visibility data structures to enable multi-version concurrency control. Each fragment can be compressed using dictionary compression and n-bits compression. The fragments are loaded into main system memory in the in-memory storage from the on-disk storage if they are accessed for read operations or write operations and are not already in memory. A plurality of lockless read and write operations are concurrently performed, while providing snapshot isolation, on the at least one of the plurality of fragments while the at least one of the plurality of fragments is in the main system memory.
77 Citations
20 Claims
-
1. A method for implementation by a database system comprising a combination of on-disk storage and in-memory storage, the method comprising:
-
storing, in a plurality of fragments comprising at least a delta fragment and a main fragment retained in the on-disk storage, a plurality of data records that comprise a table, each fragment having visibility data structures to enable multi-version concurrency control; compressing each fragment using dictionary compression and n-bits compression; loading the fragments into main system memory in the in-memory storage from the on-disk storage if they are accessed for read operations or write operations and are not already in the main system memory; and concurrently performing a plurality of lockless read and write operations, while providing snapshot isolation, on the at least one of the plurality of fragments while the at least one of the plurality of fragments is in the main system memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer program product storing instructions for use by a database system comprising a processor and combination of on-disk storage and in-memory storage, the instructions, which when executed by the database system, result in operations comprising:
-
storing, in a plurality of fragments comprising at least a delta fragment and a main fragment retained in the on-disk storage, a plurality of data records that comprise a table, each fragment having visibility data structures to enable multi-version concurrency control; compressing each fragment using dictionary compression and n-bits compression; loading the fragments into main system memory in the in-memory storage from the on-disk storage if they are accessed for read operations or write operations and are not already in the main system memory; and concurrently performing a plurality of lockless read and write operations, while providing snapshot isolation, on the at least one of the plurality of fragments while the at least one of the plurality of fragments is in the main system memory.
-
-
20. A system comprising:
-
at least one hardware data processor; on-disk storage; and in-memory storage; wherein; a plurality of data records that comprise a table are stored in a plurality of fragments comprising at least a delta fragment and a main fragment retained in the on-disk storage; each fragment has visibility data structures to enable multi-version concurrency control; each fragment is compressed using dictionary compression and n-bits compression; the fragments are loaded into main system memory in the in-memory storage from the on-disk storage if they are accessed for read operations or write operations and are not already in the main system memory; and a plurality of lockless read and write operations are performed concurrently, while providing snapshot isolation, on the at least one of the plurality of fragments while the at least one of the plurality of fragments is in the main system memory.
-
Specification