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

最強のDatastoreライブラリを作った / golang.tokyo #11

最強のDatastoreライブラリを作った / golang.tokyo #11

Masahiro Wakame

December 11, 2017
Tweet

More Decks by Masahiro Wakame

Other Decks in Programming

Transcript

  1. ࠷ڧͷDatastoreϥΠϒϥϦΛ࡞ͬͨ
    golang.tokyo #11
    Θ͔Ί ·͞ͻΖ

    View Slide

  2. Θ͔Ί ·͞ͻΖ @v vakame
    TypeScript
    Masahiro Wakame
    DefinitelyTyped
    appengine/go
    photo from golang.org/doc/gopher/

    View Slide

  3. Datastore

    View Slide

  4. ஌ͬͯ·͔͢ʁ
    • ஌ͬͯͨʂ
    • ࠓ஌ͬͨʂ

    View Slide

  5. Datastore?
    • Googleͷfull managed scalable DB
    • https://cloud.google.com/datastore/

    View Slide

  6. ࠷ߴ

    View Slide

  7. View Slide

  8. ՝୊

    View Slide

  9. ՝୊ 1
    • AppEngine Datastore
    • Cloud Datastore
    • ↑API͕ҟͳΔ

    View Slide

  10. ՝୊ 2
    • PropertyLoadSaverͰctx͕໯͑ͳ͍
    • ↑AppEngine ctxͳ͍ͱԿ΋Ͱ͖ͳ͍

    View Slide

  11. ՝୊ 3
    • Structͷfieldʹಛఆͷܕ͔͠࢖͑ͳ͍
    • ↑JSONԽ͢Δ࣌٧ସ͕ͩΔ͍

    View Slide

  12. ՝୊ 4
    • DBͱͷRPCճ਺͕গͳ͍΄Ͳૣ͍
    • গͳ͍ίʔυ͸৭ʑflatten͢ΔͷͰ

    Մಡੑ͕ѱ͍
    • ↑ՄಡੑΛ٘ਜ਼ʹͨ͘͠ͳ͍…

    View Slide

  13. શ෦ղܾ͠·ͨ͠
    • go.mercari.io/datastore
    • qiita.com/vvakame/items/9310bcb5a4e87888d505

    View Slide

  14. ݱঢ়

    View Slide

  15. View Slide

  16. ٕज़ॻయެࣜWeb
    ׬શஔ͖׵͑ࡁ

    View Slide

  17. վળ

    View Slide

  18. αʔΫϧҰཡAPI

    View Slide

  19. αʔΫϧҰཡAPI

    View Slide

  20. αʔΫϧҰཡAPI

    View Slide

  21. αʔΫϧҰཡAPI
    35→26→7

    View Slide

  22. ຊ൪؀ڥ (ະద༻)
    965…

    View Slide

  23. վળ͔͠
    ͋Γ͑ͳ͍

    View Slide

  24. ࠷ޙʹ

    View Slide

  25. View Slide

  26. https://gcpug.jp/join
    #g-cloud-datastore_ja

    View Slide

  27. ࢓ࣄͰ
    OSSϥΠϒϥϦ
    ։ൃ
    ͨͷ͠ʔʂ

    View Slide