Beruflich Dokumente
Kultur Dokumente
Access
Methods:
The
RUM
Conjecture
Manos
Athanassoulis1,
Michael
S.
Kester1,
Lukas
M.
Maas1,
Radu Stoica2,
Stratos Idreos1,
Anastasia
Ailamaki3,
Mark
Callaghan4
2
memory
wall storage
wall
3
Memory
Wall
4
Memory
Wall
HDD SSD
(Single
Level
Cell) SSD
(Multi
Level
Cell) HDD
(Shingled
Magnetic
Rec.)
ü capacity ü random
reads ü capacity ü capacity
ü sequential
access ü low
latency × endurance
(worse)
× read/write
asymmetry
× random
access × capacity
× latency
plateaus × endurance
× read/write
asymmetry
every
byte
counts 6
memory
wall storage
wall
every
byte
we
read
counts every
byte
we
read
counts
every
byte
we
update
counts
every
byte
we
allocate counts every
byte
we
allocate counts
7
in
this
fluid
environment
…
8
we
build
access
methods
9
...
since
a
long
time
ago!
Can
we
stop
worrying
about
building
access
methods?
10
why
do
we
keep
building?
every
access
method …
is
optimizing
for
the
tradeoff
between
Reads
Hash
Index
Tree Projection
Index
Updates
Memory
• read
overhead
• update
overhead
• memory
overhead
the
three
of
which
form
a
competing
triangle max
Update
min
Memory
the
overheads
at
the
expense
of
the
third
12
The
RUM
Conjecture
every
access
method
has
a
(quantifiable) Read
min
• read
overhead
read-‐optimized
• update
overhead
• memory
overhead
the
three
of
which
form
a
competing
triangle max
Update Memory
min
• read
overhead
update
&
memory
• update
overhead optimized
• memory
overhead
the
three
of
which
form
a
competing
triangle max
Update Memory
min
• read
overhead
memory-‐optimized
• update
overhead
• memory
overhead
the
three
of
which
form
a
competing
triangle max
Update Memory
min
oracle
R
X data
U M 16
what
would
be
an
optimal
read
behavior?
X data
? ?
U M 17
what
would
be
an
optimal
read
behavior?
1 3 4 5 8
18
what
would
be
an
optimal
read
behavior?
1 3 4 5 8
19
what
would
be
an
optimal
read
behavior?
1 2 3 4 5 8
1 2 3 4 5 8 17
Always scan R
X data A B X
?
Always scan R
X data A B X C D
U
higher
read
and
memory
overhead M 23
what
would
be
an
optimal
memory
overhead?
no
metadata
whatsoever,
would
result
in
the
smallest
memory
footprint
?
X data
?
X data
No!
?
26
RUM
Conjecture:
an
example
a
tight
column: 8217693 a
tight
sorted
column: 1 2 3 6 7 8 9
R R
• reads have
to
scan • very
efficient
reads (logarithmic
search)
• no
memory
overhead • no
memory overhead
• in-‐place
Uupdates M and
efficient
inserts • updates
&
inserts
U reorganization
M
27
RUM
Conjecture:
an
example
a
tight
column: 8217693 a
tight
sorted
column: 1 2 3 6 7 8 9
R R
• reads have
to
scan • very
efficient
reads (logarithmic
search)
• no
memory
overhead • no
memory overhead
• in-‐place
Uupdates M and
efficient
inserts • updates
&
inserts
U reorganization
M
adding
clustering: 2 1 3 7 6 9 8
• efficient
readsR
• small
memory overhead
• updatesU&
inserts:
M
reorganization
28
RUM
Conjecture:
an
example
a
tight
column: 8217693 a
tight
sorted
column: 1 2 3 6 7 8 9
R R
• reads have
to
scan • very
efficient
reads (logarithmic
search)
• no
memory
overhead • no
memory overhead
• in-‐place
Uupdates M and
efficient
inserts • updates
&
inserts
U reorganization
M
29
RUM-‐aware
access
methods
Can
we
30
some
active
research
directions
üclassify
existing
access
methods
[Tutorial
-‐ SIGMOD2016]
31
daslab.seas.harvard.edu
Thanks!
http://daslab.seas.harvard.edu/rum/
32