IP Library Granted Patent US 8,768,927
Granted Patent B2
US 8,768,927 · App. 13/334,669 · Granted Jul 1, 2014

Hybrid database table stored as both row and column store

Inventors: Yongsik Yoon (Seocho-ku, KR); Chanho Jeong (Seocho-ku, KR); Juchang Lee (Seocho-ku, KR); Chang Bin Song (Seocho-ku, KR); Yong Sik Kwon (Seocho-ku, KR); Sang Kyun Cha (Seocho-ku, KR)
Assignee: SAP AG
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,768,927
App. No.
13/334,669
Granted
Jul 1, 2014
Kind
B2
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.

Claims (43)

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. The computer-implemented method of claim 1 wherein the optimization comprises maintaining min/max values of unique columns in the column partitioned store with a latch-free structure to minimize contention.

3. The computer-implemented method of claim 1 wherein the optimization comprises maintaining a filter for unique columns.

4. The computer-implemented method of claim 3 wherein the filter comprises a Bloom filter.

5. The computer-implemented method of claim 3 wherein the filter is scalable.

6. The computer-implemented method of claim 3 further comprising updating or rehashing when data is moved from the row partitioned store to the column partitioned store.

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.

8. The non-transitory computer readable storage medium of claim 7 wherein the optimization comprises maintaining min/max values of unique columns in the column partitioned store with a latch-free structure to minimize contention.

9. The non-transitory computer readable storage medium of claim 7 wherein the optimization comprises maintaining a filter for unique columns.

10. The non-transitory computer readable storage medium of claim 9 wherein the filter comprises a Bloom filter.

11. The non-transitory computer readable storage medium of claim 9 wherein the filter is scalable.

12. The non-transitory computer readable storage medium of claim 9 wherein the method further comprises updating or rehashing when data is moved from the row partitioned store to the column partitioned store.

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.

14. The computer system of claim 13 wherein the optimization comprises maintaining min/max values of unique columns in the column partitioned store with a latch-free structure to minimize contention.

15. The computer system of claim 13 wherein the optimization comprises maintaining a filter for unique columns.

16. The computer system of claim 15 wherein the filter comprises a Bloom filter.

17. The computer system of claim 15 wherein the filter is scalable.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2011
From: YOON, YONGSIK; JEONG, CHANHO; LEE, JUCHANG; SONG, CHANG BIN; KWON, YONG SIK; CHA, SANG KYUN
To: SAP AG
Reel/Frame 027437/0805 →
Continuity (1)
Related Publication 20130166553A1 · Jun 27, 2013