Database Reference
In-Depth Information
3 Our Approach
During query execution, a query accesses data from different tables by performing
join operation on primary and foreign key attributes of those tables, and then the
required attribute values are filtered. This becomes more complicated in the vir-
tual cloud environment, where the location of the data changes more often based
on the resource availability or SLA (Service Level Agreement) of the customer. In-
creased node-to-node communication results in increased network delay and pro-
cessing time, leading to the decrease in query performance. Hence, we need storage
structures that help to minimize the communication between machines, minimize
the maintenance during updates and minimize the increase in the storage space.
3.1 Storage Structure
PK-map Structure: We create a PK-map (i.e., Primary Key map) for each of
the primary keys in the tables of the star schema. A PK-map will have one col-
umn for the primary key and one column for each of the foreign keys referencing
this primary key as shown in Table 1. Primary key column contains primary key
values and foreign key column contains logical record-ids. These logical record-
ids are index to the Tuple-index-map of the foreign key. Tuple-index-map is
explained in the next subsection. The PK-maps are sorted on primary key val-
ues, which allow us to apply run length encoding on foreign key logical record-ids
and reduce the size of the map to a great extent. Thus, the overall size of the
map will be proportional to the number of records in the dimension table, which
are usually smaller in size than fact table.
Tuple-index-map Structure: We create a Tuple-index-map for each of the
foreign key attribute, which reference the primary key attribute of the dimension
table as shown in Table 2. This Tuple-index-map will store the mapping between
the logical and actual record-id of the foreign keys in the foreign key table.
Tabl e 1. NationKey-map and SuppKey-map
Tabl e 2. SuppKey Tuple-index-
map
PS.sk index PS.sk t index
Row 0
N.nationkey S.nk index C.nk index
Row 0
0000000000
0
0
0
Row 1
0000000001
4
6
......
24
Partition 1
Row 2
0000000002
14
26
......
.....
..
..........
..........
..........
Row 400000
.....
..
..........
..........
..........
Row 400001
.....
Partition 2
Row 24 0000000024
..........
..........
......
.....
.....
......
.....
.....
......
.....
.....
S.suppkey PS.sk index
......
.....
.....
Row 0
0000000000
0
......
.....
.....
.........
..........
..........
Partition 1
......
.....
.....
Row 20000 0000020000
100000
......
.....
Partition 49
Row 20001 0000020001
..........
Partition 2
Row 19600000
.....
.........
..........
..........
......
.....
.........
..........
..........
..........
......
.....
Partition 50
.........
..........
..........
Partition 49
......
.....
Row 980001 0000980001
..........
Row 20000000
.....
...........
..........
..........
Partition 50
Row 1000000 0001000000
..........
 
Search WWH ::




Custom Search