Successfully reported this slideshow.
•
    -
        - key
        - value               (   )
    -
        - key
•
    -
        -         SQL   DSL
        -
•
    -
    -
    -
    -
        -

    -       key
    -
• memcached
• Tokyo Cabinet/Tokyo Tyrant
• Voldemort
• Apache CouchDB
• HBase(     )
•           memcached
•
•                       mixi


•            memcached



•
    •

    • key
•
• CouchDB
    CouchDB
• MySQL
• value JSON
•
               uuid-body


•
• key-value store        MySQL




•                   DB


•
    •
    •                    I/O
•
    •
                       →
    •

    •        RFC4627
•
    •
    •
    • BLOB

    •
•
    •
    •
    •          I/O


•
    •
        ACID
• Consistency(                )   Availability(             )   Partition
  tolerance


  http://www.cs.berkeley.edu/~brew...
• Web   A   P
•C
• Strong Consistency
  -

• Weak Consistency
  -


• Eventual Consistency
  -



  - MySQL
• ACID
  Atomicity            Consistency
  Isolation                   Durability


• BASE
  - Basically
  - Avaiable
  -...
•   http://subtech.g.hatena.ne.jp/mala/20090303/1236054662




    (                                     )


             ...
• MySQL key-value store
  •       Friend Feed
•    key-value store


•
     RDB


      MySQL key-value store
→DB
• JDBC
    Java
    •
           →MySQL
•
    •                 3306
    • DBCP      pooling


    •
•       HTTP/
    •           NAT
•       REST JSON
• AMF(Action Message Format)
  →Adobe    Flash
                    HTTP


• BlazeDS
  →LifeCycle Data Service ES(Flash
   ...
• RPC                            Hello World


 -          Web                  SpringMVC
     GET
 - BlazeDS + SpringFram...
•                       DB   select/insert/update/delete


    - JDBC
    - singleton                  DataSource


    - ...
•       DataSouce
    BlazeDS     Proxy
    (                   )
•      Proxy
• Hadoop    Map/Reduce
    singleton       ...
• Tokyo Cabinet / Tokyo Tyrant
             JDBC×Proxy
  ※set(insert),get(select)
• Tokyo Tyrant
•                Tokyo
 Tyrant
•

                                              Out
    Of Memory
    →



• RPC           BlazeDS   Exception   throw


...
• MySQL key-value store
•     −MySQL      Proxy


• BlazeDS Tomcat          Java   AMF


• BlazeDS(AMF) RPC               ...
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage
Upcoming SlideShare
Loading in …5
×

小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage

3,572 views

Published on

Published in: Technology
  • Be the first to comment

小咄:BlazeDS+AMF Client+MySQLで実現するKey-Value Storage

  1. 1. • - - key - value ( ) - - key • - - SQL DSL -
  2. 2. • - - - - - - key -
  3. 3. • memcached • Tokyo Cabinet/Tokyo Tyrant • Voldemort • Apache CouchDB • HBase( )
  4. 4. • memcached • • mixi • memcached • • • key
  5. 5. • • CouchDB CouchDB • MySQL • value JSON • uuid-body •
  6. 6. • key-value store MySQL • DB • • • I/O
  7. 7. • • → • • RFC4627 • • • • BLOB •
  8. 8. • • • • I/O • • ACID
  9. 9. • Consistency( ) Availability( ) Partition tolerance http://www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf
  10. 10. • Web A P •C
  11. 11. • Strong Consistency - • Weak Consistency - • Eventual Consistency - - MySQL
  12. 12. • ACID Atomicity Consistency Isolation Durability • BASE - Basically - Avaiable - Soft State ( - Eventual Consistency
  13. 13. • http://subtech.g.hatena.ne.jp/mala/20090303/1236054662 ( ) (mala ) • Strong Consistency
  14. 14. • MySQL key-value store • Friend Feed • key-value store • RDB MySQL key-value store
  15. 15. →DB • JDBC Java • →MySQL • • 3306 • DBCP pooling •
  16. 16. • HTTP/ • NAT • REST JSON
  17. 17. • AMF(Action Message Format) →Adobe Flash HTTP • BlazeDS →LifeCycle Data Service ES(Flash ) AMF RPC • BlazeDS Java Tomcat • AMF Java • Ajax+JSON
  18. 18. • RPC Hello World - Web SpringMVC GET - BlazeDS + SpringFramework + Java AMF Client (AMF - BlazeDS + SpringFramework + Java AMF Client Java
  19. 19. • DB select/insert/update/delete - JDBC - singleton DataSource - Proxy AMF (Proxy DataSource singleton
  20. 20. • DataSouce BlazeDS Proxy ( ) • Proxy • Hadoop Map/Reduce singleton Proxy
  21. 21. • Tokyo Cabinet / Tokyo Tyrant JDBC×Proxy ※set(insert),get(select)
  22. 22. • Tokyo Tyrant • Tokyo Tyrant
  23. 23. • Out Of Memory → • RPC BlazeDS Exception throw →
  24. 24. • MySQL key-value store • −MySQL Proxy • BlazeDS Tomcat Java AMF • BlazeDS(AMF) RPC HTTP • /

×