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

LevelDB入門

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

 LevelDB入門

InfluxDB勉強会用資料

Avatar for Yosuke Furukawa

Yosuke Furukawa PRO

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࠶࡞੒ίετΛݮΒͯ͠ ͍Δ