Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LevelDB入門

 LevelDB入門

InfluxDB勉強会用資料

Yosuke Furukawa

June 27, 2014
Tweet

More Decks by Yosuke Furukawa

Other Decks in Programming

Transcript

  1. LevelDBಛ௃ • σʔλ͸keyͰιʔτ͞Εͯ֨ೲ͞ΕΔ • جຊతͳૢ࡞͸ Put(key, value), Get(key), Delete(key)Ͱ ͋Γɺγϯϓϧɻ

    • ෳ਺ͷมߋΛatomicͳॲཧʹ͢Δ͜ͱ͕Ͱ͖Δ • consistentͳσʔλͷviewΛಘΔͨΊ(ॻ͖ࠐΈதͰ΋ readͰ͖ΔΑ͏ʹ͢ΔͨΊ)ʹtransient ͳ snapshotΛ࡞ Δ͜ͱ͕Ͱ͖Δ
  2. Sorted String Table LFZ P⒎TFU BBB  CCC  DDD

     JOEFY 445 BBB  CCC IPHFGVHBʜ DDD ʜ
  3. Sorted String Table LFZ P⒎TFU BBB  CCC  DDD

     JOEFY 445 BBB  CCC IPHFGVHBʜ DDD ʜ LFZͰTPSU͞Ε͓ͯΓɺ JOEFYʹ͸ϑΝΠϧͷͲ͔͜ΒಡΈࠐ Ή͔ P⒎TFU ͕ॻ͍ͯ͋Δ LFZWBMVFͷॱংͰҰଓ͖Ͱ ϑΝΠϧʹॻ͔ΕΔ
  4. -FWFM -FWFM -FWFM Sorted String Table 445 445 445 445

    445 445 445 445 445 445 445 445 445 445
  5. -FWFM -FWFM -FWFM Sorted String Table 445 445 445 445

    445 445 445 445 445 445 445 445 445 445 -FWFM%#Ͱ͸͜ͷ445Λ ֊૚Խ ͕͜͜-FWFM%#ͷ༝དྷ ͯ͠؅ཧ͍ͯ͠Δɻ -FWFM͕ਂ͘ͳΕ͹ͳΔ΄Ͳ ؅ཧ͢Δ༰ྔ͕૿͑Δ -FWFMͰ.# -FWFMͰ.# -FWFMͰ(# ͱେମഒִؒͰ૿͑ͯ͘
  6. -FWFM -FWFM -FWFM Sorted String Table 445 445 445 445

    445 445 445 445 445 445 445 445 445 445 ͜͏͢Δ͜ͱͰԿ͕خ͍͔͠ ֊૚͕ए͍-FWFM͸༰ྔ΋গ ͳ͘ɺJOEFYͷ࠶࡞੒ίετ͕ ௿͍ɻ JOTFSU͕සग़͢ΔΑ͏ͳ৔໘Ͱ ΋XSJUFͷੑೳΛޮ཰ԽͰ͖Δ
  7. Put -FWFM NFNUBCMF NFNUBCMFTOBQTIPU 1VU DPQZ MPH EVNQUPEJTL 445 -FWFM

    .# 445 445 445 ʜ -FWFM .# 445 445 445 ʜ
  8. Put -FWFM NFNUBCMF NFNUBCMFTOBQTIPU 1VU DPQZ MPH EVNQUPEJTL 445 -FWFM

    .# 445 445 445 ʜ -FWFM .# 445 445 445 ʜ શͯͷߋ৽ॲཧ͸Ұ୴ .FNUBCMFͱ-PHʹॻ͘
  9. Put -FWFM NFNUBCMF NFNUBCMFTOBQTIPU 1VU DPQZ MPH EVNQUPEJTL 445 -FWFM

    .# 445 445 445 ʜ -FWFM .# 445 445 445 ʜ Ұఆྔஷ·Δͱ 4OBQTIPUΛ࡞ͬͯɺ 445ʹEVNQ͢Δ
  10. Put -FWFM NFNUBCMF NFNUBCMFTOBQTIPU 1VU DPQZ MPH EVNQUPEJTL 445 -FWFM

    .# 445 445 445 ʜ -FWFM .# 445 445 445 ʜ -FWFM͕ҰഋʹͳͬͨΒ -FWFMʹҠಈͤ͞Δ
  11. Get -FWFM NFNUBCMF (FU MPH 4FBSDI 445 -FWFM .# 445

    445 445 ʜ -FWFM .# 445 445 445 ʜ #MPPN'JMUFS -FWFMʹ͋ΔՄೳ ੑ͕͋Δ 4LJQ 4FBSDI 4LJQ
  12. Get -FWFM NFNUBCMF (FU MPH 4FBSDI 445 -FWFM .# 445

    445 445 ʜ -FWFM .# 445 445 445 ʜ #MPPN'JMUFS -FWFMʹ͋ΔՄೳ ੑ͕͋Δ 4LJQ 4FBSDI 4LJQ NFNUBCMF -FWFM -FWFM  -FWFMͱݟ͍ͯͬͯώοτ ͨ͠Βฦ͢ɻ
  13. Get -FWFM NFNUBCMF (FU MPH 4FBSDI 445 -FWFM .# 445

    445 445 ʜ -FWFM .# 445 445 445 ʜ #MPPN'JMUFS -FWFMʹ͋ΔՄೳ ੑ͕͋Δ 4LJQ 4FBSDI 4LJQ ແବͳ୳ࡧͷࢬמΓΛ͢Δͨ Ίʹ#MPPN'JMUFSʹΑͬͯଘࡏ ͢Δ͔Ͳ͏͔Λ֬ೝ͢Δ
  14. Delete -FWFM %FMFUF NFSHF MPH 445 -FWFM .# 445 445

    445 ʜ -FWFM .# 445 445 445 ʜ EFMFUFqBH LFZ WBMVF EFMFUFE BCD  EFG  HIJ  EFMFUFqBH LFZ WBMVF EFG  HIJ 
  15. Delete -FWFM %FMFUF NFSHF MPH 445 -FWFM .# 445 445

    445 ʜ -FWFM .# 445 445 445 ʜ EFMFUFqBH LFZ WBMVF EFMFUFE BCD  EFG  HIJ  EFMFUFqBH LFZ WBMVF EFG  HIJ  جຊతʹEFMFUFqBHΛ෇͚Δ ͚ͩͷ࿦ཧ࡟আ
  16. Delete -FWFM %FMFUF NFSHF MPH 445 -FWFM .# 445 445

    445 ʜ -FWFM .# 445 445 445 ʜ EFMFUFqBH LFZ WBMVF EFMFUFE BCD  EFG  HIJ  EFMFUFqBH LFZ WBMVF EFG  HIJ  -FWFMΛ·͙ͨຖʹ࣮ࡍʹ EFMFUF͢Δ
  17. Delete -FWFM %FMFUF NFSHF MPH 445 -FWFM .# 445 445

    445 ʜ -FWFM .# 445 445 445 ʜ EFMFUFqBH LFZ WBMVF EFMFUFE BCD  EFG  HIJ  EFMFUFqBH LFZ WBMVF EFG  HIJ  ͜͏͢Δ͜ͱͰEFMFUF࣌ͷ JOEFY࠶࡞੒ίετΛݮΒͯ͠ ͍Δ