23 Program Disturb • ! Some cells not being programmed receive elevated voltage stress (near the cells being programmed) • ! Stressed cells can appear weakly programmed Reducing program disturb: • ! Use Error Correction Code to recover errors • ! Program page sequentially within a block Cooke (FMS 2007) Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
24 Impact on flash chip IOs • ! Flash cell technology ! Limited lifetime for entire blocks (when a cell wear out, the entire block is marked as failed). • ! NAND Layout and structure ! Block is the smallest erase granularity • ! Program Disturb ! Page is the smallest program granularity ( ! for SLC) ! Pages must me programmed sequentially within a block ! Use of ECC is mandatory # ECC unit is the smallest read unit (generally 1 or ! page) Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
25 Flash chips: trends • ! Density increases (price decreases) " ! NAND process migration: faster than Moore’s Law (today 20 nm) " ! More bits/cell: – ! SLC (1), MLC (2), TLC (3) • ! Flash chip layout and structure: larger, parallel " ! Larger blocks (32 # 256 Pages) " ! Larger pages: 512 B (old SLC) # 16KB (future TLC) " ! Dual plane Flash # parallelism within the flash chip • ! Lifetime decreases " ! 100 000 (SLC), 10 000 (MLC), 5000 (TLC) • ! ECC size increases • ! Basic performance decreases " ! Compensated by parallelism Abraham (FMS 2011), StorageSearch.com Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
26 Outline of the first part of this tutorial Goal: understand the impact of flash memory on software (DBMS) design and vice-versa • ! We study flash chips, explaining their constraints and trends • ! We then consider flash devices as black boxes and try to understand their performance behavior (uFLIP) • ! We hit a wall with the black box approach # we open the box, i.e., the FTL, and look at FTL techniques • ! Finally, we propose an alternative to complex FTLs, better adapted for DBMS design Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
27 The Good The hardware! • ! A single flash chip offers great performance " ! e.g., 40 MB/s Read, 10 MB/s Program " ! Random access is as fast as sequential access " ! Low energy consumption • ! A flash device contains many (e.g., 32, 64) flash chips and provides inter-chips parallelism • ! Flash devices may include some (power-failure resistant) SRAM Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
28 The Bad The severe constraints of flash chips! • ! C1: Program granularity: " ! Program must be performed at flash page granularity • ! C2: Must erase a block before updating a page • ! C3: Pages must be programmed sequentially within a block • ! C4: Limited lifetime (from 10 4 up to 10 6 erase operations) Program granularity: a page (32 KB) Pagess must be programmed Erase granularity: a block (1 MB) sequentially within the block (256 pages) Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
29 And The FTL The software!, the Flash Translation Layer " ! emulates a classical block device and handle flash constraints Constraints MAPPING Read page (C1) Program granularity Read sector (C2) Erase before prog. Program page Write sector (C3) Sequential program GARBAGE WEAR within a block Erase block COLLECTION LEVELING (C4) Limited lifetime No constraint! FTL Flash chips SSD Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
30 Flash devices are black boxes! • ! Flash devices are not flash chips " ! Do not behave as the flash chip they contain " ! No access to the flash chip API but only through the device API " ! Complex architecture and software, proprietary and not documented # ! Flash devices are black boxes ! # ! DBMS design cannot be based on flash chip behavior! We need to understand flash devices behavior! ? Constraints MAPPING Read page (C1) Program granularity Read sector (C2) Erase before prog. DBMS Program page Write GARBAGE WEAR (C3) Sequential program sector Erase block within a block COLLECTION LEVELING No (C4) Limited lifetime constraint! FT Flash chips L SSD Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
31 Understanding flash devices behavior • ! Define an experimental benchmark which can exhibit the behavior of flash devices. • ! Define a broad benchmark " ! No safe assumption can be made on the device behavior (black box) – ! e.g., Random writes are expensive… " ! No safe assumption on the benchmark usage! • ! Design a sound benchmarking methodology " ! IO cost is highly variable and depends on the whole device history! Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
32 Methodology (1): Device state Random Writes – Samsung SSD Random Writes – Samsung SSD Out of the box After filling the device ! Enforce a well-defined device state " ! performing random write IOs of random size on the whole device " ! The alternative, sequential IOs, is less stable, thus more difficult to enforce Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
33 Methodology (2): Startup and running phases • ! When do we reach a steady state? How long to run each test? Startup and running phases for Running phase for the Kingston DTI the Mtron SSD (RW) flash Drive (SW) ! ! Startup and running phase : Run experiments to define " ! IOIgnore : Number of IOs ignored when computing statistics " ! IOCount : Number of measures to allow for convergence of those statistics. Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
34 Methodology (3): Interferences Sequential Reads Random Writes Sequential Reads 10 Pause 1 0.1 0 250 500 750 1000 1250 1500 ! Interferences: Introduce a pause between experiments Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
35 Results (1): Samsung, memoright, Mtron Locality for the Samsung, Granularity for the Memoright and Mtron SSDs Memoright SSD • ! For SR, SW and RR, • ! When limited to a focused area, RW performs very well " ! linear behavior, almost no latency " ! good throughputs with large IO Size • ! For RW, ! 5ms for a 16KB-128KB IO Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
36 Results (2): Intel X25-E Response time (µs) SR, SW and RW have similar performance. RR are more costly! Response time (µs) IO size (KB) RW (16 KB) performance varies from 100 µs to 100 ms!! (x 1000) Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
37 Results (3): Fusion IO • ! Capacity vs Performance tradeoff (80 GB # 22 GB!) • ! Sensitivity to device state " Response %#!" %#!" time (µs) " IO Size = 4KB %!!" %!!" " $#!" $#!" 01" " 01" 11" " 11" " $!!" $!!" 0+" 0+" " 1+" 1+" " " #!" #!" " !" !" " " " " &'()'*" &'(+,-./" " " &'()'*" &'(+,-./" &'()'*" &'(+,-./" Fully written Low level formatted Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
38 Conclusion: Flash device behavior Finally, what is the behavior of flash devices? Common wisdom $ ! Update in place are inefficient? $ ! Random writes are slower than sequential ones? $ ! Better not filling the whole device if we want good performance? � ! Behavior varies across devices and firmware updates � ! Behavior depends heavily on the device state! Is it a problem ? Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
39 Conclusion: Flash device behavior (2) • ! Flash devices are difficult (impossible?) to model! • ! Hard to build DBMS design on such a moving ground! Bill Nesheim: Mythbusting Flash Performance • ! Substantial performance variability " ! Some cases can be even worse than disk • ! Performance outliers can have significant adverse impact • ! What’s Needed: – ! Predictable scaling & performance over time – ! Less asymmetry between reads/writes, random/sequential – ! Predictable response time (FMS 2011) Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
40 Outline of the first part of this tutorial Goal: understand the impact of flash memory on software (DBMS) design and vice-versa • ! We study flash chips, explaining their constraints and trends • ! We then consider flash devices as black boxes and try to understand their performance behavior (uFLIP) • ! We hit a wall with the black box approach # we open the box, i.e., the FTL, and look at FTL techniques • ! Finally, we propose an alternative to complex FTLs, better adapted for DBMS design Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
41 Opening the black box ! Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
42 FTL – Basic components Constraints MAPPING Read page (C1) Program granularity Read sector (C2) Erase before prog. Program page Write sector (C3) Sequential program GARBAGE WEAR within a block Erase block COLLECTION LEVELING (C4) Limited lifetime No constraint! FTL Flash chips SSD Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
43 FTL – Page Level Mapping • ! Basic page level mapping: translation table stored in SRAM Logical Physical Block 0 Block 1 Block 2 Block 3 " ! Problem: the table is too large ! (1 GB for 1 TB flash) (4KB pages) • ! Demand-base FTL: DFTL (Gupta et al. 2009) " ! The translation table is stored in Flash and cached in SRAM Cached Mapping Global Translation SRAM Table Directory Flash Translation Data blocks blocks Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
44 FTL - Mapping: Block Level / Hybrid • ! Pure Block Level Mapping Logical " ! Translation table at block level Physical " ! The page offset remains the same Block 0 Block 1 Block 2 Block 3 " ! Does not comply with C3! • ! Hybrid Mapping " ! Updates done out-of-place in log blocks " ! Data blocks # block mapping " ! Log blocks # page mapping " ! Proposals differ in the way log blocks are managed – ! 1 log block for 1 data block # BAST (Kim et al. 2002) – ! n log blocks for all data blocks # FAST (Lee et al. 2007) – ! Exploiting locality # LAST (Lee et al. 2008) " ! Cleaning when log blocks are exhausted # Major costs " ! Block mapping for data blocks does not either comply with C3! Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
45 FTL – Garbage Collection • ! With page mapping: Erased ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! Block 1 Block 1 Block 2 Block 2 Block 3 Block 3 • ! With hybrid mapping: three cases with BAST Full Merge Partial Merge Switch Log(Block0) Log(Block0) Log(Block0) ! ! ! Block 0 Block 0 Block 0 ! ! New Block0 ! ! ! ! ! ! ! ! ! ! ! ! ! ! Erase Erase Erase Erase ! • ! More complex with FAST pages of the same block can be on different log blocks " ! New block 0 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
46 FTL-Wear leveling • ! Goal: ensure that all blocks of the flash have about the same erase count (i.e., number of program/erase cycle). • ! Basic algorithm: hot-cold swapping (Jung et al. 2007) " ! Swap the blocks with min and max erase count. • ! Difficulties: (1) ! When to trigger the WL algorithm (2) ! How to manage erase count, how to select min or max erase count block wrt the limited CPU and memory resources of the flash controler (3) ! What wear leveling strategy? (4) ! Interactions between Garbage Collection and Wear Leveling • ! The same difficulties arise with garbage collection! Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
47 FTL: Trends Detect sequential Temporal/spatial Hybrid or semi-random locality? mapping writes Caching TRIM management MAPPING Compression / deduplication Security / encryption GARBAGE WEAR Adaptivity COLLECTION LEVELING Background/ Consider Dynamic / on demand hot/cold data static WL Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
48 FTL designers vs DBMS designers goals • ! Flash device designers goals: " ! Hide the flash device constraints (usability) " ! Improve the performance for most common workloads " ! Make the device auto-adaptive " ! Mask design decision to protect their advantage (black box approach) • ! DBMS designers goals: " ! Have a model for IO performance (and behavior) – ! Predictable – ! Clear distinction between efficient and inefficient IO patterns � ! To design the storage model and query processing/optimization strategies " ! Reach best performance, even at the price of higher complexity (having a full control on actual IOs) These goals are conflicting! Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
49 Outline of the first part of this tutorial Goal: understand the impact of flash memory on software (DBMS) design and vice-versa • ! We study flash chips, explaining their constraints and trends • ! We then consider flash devices as black boxes and try to understand their performance behavior (uFLIP) • ! We hit a wall with the black box approach # we open the box, i.e., the FTL, and look at FTL techniques • ! Finally, we propose an alternative to complex FTLs, better adapted for DBMS design Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
50 Minimal FTL: Take the FTL out of equation! FTL provides only wear leveling, using block mapping to address C4 (limited lifetime) • ! Pros " ! Maximal performance for – ! SR, RR, SW – ! Semi-Random Writes DBMS (C1) Write granularity Constrained Patterns only " ! Maximal control for the DBMS (C2) Erase before prog. (C1, C2, C3) (C3) Sequential prog. within a block • ! Cons " ! All complexity is handled Minimal flash device by the DBMS Block mapping, Wear Leveling (C4) Limited lifetime " ! All IOs must follow C1-C3 (C4) – ! The whole DBMS must be rewritten Flash chips – ! The flash device is dedicated Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
51 Semi-random writes (uFLIP [CIDR09]) • ! Inter-blocks : Random • ! Intra-block : Sequential • ! Example with 3 blocks of 10 pages: IO address &!" %#" %!" $#" $!" #" !" time 0 10 11 1 20 21 22 2 23 24 12 3 13 14 4 25 26 15 5 16 27 6 7 17 18 19 28 8 29 9 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
52 Bimodal FTL: a simple idea … • ! Bimodal Flash Devices : " ! Provide a tunnel for those IOs that respect constraints C1-C3 ensuring maximal performance " ! Manage other unconstrained IOs in best effort " ! Minimize interferences between these two modes of operation • ! Pros DBMS " ! Flexible unconstrained constr. patterns " ! Maximal performance and patterns (C1, C2, C3) control for the DBMS for (C1) Program granularity constrained IOs (C2) Erase before prog. Bimodal flash device • ! Cons (C3) Sequential prog. Page map., Garb. Coll. (C1, C2, C3) within a block (C4) Limited lifetime Block map., Wear Leveling " ! No behavior guarantees for (C4) unconstrained IOs. Flash chips Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
53 Bimodal FTL: easy to implement • ! Constrained IOs lead to optimal blocks Page 0 Page 0 Flag = Optimal Flag = Non-Optimal Page 1 Page 1 Page 2 Page 1’ Page 3 Page 1’’ Page 4 Page 0’ Page 5 Page 2 CurPos=6 CurPos=6 • ! Optimal blocks can be trivially " ! mapped using a small map table in safe cache 16 MB for a 1TB device " ! detected using a flag and cursor in safe cache • ! No interferences ! • ! No change to the block device interface : " ! Need to expose two constants: block size and page size Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
54 Bimodal FTL: better than Minimal + FTL • ! Non-optimal block can become Free (CurPos = 0) optimal (thanks to GC) TRIM TRIM Write at @ CurPos++ Write at @ ! CurPos Non Optimal optimal Garbage collector actions Write at @ CurPos++ Page 0 Page 0’ Flag = Non-Optimal Flag = Optimal Page 1 Page 1’’ Page 1’ Page 2 CurPos=3 Page 1’’ Page 0’ Page 2 CurPos=6 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
55 Impact on DBMS Design Using bimodal flash devices, we have a solid basis for designing efficient DBMS on flash: • ! What IOs should be constrained? " ! i.e., what part of the DBMS should be redesigned? • ! How to enforce these constraints? Revisit literature: " ! Solutions based on flash chip behavior enforce C1-C3 constraints " ! Solutions based on existing classes of devices might not. Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
56 Example: Hash Join on HDD One pass partitioning Multi-pass partitioning (2 passes) Tradeoff: IOSize vs Memory consumption • ! IOSize should be as large as possible, e.g., 256KB – 1 MB " ! To minimize IO cost when writing or reading partitions • ! IOSize should be as small as possible " ! To minimize memory consumption: One pass partitioning needs 2 x IOSize x NbPartitions in RAM " ! Insufficient memory # multi-pass # performance degrades! Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
57 Hash join on SSD and on bimodal SSD • ! With non bimodal SSDs " ! No behavior guarantees but… " ! Choosing IOSize = Block size (256 KB – 1MB) should bring good performance • ! With bimodal SSDs " ! Maximal performance are guaranteed (constrained patterns) " ! Use semi-random writes " ! IOSize can be reduced up to page size (4 – 16 KB) with no penalty ! ! Memory savings ! ! Performance improvement ! ! Predictability! Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
58 Summary • ! Flash chips " ! Performance & Energy consumption " ! Wired in parallel in flash devices • ! Hardware constraints! (C1) Program granularity, (C2) Erase before program, (C3) Sequential program within a block, (C4) Limited lifetime • ! FTL: a complex piece of sofware " ! Constantly evolving, no common behavior " ! Hard to model " ! Hard to build a consistent DBMS design! Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
59 Conclusion: DBMS Design ? Complex FTLs Simple FTLs HW Constraints HW Constraints Complex FTLs Bimodal Unpredictable performance Predictable & Optimal No stable design Stable Design • ! Adding bimodality does not hinder competition between flash device manufacturers, they can " ! bring down the cost of constrained IO patterns (e.g., using parallelism) " ! bring down the cost of unconstrained IO patterns without jeopardizing DBMS design Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
60 Tutorial Outline 1. Introduction (Philippe) 2. Flash devices characteristics (Luc) 3. Data management for flash devices (Stratis) 4. Two outlooks (Stratis & Philippe) Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
!"#$%&'#'()$*+,-./'0/1%23"345' % ! 6*(/*$'37'8#42)0+(/'9/:/*',/*73*8#21/'0%#2';<<'' % ! =3>',3>/*'132$+8,-32' % ! <*3,,)24',*)1/$' ! ! ?(/#&'@%*3>'#>#5';<<$'#2('*/,"#1/'/./*50%)24'>)0%'!"#$%'AA<$' ! ! B30'/23+4%'1#,#1)05' ! ! B30'/23+4%'832/5'03'9+5'0%/'230C/23+4%C1#,#1)05' ! ! ;3>/./*D'!"#$%'E0$'./*5'>/""'9/0>//2'<FGH'#2(';<<' ! ! <FGHI!"#$%I;<<',*)1/'*#-3&'JKLL&KL&K',/*'MN' ! ! <FGHI!"#$%I;<<'"#0/215'*#-3&'JK&KL&KLL' ! ! ?20/4*#0/'!"#$%')203'0%/'$03*#4/'%)/*#*1%5' ! ! 138,"/8/20'/O)$-24'<FGH'8/83*5'#2(';<<$' 61 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
6+0")2/' ! ! !"#$%C9#$/('(/.)1/'(/$)42' ! ! A3")('$0#0/'(*)./$' ! ! H#P)24'AA<$'(#0#9#$/C7*)/2("5' ! ! A5$0/8C"/./"'1%#""/24/$' ! ! ;59*)('$5$0/8$' ! ! A03*#4/D'9+Q/*)24'#2('1#1%)24' ! ! ?2(/O)24'32'R#$%' ! ! S+/*5'#2('0*#2$#1-32',*31/$$)24' 62 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
6+0")2/' ! ! !"#$%C9#$/('(/.)1/'(/$)42' ! ! A3")('$0#0/'(*)./$' ! ! H#P)24'AA<$'(#0#9#$/C7*)/2("5' ! ! A5$0/8C"/./"'1%#""/24/$' ! ! ;59*)('$5$0/8$' ! ! A03*#4/D'9+Q/*)24'#2('1#1%)24' ! ! ?2(/O)24'32'R#$%' ! ! S+/*5'#2('0*#2$#1-32',*31/$$)24' 63 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
!"#$%C9#$/('A3")('A0#0/'<*)./$' ! ! T38832'?I6')20/*7#1/' ! ! N"31PC#((*/$$#9"/')20/*7#1/' ! ! B3'8/1%#2)1#"'"#0/215' ! ! G11/$$'"#0/215')2(/,/2(/20'37'0%/'#11/$$',#:/*2' ! ! UL'03'VL'-8/$'83*/'/W1)/20')2'?6XAIY',/*'MN'0%#2';<<$' ! ! F/#('I'Z*)0/'#$588/0*5' ! ! F/#($'#*/'7#$0/*'0%#2'>*)0/$' ! ! [*#$/C9/73*/C>*)0/'")8)0#-32' ! ! =)8)0/('/2(+*#21/'I'>/#*'"/./")24'' ! ! V'5/#*'>#**#205'73*'/20/*,*)$/'AA<$'\#$$+8)24'KL'138,"/0/'*/C>*)0/$',/*'(#5]' ! ! [2/*45'/W1)/215' ! ! KLL'^'_LL'-8/$'83*/'/W1)/20'0%#2';<<$')2'?6XA'I'Z#:' ! ! X%5$)1#"',*3,/*-/$' ! ! F/$)$0#21/'03'/O0*/8/'$%31PD'.)9*#-32D'0/8,/*#0+*/D'#"-0+(/' ! ! B/#*C)2$0#20'$0#*0C+,'-8/' 64 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
AA<'#*1%)0/10+*/' 556(7#8,"9'89:#'( ! ! `#*)3+$'73*8'7#103*$' h' !"#$%' !"#$%' T%#22/"' T%),' T%),' ;3$0' XT?C/' <#0#' T320*3""/*' ! ! ?20/*7#1/' N+Q/*' [TT' AGA'\Kabc'^'UaVc]' ! ! AG@G'\Kabc'^'UaVc]' ! ! h' h' ! ! B+89/*'37'1%#22/"$' !"#$%' !"#$%' d'03'Ke'3*'83*/ ' T%),' T%),' ! ! H)1*3C' FGH' T%#22/"' ,*31/$$3*' ! ! FGH'9+Q/*$' T320*3""/*' [TT' ! ! KHN'+,'03'83*/'0%#2'_VeHN ' ! ! 6./*C,*3.)$)32)24' KLf'+,'03'dLf' ! ! =NGC03CXNG' N#('N"31P' F/g+/$0';#2("/*' ! ! T388#2('X#*#""/")$8' H#,' =)$0' =NGC03CXNG' Z*)0/'X#4/' M#*9#4/' Z/#*' H/0#'<#0#' ?20*#C1388#2(' !*//'N"31P' ! ! 8#,,/*' G""31#03*' T3""/103*' =/./")24' T#1%/' S+/+/' ?20/*C1388#2(' ! ! !"#$%&#'()!*&+,(-#&.+*&/0.(1&2'#(3(!-14( F/3*(/*)24'I'8/*4)24'\BTS]' ! ! 65 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
KVP'FXH'AGA';<<&'J $"!R%!! '?6XA' 6QC0%/C$%/"7'AA<$' ia_P'FXH'AG@G';<<&'J S! '?6XA' )5 25 ;5 =5 H5 XG@G'<*)./' AG@G'<*)./' AGA'<*)./' I3865I/,038 ' AG@G'<*)./' XT?C/'1#*(' ;3:'?6-8 5 ;3:'?6-8 5 ;3:'?6-8 5 H:0-878+'- 5 H:0-878+'- 5 H=T' I*/'15;1+7' ' H=T' H=T' A=T' A=T' U_'MN' ;/7/,+0J ' KLL'MN' KeLMN' KdLMN' dVL'MN' B-/.5 VU'HNI$' _bV'HNI$' _VL'HNI$' __L'HNI$' iLL'HNI$' 2/:.G+.01 ' K8+0-5 _b'HNI$' KLL'HNI$' KKV'HNI$' _VL'HNI$' VLL'HNI$' 2/:.G+.01 ' J'K'3*(/*'37'8#42)0+(/' B/:.365LM25 UaVP' ULP' UVP' dVP' KdLP' B-/.5NCOP ' k'_'3*(/*$'37'8#42)0+(/' B/:.365LM25 LaLKP' KLP' LaeP' KeP' iLP' K8+0-5NCOP ' J'KV'YIMN' J'd'YIMN' J'_aV'YIMN' JKb'YIMN' J'Ub'YIMN' P08--05O8+,-Q ' \_LLi]' \_LKL]' \_LKL]' \_LKK]' \_LLj]' 66 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
F/#('"#0/215' d'lN'F#2(38'F/#($'+2)73*8"5'()$0*)9+0/('3./*'0%/'>%3"/'8/()+8' VLf'*#2(38'(#0#' 1 0,9 0,8 0,7 Latency (ms) 0,6 0,5 0,4 0,3 B C 0,2 D 0,1 E 0 0 20000 40000 60000 80000 100000 120000 140000 160000 IOPS 67 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
Z*)0/'"#0/215' d'lN'F#2(38'Z*)0/$'+2)73*8"5'()$0*)9+0/('3./*'0%/'>%3"/'8/()+8' VLf'*#2(38'(#0#' 3 B C D E 2,5 2 Latency (ms) 1,5 1 0,5 0 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 IOPS 68 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
H)O/('>3*P"3#('^'F/#('"#0/215' d'lN'?I6'3,/*#-32$'+2)73*8"5'()$0*)9+0/('3./*'0%/'>%3"/'8/()+8' VLf'*#2(38'(#0#D'S+/+/'(/,0%'m'U_' d' )>-8/<-5B-/.5V/0-:,J5 UDV' N' T' <' [' U' B-'73:'-5A+6-5&6'(5 _DV' _' KDV' K' LDV' L' Lf' KLf' _Lf' ULf' dLf' VLf' eLf' iLf' bLf' jLf' KLLf' T53U5K8+0-'5 69 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
H)O/('>3*P"3#('^'Z*)0/'"#0/215' d'lN'?I6'3,/*#-32$'+2)73*8"5'()$0*)9+0/('3./*'0%/'>%3"/'8/()+8' VLf'*#2(38'(#0#D'S+/+/'(/,0%'m'U_' LDe' K_' )>-8/<-5K8+0-5V/0-:,J5 )>-8/<-5K8+0-5V/0-:,J5 LDV' B-'73:'-5A+6-5&6'(5 [' KL' LDd' N' T' <' [' LDU' b' B-'73:'-5A+6-5&6'(5 LD_' LDK' e' L' Lf' KLf' _Lf' ULf' dLf' VLf' eLf' iLf' bLf' jLf' KLLf' T53U5K8+0-'5 d' _' L' Lf' KLf' _Lf' ULf' dLf' VLf' eLf' iLf' bLf' jLf' KLLf' T53U5K8+0-'5 70 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
6+0")2/' ! ! !"#$%C9#$/('(/.)1/'(/$)42' ! ! A3")('$0#0/'(*)./$' ! ! H#P)24'AA<$'(#0#9#$/C7*)/2("5' ! ! A5$0/8C"/./"'1%#""/24/$' ! ! ;59*)('$5$0/8$' ! ! A03*#4/D'9+Q/*)24'#2('1#1%)24' ! ! ?2(/O)24'32'R#$%' ! ! S+/*5'#2('0*#2$#1-32',*31/$$)24' 71 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
o=//'p'H332D'A?MH6<'_LLiq' ?2C,#4/'"344)24' ! ! X#4/'+,(#0/$'#*/'"344/(' ! ! =34'$/103*'73*'/#1%'<N',#4/' G""31#0/('>%/2',#4/'9/138/'()*05' ! ! ! ! =34'*/4)32')2'/#1%'R#$%'9"31P' ! ! X#4/'>*)0/C9#1P$'32"5')2.3"./'"34C $/103*'>*)0/$' n2-"'#'8/*4/')$'*/g+)*/(' ! ! ! ! n,32'*/#(&' !/01%'"34'*/13*($'7*38'R#$%'' ! ! G,,"5'0%/8'03'0%/')2C8/83*5',#4/' ! ! ! ! A#8/'3*'83*/'2+89/*'37'>*)0/$' 2?0 D'$)42)E1#20'*/(+1-32'37'/*#$+*/$' ! ! ;3>/./*&' ^ ! @%/'<NHA'2//($'03'1320*3"',%5$)1#"',"#1/8/20'''' ^ ! X#*-#"'R#$%',#4/'>*)0/$'#*/')2.3"./(' 72 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
X#*#""/")$8r' =34)1#"'9"31P' L K _ U ! ! A-""D'$38/'3,/*#-32$'#*/'83*/'/W1)/20' 32'%#*(>#*/' H#,,)24'37'0%/'#((*/$$'$,#1/'03'R#$%',"#2/$D' ! ! ()/$'#2('1%#22/"$' h' !"#$%' !"#$%' T%#22/"' [TTD'/21*5,-32'/01a' T%),' T%),' ! ! T320*3""/*' U _ [TT' Z/#*C"/./")24'$-""'2//($'03'9/'(32/'95'0%/' ! ! (/.)1/'E*8>#*/' h' h' ! ! @%/')20/*2#"'(/.)1/'4/38/0*5')$'1*)-1#"' !"#$%' !"#$%' T%),' T%),' 03'#1%)/./'8#O)8+8',#*#""/")$8' T%#22/"' K L T320*3""/*' [TT' ! ! @%/'<NHA'2//($'03'9/'#>#*/'37'0%/' 4/38/0*5'03'$38/'(/4*//'' V3<+,/*54*3,M5'+W-5X5I*/'154*3,M5'+W-5 =34)1#"'9"31P'$)s/'*/"/.#20'03'2+89/*'37'1%#22/"$D',),/")2)24'1#,#9)")-/$'32'/#1%' 1%#22/"D'/01a' 73 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
AA<$'^'$+88#*5' ! ! !"#$%'8/83*5'%#$'0%/',30/2-#"'03'*/83./'0%/'?I6'93:"/2/1P' ! ! [$,/1)#""5'73*'*/#(C(38)2#0/('>3*P"3#($' ! ! tAA<c&'8+"-,"/'1"#$$/$'37'(/.)1/$' ! ! [O1/""/20'*#2(38'*/#('"#0/215')$'+2)./*$#"' ! ! F/#('#2('>*)0/'9#2(>)(0%'.#*)/$'>)(/"5' ! ! <*#8#-1'()Q/*/21/'#1*3$$'*#2(38'>*)0/'"#0/21)/$' ! ! <*#8#-1'()Q/*/21/$')2'0/*8$'37'/13238)1$&'YIMN'13$0D',3>/*' 132$+8,-32D'/O,/10/('")7/-8/D'*/")#9)")05' ! ! G'"30'37'*/$/#*1%'03'9/'(32/'03>#*($'(/E2)24'<NHAC$,/1)E1' )20/*7#1/$' 74 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
6+0")2/' ! ! !"#$%C9#$/('(/.)1/'(/$)42' ! ! A3")('$0#0/'(*)./$' ! ! H#P)24'AA<$'(#0#9#$/C7*)/2("5' ! ! A5$0/8C"/./"'1%#""/24/$' ! ! ;59*)('$5$0/8$' ! ! A03*#4/D'9+Q/*)24'#2('1#1%)24' ! ! ?2(/O)24'32'R#$%' ! ! S+/*5'#2('0*#2$#1-32',*31/$$)24' 75 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
A03*#4/D'9+Q/*)24'#2('1#1%)24' AA<'1#1%/' 9+Q/*' ,33"' (/8#2(' /.)1-32' ,#4)24' AA<',/*$)$0/20' ;<<',/*$)$0/20' $03*#4/' $03*#4/' 76 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
!"#$%'8/83*5'73*',/*$)$0/20'$03*#4/' AA<'1#1%/' 9+Q/*' ,33"' AA<',/*$)$0/20' ;<<',/*$)$0/20' $03*#4/' $03*#4/' 77 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
;59*)('$03*#4/'"#5/*' AA<'1#1%/' 9+Q/*' ,33"' AA<',/*$)$0/20' ;<<',/*$)$0/20' $03*#4/' $03*#4/' 78 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
!"#$%'8/83*5'#$'1#1%/' AA<'1#1%/' 9+Q/*' ,33"' AA<',/*$)$0/20' ;<<',/*$)$0/20' $03*#4/' $03*#4/' 79 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
6+0")2/' ! ! !"#$%C9#$/('(/.)1/'(/$)42' ! ! A3")('$0#0/'(*)./$' ! ! H#P)24'AA<$'(#0#9#$/C7*)/2("5' ! ! A5$0/8C"/./"'1%#""/24/$' ! ! ;59*)('$5$0/8$' ! ! A03*#4/D'9+Q/*)24'#2('1#1%)24' ! ! ?2(/O)24'32'R#$%' ! ! S+/*5'#2('0*#2$#1-32',*31/$$)24' 80 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
;59*)('$5$0/8$' ! ! X*39"/8'$/0+,' ! ! AA<$'#*/'9/138)24'13$0C/Q/1-./D'9+0'$-""'230'*/#(5'03'*/,"#1/';<<$' )2'0%/'/20/*,*)$/' ! ! T/*0#)2"5'1321/).#9"/'03'%#./'930%'AA<$'#2(';<<$'#0'0%/'$#8/'"/./"' 37'0%/'$03*#4/'%)/*#*1%5' ! ! F/$/#*1%'g+/$-32$' ! ! ;3>'1#2'>/'0#P/'#(.#20#4/'37'0%/'AA<'1%#*#10/*)$-1$'>%/2' (/$)42)24'#'(#0#9#$/r' ! ! ;3>'1#2'>/'3,-8#""5',"#1/'(#0#'#1*3$$'930%'05,/$'37'8/()+8r' ! ! H/0%3(3"34)/$' ! ! Z3*P"3#('(/0/1-32'73*'(#0#',"#1/8/20' ! ! =3#('9#"#21)24'03'8)2)8)s/'*/$,32$/'-8/' ! ! T#1%)24'(#0#'9/0>//2'()$P$' 81 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
ol'p'`D''`=<N'_LLbq' Z3*P"3#(C(*)./2',#4/',"#1/8/20' ! ! !"#$%'8/83*5'#2(';<<'#0'0%/' n$/*C"/./"' ,#4/'?I6' $#8/'"/./"'37'0%/'$03*#4/' 0#&12%)(345(#6'$%7#8,( %)/*#*1%5' N+Q/*' F/,"#1/8/20' ! ! H32)03*',#4/'+$/'95'P//,)24'0*#1P' 8#2#4/*' ,3")15' 37'*/#($'#2('>*)0/$' 9':;',",(<#$(6-*,12%)(345( ! ! =34)1#"'3,/*#-32$'\)a/aD'*/7/*/21/$' A03*#4/' 32"5]' =-*,12%)(345(#6'$%7#8,( 8#2#4/*' ! ! X%5$)1#"'3,/*#-32$'\#10+#""5' 03+1%)24'0%/'()$P]' X#4/'8)4*#-32$' ! ! ;59*)('83(/"'\"34)1#"'3,/*#-32$' AA<' ;<<' 8#2)7/$0/('#$',%5$)1#"'32/$]' !"#$%&'()%*'$( ! ! ?(/2-75'0%/'>3*P"3#('37'#',#4/' #2('#,,*3,*)#0/"5',"#1/')0' F/#(I>*)0/' 3,/*#-32' ! ! F/#(C)20/2$)./',#4/$'32'R#$%' 8 PP=5 &G PP= (5 8 Y/'15 &G Y/'1 (5 ! ! Z*)0/C)20/2$)./',#4/$'32';<<' G PP=5 ! ! H)4*#0/',#4/$'>%/2'0%/5'%#./' /O,/2$/('0%/)*'13$0')7'/**32/3+$"5' .//( +%,-( G Y/'15 ,"#1/(' _C$0#0/'0#$P'$5$0/8' 82 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
oT#2)8D'H)%#)"#D'N%#:#1%#*u//D'F3$$'p'=#24D'`=<N'_LLjq' 69u/10',"#1/8/20' ! ! ;59*)('()$P'$/0+,' (/.)1/' >3*P"3#(' ! ! 6v)2/'033"' ,#*#8/0/*$' ! ! 6,-8#"'39u/10'#""31#-32' #1*3$$'0%/'0>3'05,/$'37'()$P' N+Q/*',33"' 832)03*' 69u/10' <#0#9#$/' ! ! @>3',%#$/$' ,"#1/8/20' /24)2/' F/#(I>*)0/$' #(.)$3*' ! ! X*3E")24&'$0#*0'>)0%'#""'39u/10$' 32'0%/';<<'#2('832)03*' $5$0/8'+$/' ! ! </1)$)32&'9#$/('32',*3E")24' ='$<#$>%82'( $0#-$-1$'/$-8#0/' &%18(?,@( ,/*73*8#21/'4#)2/('7*38' .//( !!/( 83.)24'/#1%'39u/10'7*38'0%/' ;<<'03'0%/'AA<' D;"E#F(6#18"( ! ! F/(+1/'0%/'(/1)$)32'03'#' A03*#4/'$5$0/8' P2#,$#1P',*39"/8'#2('#,,"5' 4*//(5'%/+*)$-1$' !!/(A;B&'"(?C@( ! ! ?8,"/8/20/(')2'<N_' 83 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
oA3+2(#*#*#u#2D'X*#9%#P#*#2D'N#"#P*)$%2#2D'p'Z399/*D'!GA@'_LKLq' o;3""3>#5'X%<'@%/$)$D'nZCH#()$32D'_LLjq' Z*)0/'1#1%)24' ! ! AA<'73*',*)8#*5'$03*#4/D'#+O)")#*5';<<'' ! ! @#P/'#(.#20#4/'37'9/:/*';<<'>*)0/',/*73*8#21/'03'/O0/2(' AA<'")7/-8/'#2(')8,*3./'>*)0/'0%*3+4%,+0' ! ! Z*)0/$'#*/',+$%/('03'0%/';<<'' ! ! =34'$0*+10+*/'/2$+*/$'$/g+/2-#"'>*)0/$' ! ! !)O/('"34'$)s/' ! ! 621/'"34')$'7+""'8/*4/'>*)0/$'9#1P'03'0%/'AA<' ;<<C*/$)(/20' >*)0/' "34' */#(' 8/*4/' AA<' 84 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
oZ+'p'F/((5D''HGAT6@A'_LKLq' =3#('9#"#21)24'03'8#O)8)s/'0%*3+4%,+0' ! ! A/w24'132$)$0$'37'#'0*#2$#1-32',*31/$$)24'$5$0/8'>)0%'930%'05,/$' 37'()$P' ! ! 69u/1-./')$'03'9#"#21/'0%/'"3#('#1*3$$'8/()#' ! ! G1%)/./('>%/2'0%/'*/$,32$/'-8/$'#1*3$$'8/()#'#*/'/g+#"D')a/aD'#' Z#*(*3,'/g+)")9*)+8' ! ! G"43*)0%8$'03'#1%)/./'0%)$'/g+)")9*)+8'' ! ! X#4/'1"#$$)E1#-32'\%30'3*'13"(]' ! ! X#4/'#""31#-32'#2('8)4*#-32' !"#$%&'(>%8%&'>'8"()%*'$( ;30I13"('(#0#' 1#1%/' 1"#$$)E/*' N:.+8-,056/77+:<50/4*-5 0#&12%)( /'H12'( =-*,12%)(%BB$G( 6,/*#-32' A03*#4/'8#' <#0#'\*/]"31#03*' %BB$G( */()*/103*' ;<<_' AA<_' </.)1/',/*73*8#21/' X3")15'132E4+*#-32' 832)03*' 85 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
6+0")2/' ! ! !"#$%C9#$/('(/.)1/'(/$)42' ! ! A3")('$0#0/'(*)./$' ! ! H#P)24'AA<$'(#0#9#$/C7*)/2("5' ! ! A5$0/8C"/./"'1%#""/24/$' ! ! ;59*)('$5$0/8$' ! ! A03*#4/D'9+Q/*)24'#2('1#1%)24' ! ! ?2(/O)24'32'R#$%' ! ! S+/*5'#2('0*#2$#1-32',*31/$$)24' 86 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
N+Q/*)24')2'8#)2'8/83*5' ! ! X*39"/8'$/0+,' ! ! !"#$%'8/83*5')$'+$/('73*',/*$)$0/20'$03*#4/' ! ! @5,)1#"'32C(/8#2(',#4)24' ! ! F/$/#*1%'g+/$-32$' ! ! Z%)1%',#4/$'(3'>/'9+Q/*r' ! ! Z%)1%',#4/$'(3'>/'/.)10'#2('>%/2r' ! ! H/0%3(3"34)/$' ! ! !"#$%'8/83*5'$)s/'#")428/20' ! ! T3$0C9#$/('*/,"#1/8/20' ! ! Z*)0/'$1%/(+")24' 87 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
ol)8'p'G%2D'!GA@'_LLbq' N"31P',#(()24'=Fn'\NX=Fn]' ! ! H#2#4/$'0%/'32'()$P' I9J(A)#2K( 09J(A)#2K( FGH'9+Q/*' N"P'L' N"P'_' N"P'U' N"P'K' ! ! <#0#'9"31P$'#*/' e' L' j' 3*4#2)s/('#0'/*#$/C+2)0' K' d' 4*#2+"#*)05' KK' V' ! ! =Fn'g+/+/')$'32'(#0#' 9"31P$' 0#&12%)(,'2"#$(LL($'<'$'82'B( ! ! 62'*/7/*/21/D'83./'0%/' N"P'_' N"P'U' N"P'L' N"P'K' /2-*/'9"31P'03'0%/'%/#(' j' L' 37'0%/'g+/+/' e' K' d' ! ! 62'/.)1-32D' KK' V' $/g+/2-#""5'>*)0/'0%/' /2-*/'9"31P' M127>(A)#2KN(( )#&12%)(,'2"#$,(OP(Q(R$1S'8( 88 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
ol)8'p'G%2D'!GA@'_LLbq' NX=Fn&'!+*0%/*'3,-8)s#-32$' ! ! n$/'37',#(()24' !@='*/#($' ! ! ?7'#'(#0#'9"31P'03'9/' 8)$$)24' */#(' >*):/2'%#$'230'9//2' i' $/103*$'#2(' e' j' 7+""5'*/#(D'*/#('>%#0x$' */,"#1/$'(#0#' 9"31P')2'32/' 8)$$)24'#2('>*)0/' b' KK' $/g+/2-#"'>*)0/' $/g+/2-#""5' >*)0/' ! ! =Fn'138,/2$#-32' N"P'L' N"P'_' N"P'U' N"P'K' ! ! A/g+/2-#""5'>*):/2' I9J(A)#2K( 9"31P$'#*/'83./('03' 09J(A)#2K( e' L' j' 0%/'/2('37'0%/'=Fn' i' K' d' g+/+/' b' KK' V' ! ! =/#$0'")P/"5'03'9/' >*):/2')2'0%/'7+0+*/' L' j' e' K' d' i' V' KK' e' 89 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011 N"P'U' N"P'L' N"P'K' N"P'_'
T3$0C9#$/('*/,"#1/8/20' ! ! T%3)1/'37'.)1-8'(/,/2($'32',*39#9)")05'37'*/7/*/21/'\#$' +$+#"]' ! ! N+0'0%/'/.)1-32'13$0')$'230'+2)73*8' ! ! T"/#2',#4/$'9/#*'23'>*)0/'13$0D'()*05',#4/$'*/$+"0')2'#'>*)0/' ! ! ?I6'#$588/0*5&'>*)0/$'83*/'/O,/2$)./'0%#2'*/#($' ! ! ?0'(3/$2x0'%+*0')7'>/'8)$/$-8#0/'0%/'%/#0'37'#',#4/' ! ! A3'"324'#$'>/'$#./'\/O,/2$)./]'>*)0/$' ! ! l/5')(/#&'1389)2/'=FnC9#$/('*/,"#1/8/20'>)0%'13$0C 9#$/('#"43*)0%8$' ! ! G,,")1#9"/'930%')2'AA<C32"5'#$'>/""'#$'%59*)('$5$0/8$' 90 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
oX#*PD'z+24D'l#24D'l)8'p'=//D'TGA[A'_LLeq' T"/#2'E*$0'=Fn'\T!=Fn]' ! ! N+Q/*',33"'().)(/(')203'0>3'*/4)32$' Z3*P)24'*/4)32&'9+$)2/$$'#$'+$+#"' ! ! T"/#2CE*$0'*/4)32&'1#2()(#0/$'73*'/.)1-32' ! ! B+89/*'37'1#2()(#0/$')$'1#""/('0%/'>)2(3>'$)s/'Z' ! ! ! ! G">#5$'/.)10'7*38'1"/#2CE*$0'*/4)32' ! ! [.)10'1"/#2',#4/$'9/73*/'()*05'32/$'03'$#./'>*)0/'13$0' ! ! ?8,*3./8/20&'T"/#2C!)*$0'<)*05CT"+$0/*/('o6+D';#*(/*'p'y)2D'<GH6B'_LLjq' T"+$0/*'()*05',#4/$'37'0%/'1"/#2CE*$0'*/4)32'9#$/('32'$,#-#"',*3O)8)05' ! ! =Fn'3*(/*&' XbD'XiD'XeD'XV' ()*05',#4/' 1"/#2',#4/' T!=Fn'3*(/*&' XiD'XVD'XbD'Xe' U#$K18&($'&1#8( D)'%8ET$,"($'&1#8( XK' X_' XU' Xd' XV' Xe' Xi' Xb' I9J( 09J( U18B#R(,1V'(U( 91 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
ol'p'`D''`=<N'_LLbq' T3$0C9#$/('*/,"#1/8/20')2'%59*)('$5$0/8$' ! ! A)8)"#*'03'0%/',*/.)3+$')(/#D'9+0' 73*'%59*)('$/0+,$' W1>'($'&1#8( ! ! AA<'#2(';<<'73*',/*$)$0/20'$03*#4/' ! ! <).)(/'0%/'9+Q/*',33"')203'0>3' */4)32$' ! ! @)8/'*/4)32&'05,)1#"'=Fn' ! ! T3$0'*/4)32&'73+*'=Fn'g+/+/$D'32/' D#,"($'&1#8( ,/*'13$0'1"#$$' ! ! T"/#2'R#$%' ! ! T"/#2'8#42/-1' ! ! <)*05'R#$%' ! ! <)*05'8#42/-1' 13$0' ! ! 6*(/*'g+/+/$'9#$/('32'13$0' ! ! [.)10'7*38'-8/'*/4)32'03'13$0' */4)32' ! ! !)2#"'.)1-8')$'#">#5$'7*38'0%/'13$0' */4)32' 92 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
oA03)1#D'G0%#2#$$3+")$D'y3%2$32'p'G)"#8#P)D'<GH6B'_LLjq' G,,/2('#2(',#1P' ! ! T32./*0'*#2(38'>*)0/$'03' $/g+/2-#"'32/$' ! ! A%)8'"#5/*'9/0>//2'$03*#4/' 8#2#4/*'#2('AA<' ! ! 62'/.)1-32D'4*3+,'()*05',#4/$D' )2'9"31P$'0%#0'#*/'8+"-,"/$'37' *#2(38'>*)0/$' 0%/'/*#$/'+2)0' ! ! <3'230'3./*>*)0/'3"('./*$)32$D' A%)8'$03*#4/'8#2#4/*'"#5/*' )2$0/#('>*)0/'9"31P' $/g+/2-#""5' 4*3+,'#2(' )2.#")(#0/' >*)0/'' ! ! ?2.#")(#0/'3"('./*$)32$' $/g+/2-#""5' ! ! X#5'0%/',*)1/'37'#'7/>'/O0*#' */#($'9+0'$#./'0%/'13$0'37' *#2(38'>*)0/$' AA<',/*$)$0/20'$03*#4/' 93 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
T#1%)24')2'R#$%'8/83*5' ! ! X*39"/8'$/0+,' ! ! AA<'#2(';<<'#0'()Q/*/20'"/./"$'37'0%/'$03*#4/'%)/*#*1%5' ! ! !"#$%'8/83*5'+$/('#$'#'1#1%/'73*';<<',#4/$' ! ! F/$/#*1%'g+/$-32$' ! ! Z%/2'#2('%3>'03'+$/'0%/'AA<'#$'#'1#1%/r' ! ! Z%)1%',#4/$'03'9*)24')203'0%/'1#1%/r' ! ! ;3>'03'1%33$/'.)1-8',#4/$r' ! ! H/0%3(3"34)/$' ! ! 6,-8#"'1%3)1/'37'%#*(>#*/'132E4+*#-32' ! ! AA<'#$'#'*/#('1#1%/' ! ! !"#$%C*/$)(/20'/O0/2(/('9+Q/*',33"$' 94 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
oB#*#5#2#2D'@%/*/$P#D'<322/""5D'["2)P/-'p'F3>$0*32D'[+*3A5$'_LLjq' ?213*,3*#-24'AA<$')203'0%/'/20/*,*)$/' 39u/1-./$' ! ! <)$1),")2/('>#5'37')20*3(+1)24' AA<'$03*#4/' Z3*P"3#(' 0*#1/$' ! ! H)4*#-32'7*38';<<$'03'AA<$' */g+)*/8/20$' A3"./*' ! ! F/g+)*/8/20$'#2('83(/"$' 132E4+*#-32' </.)1/' #2#"5-1#""5'03'$3"./'0%/' $,/1$' 83(/"$' 132E4+*#-32',*39"/8' ! ! A)8,"5'*/,"#1)24';<<$'>)0%' 9/21%8#*P$' AA<$')$'230'13$0C/Q/1-./' >*)0/' */#(' ! ! AA<$'#*/'9/$0'+$/('#$'#'1#1%/' ! ! _C-/*/('#*1%)0/10+*/' U$1"'E%-'%B()#&( 9'%B(2%2-'( AA<'-/*' ! ! =34'#2('*/#('1#1%/'32'0%/' AA<$D'(#0#'32'0%/';<<$' ! ! N+0'/./2'0%/2'0%/'9/2/E0$'#*/' ;<<'-/*' ")8)0/(' 95 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
o=/./20%#"D'T388+2a'GTHD'VK\i]'_LLbq' @%/'{!A',/*$,/1-./' ! ! H+"-C-/*/('#*1%)0/10+*/' 9+Q/*' ,33"' ! ! T389)2#-32'37'"344)24'#2(' */#('1#1%)24' ! ! !"#$%'8/83*5')$'433('73*' "#*4/'$/g+/2-#"'>*)0/$')2'#2' #,,/2(C32"5'7#$%)32'\23' +,(#0/$]' ! ! G"$3'433('#$'#'*/#('1#1%/'73*' =34' G44*/4#0/'1%#24/$'#2(' 3,/*#-32$' ,*/()1-./"5',+$%' ;<<'(#0#' ! ! [.)10C#%/#(',3")15' )#&( 9'%B(2%2-'( AA<'-/*' ! ! G44*/4#0/'1%#24/$'7*38' 8/83*5'#2(',*/()1-./"5',+$%' 0%/8'03'R#$%'03'#83*-s/'%)4%' ;<<'-/*' >*)0/'13$0' 96 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
oT#2)8D'H)%#)"#D'N%#:#1%#*u//D'F3$$'p'=#24D'X`=<N'_LKLq' o;3""3>#5'X%<'@%/$)$D'nZCH#()$32D'_LLjq' <NHA'9+Q/*',33"'/O0/2$)32$' TXnI1#1%/' ! ! G4#)2'#'8+"-C-/*/(' \K]'*/#('*/13*(' \e]'>*)0/'*/13*(' #,,*3#1%' ! ! X3")1)/$'#2('#"43*)0%8$'73*' I%18(>'>#$*(A;F'$(6##)( 1#1%)24')2'R#$%C*/$)(/20' 9+Q/*',33"$' \V]'>*)0/' @/8,/*#0+*/C9#$/(' \_]'*/#(',#4/' ()*05',#4/' */,"#1/8/20' ! ! AA<'#$'$/132(#*5'9+Q/*',33"' \d]'>*)0/',#4/' ! ! @/8,/*#0+*/C9#$/('/.)1-32' !!/(A;F'$(6##)( ,3")15'7*38'8/83*5'03'AA<' \e]'+,(#0/' AA<'13,5' ! ! X#4/$'#*/'1#1%/('32"5')7'%30' \U]'*/#(',#4/' /23+4%' 230'32'AA<' ! ! G"43*)0%8$'73*'$521)24'(#0#' #1*3$$'0%/'1#1%/$' .//(R1"-()#&12%)($'&1#8,( 97 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
ol'p'`D'G<N?A'_LKKq' X+w24')0'#""'034/0%/*' ! ! [O0/2$)./'$0+(5'37'+$)24'R#$%' 9+Q/*' 8/83*5'#$'1#1%/' ,33"' ! ! X#4/'R3>'$1%/8/$'()10#0/'%3>' (#0#'8)4*#0/$'#1*3$$'0%/'-/*$' AA<' ! ! ?21"+$)./&'(#0#')2'8/83*5')$'#"$3'32' R#$%' 1#1%/' ! ! [O1"+$)./&'23',#4/')$'930%')2' 8/83*5'#2('32'R#$%' ! ! =#s5&'#2')2C8/83*5',#4/'8#5'3*' 8#5'230'9/'32'R#$%'(/,/2()24'32' /O0/*2#"'1*)0/*)#' ! ! T3$0'83(/"',*/()10$'%3>'#' 1389)2#-32'37'>3*P"3#('#2(' $1%/8/'>)""'9/%#./'32' 132E4+*#-32'' ! ! B3'8#4)1'1389)2#-32|'()Q/*/20' $1%/8/$'73*'()Q/*/20'>3*P"3#($' ;<<',/*$)$0/20' #2('()Q/*/20';;<$'#2('AA<$' $03*#4/' 98 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
6+0")2/' ! ! !"#$%C9#$/('(/.)1/'(/$)42' ! ! A3")('$0#0/'(*)./$' ! ! H#P)24'AA<$'(#0#9#$/C7*)/2("5' ! ! A5$0/8C"/./"'1%#""/24/$' ! ! ;59*)('$5$0/8$' ! ! A03*#4/D'9+Q/*)24'#2('1#1%)24' ! ! ?2(/O)24'32'R#$%' ! ! S+/*5'#2('0*#2$#1-32',*31/$$)24' 99 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
?2(/O)24' ! ! X*39"/8'$/0+,' ! ! Z%)"/',*/$/2-24'0%/'$#8/'?I6')20/*7#1/'#$';<<$D'R#$%' 8/83*5'%#$'*#()1#""5'()Q/*/20'1%#*#10/*)$-1$' ! ! ?I6'#$588/0*5D'/*#$/C9/73*/C>*)0/'")8)0#-32' ! ! F/$/#*1%'g+/$-32$' ! ! ;3>'$%3+"('>/'#(#,0'/O)$-24')2(/O)24'#,,*3#1%/$r' ! ! ;3>'1#2'>/'(/$)42'/W1)/20'$/132(#*5'$03*#4/')2(/O/$'^' ,30/2-#""5'73*'83*/'0%#2'32/'8/0*)1r' ! ! H/0%3(3"34)/$' ! ! G.3)('/O,/2$)./'3,/*#-32$'>%/2'+,(#-24'0%/')2(/O' ! ! A/"7C0+2)24')2(/O)24D'1#0/*)24'73*'R#$%C*/$)(/20'(#0#' ! ! T389)2/'AA<$'#2(';<<$'73*')21*/#$/('0%*3+4%,+0' 100 Bonnet, Bouganim, Koltsidas, Viglas, VLDB 2011
Recommend
More recommend