Patent ID: 7895151

Claim:
A method for loading data into a relational database system, said method comprising: receiving a request to load data from a load file into a database; sampling the load file; determining a first profile of the load file based on the samples; determining at least one compression scheme for the data in the load file based on its profile; compressing the data in the load file based on the at least one compression scheme as the data is loaded into the database; writing, into a hardware accelerator memory, compressed data that is to be indexed; determining a second profile of the compressed data that is to be indexed based on a machine code database instruction; dividing the compressed data that is to be indexed into a set of balanced partitions based on the second profile; determining a program of machine code database instructions based on the second profile; distributing the compressed data that is to be indexed in the hardware accelerator memory into partitions in the hardware accelerator memory based on the program of machine code database instructions; building, in parallel, a sub-index for each partition of the compressed data that is to be indexed, and determining an index based on a combination of the sub-indexes.