membase.org: The Simple, Fast, Elastic NoSQL Database
NorthScale Matt Ingenthron OSCON 2010
membase.org: The Simple, Fast, Elastic NoSQL Database NorthScale - - PowerPoint PPT Presentation
membase.org: The Simple, Fast, Elastic NoSQL Database NorthScale Matt Ingenthron OSCON 2010 Membase is an Open Source distributed, key-value database management system optimized for storing data behind interactive web applications. All
membase.org: The Simple, Fast, Elastic NoSQL Database
NorthScale Matt Ingenthron OSCON 2010
Membase is an Open Source distributed, key-value database management system optimized for storing data behind interactive web applications.
All aspects of membase are simple, fast and
elastic by design.
Simple
Image courtesy http://www.flickr.com/photos/brenda-starr/3509344100/sizes/m/in/photostream/Simple
Image courtesy http://www.flickr.com/photos/brenda-starr/3509344100/sizes/m/in/photostream/Fast
Original use case: speed up access to authoritative data as a distributed hashtable Must be at at least as fast as a highly tuned DBMS Designed for modern datacenter substrate
deployments
systems and flash storage devices in mind
image courtesy http://commons.wikimedia.org/wiki/File:Disassembled_HDD_and_SSD.JPGElastic
Add nodes without losing access to data Maintain consistency when accessing data
system Scale linearly by just adding more nodes
Who?
Fault-tolerant memcached Cluster !"#$%$
!"#$%&''#(!$)#%$*+,!-.$&/$0+,#-
What is Project Arcus?
Memcached
Moxi (Memcached proxy) based In-house automatic fault-detection and failover solution Collectd-based monitoring Proxy and cache server administration UI Private cloud service
Previous Deployments
A few individual memcached installations Problems
failure, etc)
code, distribute, and restart all clients
Today
Memcached clusters
Tomorrow
Membase deployments being developed
Server provision and monitoring UI
Performance impact
X 16.6Throughput
X 10Response Time
Performance
50 % 34 %DB Load
NHN work in membase.org
Provided architectural direction Provided real-world use cases and specific requirement Bug fixes, code review Feature contributions
Sponsors membase open-source
The Guts
Photo Courtesy http://www.flickr.com/photos/pellis/76804760/Clustering
Underlying cluster functionality based on erlang OTP Have a custom, vector clock based way of storing and propagating...
Collect statistics from many nodes of the cluster
resource utilization
vBuckets
Hash keys to vbuckets not to servers Shared, clusterwide configuration mapping vBuckets to servers
in one location at a given time
part of the vBucket mapping moxi and vbucket aware clients receive updated configurations
indication that the client vbucket map is wrong, needs update See Dustin’s blog for more information
http://dustin.github.com/2010/06/29/ memcached-vbuckets.html
TAP
A generic, scalable method of streaming mutations from a given server
receivers Leverages the existing memcached engine interface, and the non- blocking IO interfaces to send data Three modes of operation
!"#$%&'()*+
,-+- ./+-+%"&)!"#$%&'()*+
,-+- ./+-+%"&)!"#$%&'()*+
'$'()"$ *'$'+)+,$-./.'$'()"$.$!01!$2 '341 !"#"$%&$% &(5+6$7'10%)73%
89: '$'+)+,$-.3;$%)713!" <17,.7);.+3'')!-" '$'+)+,$-.3;$%)713!"=>1$!7
;3%7.??@??. '$'+)+,$-.3;$%)713!"'341./.=>1$!7
;3%7.??@?A. '$'+)+,$-.3;$%)713!" BCD8E+3'$7 +>5"7$%.73;3>30F. )!-.&(5+6$7.');Clients, nodes and other nodes
Get Involved
Open Source
Try using it!
Looking for platform porting
Roadmap
Beta 2: shipped July 21, 2010
Beta 3, within this quarter
General Availability follows
Finding us
membase.org http://wiki.membase.org
http://groups.google.com/group/membase Chat options
Q&A
Matt Ingenthron matt@northscale.com