L a r g e r - t h a n - Me mo r y D a t a Ma n a g e me n t o n Mo d e r n S t o r a g e H a r d w a r e f o r I n - Me mo r y O L T P D a t a b a s e S y s t e ms L i n Ma , J o y A r u l r a j , S a m Z h a o , A n d r e w P a v l o , S u b r a m a n y a R . D u l l o o r , Mi c h a e l J . G i a r d i n o , J e f f P a r k h u r s t , J a s o n L . G a r d n e r , K s h i t i j D o s h i , C o l . S t a n l e y Z d o n i k
2 MO T I V A T I O N • A l l o w a n i n - m e m o r y D B MS t o s t o r e / a c c e s s d a t a o n d i s k w i t h o u t b r i n g i n g b a c k a l l t h e s l o w p a r t s o f a d i s k - o r i e n t e d D B MS . • D i f f e r e n t p r o p e r t i e s o f s t o r a g e d e v i c e s m a y a f f e c t i m p o r t a n t d e s i g n d e c i s i o n s .
3 S T O R A G E T E C H N O L O G I E S • 1 0 m T u p l e s – 1 K B e a c h • S y n c h r o n i z a t i o n E n a b l e d s e q u e n t i a l r a n d o m 1KB Read 1KB Write 64KB Read 64KB Write Latency (nanosec) 1000000 10000 100 1 0.01 HDD SMR SSD 3D XPoint NVRAM DRAM
4 D E S I G N D E C I S I O N S • H a r d w a r e i n d e p e n d e n t p o l i c i e s – C o l d T u p l e I d e n t i f i c a t i o n – E v i c t e d T u p l e Me t a - d a t a • H a r d w a r e d e p e n d e n t p o l i c i e s – C o l d T u p l e R e t r i e v a l – Me r g i n g T h r e s h o l d – A c c e s s Me t h o d s
5 H A R D WA R E I N D E P E N D E N T P O L I C I E S
6 I N D E P E N D E N T P O L I C I E S • C o l d T u p l e I d e n t i f i c a t i o n – O p t i o n # 1 : O n - l i n e i d e n t i f i c a t i o n – O p t i o n # 2 : O f f - l i n e i d e n t i f i c a t i o n ● E v i c t e d T u p l e Me t a - d a t a – O p t i o n # 1 : Ma r k e r t o r e p r e s e n t t h e o n - d i s k p o s i t i o n – O p t i o n # 2 : B l o o m f i l t e r – O p t i o n # 3 : R e l y o n v i r t u a l p a g i n g
7 E V I C T E D T U P L E ME T A - D A T A In-Memory In-Memory Cold-Data Index Table Heap Storage header Tuple #00 Tuple #01 Tuple #01 Tuple #03 Tuple #02 Tuple #04 Tuple #03 Index Bloom Filter Access Frequency Tuple #04 Tuple #00 Tuple #01 <Block,Offset> Tuple #02 Tuple #03 Tuple #04 <Block,Offset> Tuple #05 <Block,Offset>
8 H A R D WA R E D E P E N D E N T P O L I C I E S
9 C O L D T U P L E R E T R I E V A L Cold-Data In-Memory ● O p t i o n # 1 : Storage Table Heap A b o r t - a n d - R e s t a r t Tuple #00 header Tuple #01 Transaction Tuple #01 Tuple #03 Tuple #02 Read: Tuple #00 Tuple #04 Read: Read: Tuple #01 ? Read: Tuple #02 Abort
1 0 C O L D T U P L E R E T R I E V A L Cold-Data In-Memory ● O p t i o n # 2 : Storage Table Heap S y n c h r o n o u s R e t r i e v a l Tuple #00 header Tuple #01 Transaction Tuple #01 Tuple #03 Tuple #02 Read: Tuple #00 Tuple #04 Read: Read: Tuple #01 ? Read: Tuple #02 Stall
1 1 ME R G I N G T H R E S H O L D • O p t i o n # 1 : A l w a y s Me r g e Cold-Data In-Memory Storage Table Heap • O p t i o n # 2 : Me r g e O n l y o n U p d a t e Tuple #00 header Tuple #01 • O p t i o n # 3 : S e l e c t i v e Me r g e Tuple #03 Tuple #02 Transaction Tuple #04 Read: Tuple #00 Sketch Read: Tuple #01 Read: Tuple #02
1 2 A C C E S S ME T H O D S • O p t i o n # 1 : B l o c k - a d d r e s s a b l e – B l o c k - l e v e l a c c e s s t h r o u g h f i l e s y s t e m • O p t i o n # 2 : B y t e - a d d r e s s a b l e ( N V R A M) – U s e m m a p t h r o u g h a f i l e s y s t e m d e s i g n e d f o r b y t e - a d d r e s s a b l e N V R A M ( P MF S ) – D i r e c t l y o p e r a t e o n N V R A M- r e s i d e n t d a t a a s i f i t e x i s t e d i n D R A M
1 3 E V A L U A T I O N • C o m p a r e d e s i g n d e c i s i o n s i n H - S t o r e w i t h a n t i - c a c h i n g . • S t o r a g e D e v i c e s : – H a r d - D i s k D r i v e ( H D D ) – S h i n g l e d Ma g n e t i c R e c o r d i n g D r i v e ( S MR ) – S o l i d - S t a t e D r i v e ( S S D ) – 3 D X P o i n t ( 3 D X ) – N o n - v o l a t i l e Me m o r y ( N V R A M)
1 4 C O L D T U P L E R E T R I E V A L • Y C S B Wo r k l o a d – 9 0 % R e a d s / 1 0 % Wr i t e s • 1 0 G B D a t a b a s e u s i n g 1 . 2 5 G B Me m o r y s m a l l b l o c k s l a r g e b l o c k s Abort and Restart Synchronous Retrieval 200000 Throughput (txn/sec) 150000 100000 50000 0 HDD SMR SDD 3DX NVM
1 5 ME R G I N G T H R E S H O L D • Y C S B Wo r k l o a d – 9 0 % R e a d s / 1 0 % Wr i t e s • 1 0 G B D a t a b a s e u s i n g 1 . 2 5 G B Me m o r y Merge (Update-Only) Merge (Top-5%) I m p r o v e m e n t : Merge (Top-20%) Merge (All) 200000 ● S MR : 3 0 % Throughput (txn/sec) ● S 150000 S D : 1 7 % ● 3 D X : 2 1 % 100000 ● N V R A M: 1 0 % 50000 0 HDD (AR) HDD (SR)
1 7 C O N F I G U R A T I O N C O MP A R I S O N • G e n e r i c C o n f i g u r a t i o n ( 2 0 1 3 A n t i - c a c h i n g ) – A b o r t - a n d - R e s t a r t R e t r i e v a l – Me r g e ( A l l ) T h r e s h o l d – 1 0 2 4 K B B l o c k S i z e • O p t i mi z e d C o n f i g u r a t i o n – S y n c h r o n o u s R e t r i e v a l – T o p - 5 % Me r g e T h r e s h o l d – B l o c k S i z e s ( H D D / S MR - 1 0 2 4 K B ) ( S S D / 3 D X - 1 6 K B ) – B y t e - a d d r e s s a b l e a c c e s s f o r N V R A M
1 8 G E N E R I C V S O P T I MI Z E D Generic Optimized DRAM 200000 Txn / sec 100000 0 HDD SMR SSD 3D XPoint NVRAM VOTER 400000 Txn / sec 200000 0 HDD SMR SSD 3D XPoint NVRAM TATP
1 9 C O N C L U S I O N • L o w - l a t e n c y s t o r a g e d e v i c e s : S m a l l e r b l o c k s i z e s a n d s y n c h r o n o u s r e t r i e v a l • C o n s t r a i n t s o n m e r g e f r e q u e n c y i m p r o v e p e r f o r m a n c e • T h e p e r f o r m a n c e o f N V R A M i s a s g o o d a s p u r e D R A M i f t r e a t e d c o r r e c t l y
2 0 E N D l i n . m a @ c s . c m u . e d u 1 - 8 4 4 - 8 8 - C MU D B
2 1 R E A L - WO R L D I MP L E ME N T A T I O N S • H - S t o r e – A n t i - C a c h i n g • Mi c r o s o f t H e k a t o n – P r o j e c t S i b e r i a • E P F L ’ s V o l t D B P r o t o t y p e • A p a c h e G e o d e – O v e r f l o w T a b l e s • Me m S Q L – C o l u m n a r T a b l e s • S o l i d D B • P * T I ME
2 2 ME R G I N G T H R E S H O L D • Y C S B Wo r k l o a d – 9 0 % R e a d s / 1 0 % Wr i t e s • 1 0 G B D a t a b a s e u s i n g 1 . 2 5 G B Me m o r y
Recommend
More recommend