Hybrid database table stored as both row and column store
First Claim
1. A computer-implemented method comprising:
- providing in a non-transitory computer readable storage medium, a database created in an application level language and comprising row partitioned store and column partitioned store;
causing a row engine to insert a record into the row partitioned store;
performing an optimization based upon additional information to determine that a uniqueness violation may exist with respect to the record;
when it is determined that a uniqueness violation may exist, performing a search of the column partitioned store to determine whether a uniqueness violation exists with respect to the record;
receiving a query on the database;
performing a search on the row partitioned store of the database using the query;
selectively searching the column partitioned store using the query depending on an analysis of the search performed on the row partitioned store; and
returning a search result.
2 Assignments
0 Petitions
Accused Products
Abstract
A hybrid database table is stored as both a row and a column store. One or more techniques may be employed alone or in combination to enhance performance of the hybrid table by regulating access to, and/or the size of, the processing-intensive column store data. For example during an insert operation, the column store data may be searched for a uniqueness violation only after certain filtering and/or boundary conditions have been considered. In another technique, a hybrid table manager may control movement of data to the column store based upon considerations such as frequency of access, or underlying business logic. In still another technique, querying of the hybrid table may result in a search of the column store data only after an initial search of row store data fails to return a result.
-
Citations
17 Claims
-
1. A computer-implemented method comprising:
-
providing in a non-transitory computer readable storage medium, a database created in an application level language and comprising row partitioned store and column partitioned store; causing a row engine to insert a record into the row partitioned store; performing an optimization based upon additional information to determine that a uniqueness violation may exist with respect to the record; when it is determined that a uniqueness violation may exist, performing a search of the column partitioned store to determine whether a uniqueness violation exists with respect to the record; receiving a query on the database; performing a search on the row partitioned store of the database using the query; selectively searching the column partitioned store using the query depending on an analysis of the search performed on the row partitioned store; and returning a search result. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:
-
receiving records to be inserted into a database created in an application level language in a non-transitory storage medium and comprising row partitioned store and column partitioned store; causing a row engine to insert a record into the row partitioned store; performing an optimization based upon additional information to determine that a uniqueness violation may exist with respect to the record; when it is determined that a uniqueness violation may exist, performing a search of the column partitioned store to determine whether a uniqueness violation exists with respect to the record; receiving a query on the database; performing a search on the row partitioned store of the database using the query; selectively searching the column partitioned store using the query depending on an analysis of the search performed on the row partitioned store; and returning a search result. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer system comprising:
-
one or more processors; a software program, executable on said computer system, the software program configured to; receive records to be inserted into a database created in an application level language in a non-transitory storage medium and comprising row partitioned store and column partitioned store; cause a row engine to insert a record into the row partitioned store; perform an optimization based upon additional information to determine that a uniqueness violation may exist with respect to the record; when it is determined that a uniqueness violation may exist, performing a search of the column partitioned store to determine whether a uniqueness violation exists with respect to the record; receive a query on the database; perform a search on the row partitioned store of the database using the query; selectively search the column partitioned store using the query depending on an analysis of the search performed on the row partitioned store; and return a search result. - View Dependent Claims (14, 15, 16, 17)
-
Specification