BT

InfoQ Homepage Presentations Evolving the Key/Value Programming Model to a Higher Level

Evolving the Key/Value Programming Model to a Higher Level

Bookmarks
59:38

Summary

In this presentation from QCon San Francisco 2009, Billy Newport discusses the ways that developers interact with key/value (KV) stores such as memcached and WebSphere eXtreme Scale, entity vs column-oriented approaches, synchronous and asynchronous operations, large data sets, using a DBMS as a column store, collocating closures and data, and features that could be added to increase scalability.

Bio

Billy Newport is a Distinguished Engineer working on WebSphere eXtreme Scale (ObjectGrid) and on WebSphere high availability, and has worked at IBM since Sept 2001. Besides his current activities, he helped add advanced APIs like the WorkManager APIs (JSR 236/237) and worked on the staff plugin architecture of WPS.

About the conference

QCon is a conference that is organized by the community, for the community.The result is a high quality conference experience where a tremendous amount of attention and investment has gone into having the best content on the most important topics presented by the leaders in our community. QCon is designed with the technical depth and enterprise focus of interest to technical team leads, architects, and project managers.

Recorded at:

Jan 19, 2010

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Uninformed IBM

    by Emil Vladev /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I'm sorry to correct Billy here, but he misses a point in just 2 minutes of his presentation. Redis does not use thrift and never has. Also, it supports an append-only log, so no data is lost (this was probably added after the presentation).

  • Re: Uninformed IBM

    by Emil Vladev /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Oh, forgot to mention that Redis DOES support replication: code.google.com/p/redis/wiki/ReplicationHowto

  • Source code is online now

    by Billy Newport /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    The source code for the prototype implementation is online now at github. www.github.com/bnewport

  • Only works for twitter-liked apps

    by Steve Tirtha /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi,

    I think this kind of approach using key-value without transaction and locking only works for twitter-liked apps, where users do not accessing and updating one information in the same time.
    Even in twitter-liked apps, user do not change data from other user.
    How can this approach can be applied to business app like CRM, where 100-1000 user access and update information in the same time?

    Regards,
    Steve

  • Re: Only works for twitter-liked apps

    by Billy Newport /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    This approach implements atomic operations on the supported primitives like numbers, lists or sets but without transactions then you can't atomically work with multiple entries. If you want that kind of control then just using WebSphere eXtreme Scale directly with our normal APIs gives you that kind of model. Full atomic transactions, locking, serialization of changes and so on.

  • Using Closures

    by Aayush Puri /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I actually found the proposal to use closures to run code on different nodes pretty neat. Looking forward to the prototype!

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.