SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
San Diego



Thursday, January 6, 2011
What is Membase?




Thursday, January 6, 2011
Membase is a distributed database




                                  Application user




      Web application server   Web application server   Web application server




                                Membase Servers




                   In the data center                                            On the administrator console


                                                                                                                3

Thursday, January 6, 2011
Membase is Simple, Fast, Elastic

                            Five minutes or less to a working
                            cluster
                            • Downloads for Linux and Windows
                            • Start with a single node
                            • One button press joins nodes to a cluster
                            Easy to develop against
                            • Just SET and GET – no schema required
                            • Drop it in. 10,000+ existing applications
                              already “speak membase” (via memcached)
                            • Practically every language and application
                              framework is supported, out of the box
                            Easy to manage
                            • One-click failover and cluster rebalancing
                            • Graphical and programmatic interfaces
                            • Configurable alerting



                                                                           4

Thursday, January 6, 2011
Membase is Simple, Fast, Elastic

                            Predictable
                            • “Never keep an application waiting”
                            • Quasi-deterministic latency and throughput
                            Low latency
                            • Built-in Memcached technology
                            High throughput
                            •   Multi-threaded
                            •   Low lock contention
                            •   Asynchronous wherever possible
                            •   Automatic write de-duplication




                                                                           5

Thursday, January 6, 2011
Membase is Simple, Fast, Elastic

                            Zero-downtime elasticity
                            • Spread I/O and data across commodity
                              servers (or VMs)
                            • Consistent performance with linear cost
                            • Dynamic rebalancing of a live cluster
                            All nodes are created equal
                            • No special case nodes
                            • Any node can replace any other node, online
                            • Clone to grow
                            Extensible
                            • Filtered TAP interface provides hook points
                              for external systems (e.g. full-text search,
                              backup, warehouse)
                            • Data bucket – engine API for specialized
                              container types



                                                                             6

Thursday, January 6, 2011
Built-in Memcached Caching Layer


                    Memcached               Membase Cache

             Membase Database             Membase Database




                  Memcached Mode              Membase Mode

          Fact: Membase development team has also contributed over
          half of the code to the Memcached project.                 7

Thursday, January 6, 2011
Use Cases




Thursday, January 6, 2011
Ad targeting

                                          40 milliseconds to come
                                          up with an answer.




                                         profiles, real time campaign
                                     3   statistics




                                                     2
                              1                     profiles, campaigns
                            events

                                                                          9

Thursday, January 6, 2011
Search and Gaming Portal




                              Database



                                         10

Thursday, January 6, 2011
Membase Caching at The Knot
        Jason Sirota




Thursday, January 6, 2011
Membase Architecture




Thursday, January 6, 2011
Clustering
                            • Underlying cluster
                              functionality based on
                              erlang OTP
                            • Have a custom, vector
                              clock based way of storing
                              and propagating...
                               – Cluster topology
                               – vBucket mapping
                            • Collect statistics from many
                              nodes of the cluster
                               – Identify hot keys, resource
                                 utilization




                                                               13

Thursday, January 6, 2011
Thursday, January 6, 2011
Thursday, January 6, 2011
Thursday, January 6, 2011
Thursday, January 6, 2011
TAP

     • A generic, scalable method of streaming mutations
       from a given server
               – As data operations arrive, they can be sent to arbitrary TAP
                 receivers
     • Leverages the existing memcached engine interface,
       and the non-blocking IO interfaces to send data
     • Three modes of operation
                                  Data
                                Mutations   Working set




     Data
   Mutations          Working set                             Working set



                                                                                15

Thursday, January 6, 2011
Membase data flow – under the hood

                            SET request arrives at          SET acknowledgement
                             KEY’s master server     1 2    returned to application




                                    3        Listener-Sender
                                                                                            3

                                            RAM


                                                               membase storage engine
                                                                                        4

                                           Disk Disk Disk



                                           Disk Disk Disk


   Replica Server 1 for KEY                Master server for KEY                                Replica Server 2 for KEY
                                                                                                                       16

Thursday, January 6, 2011
Clients, nodes and other nodes


                                            Client                      moxi + Client

                                                           port 11210
                             port 11211                memcached operations           REST/comet
                         memcached operations                                       cluster topology
                                                                                   and vbucket map


             memcached operations
                                                moxi               ns_server



                                               membase      ns_server
                                      (memcached + membase engine)


                                                TAP
            memcached operations
             with tap commands       vbucketmigrator


                                                                                                       17

Thursday, January 6, 2011
Data buckets are secure membase “slices”



                            Application user




                       Web application server




       Bucket 1
       Bucket 2
              Aggregate Cluster Memory and Disk Capacity




                       Membase data servers




               In the data center                          On the administrator console
                                                                                     18

Thursday, January 6, 2011
vBucket mapping




                            19

Thursday, January 6, 2011
Disk > Memory



   Dataset may have many                                 memory quota




                                   Bucket Configuration
   items infrequently accessed.                          mem_high_wat

   However, memcached has                                mem_low_wat
   different behavior (LRU) than
   wanted with membase.

   Still, traditional (most)
   RDBMS implementations are
   not 100% correct for us
   either. The speed of a miss
   is very, very important.

                                                                    20

Thursday, January 6, 2011
Membase Demo




Thursday, January 6, 2011
Key-Value Patterns




Thursday, January 6, 2011
Key-Value




                            23

Thursday, January 6, 2011
Key-Value




          Items have:            Operations include:
          Key                    Get/Set
          Value                  Increment/Decrement
          Expiration             Append/Prepend
          Flags
          CAS (more on this later)
                                                       23

Thursday, January 6, 2011
Key-Value




                            23

Thursday, January 6, 2011
Key-Value




             (with a replica                                                                        )
      Image courtesy http://www.flickr.com/photos/brenda-starr/3509344100/sizes/m/in/photostream/




                                                                                                        23

Thursday, January 6, 2011
Membase Datatypes




                            24

Thursday, January 6, 2011
Membase Datatypes

     • byte[]
           – Does your data have
             1s and 0s?




                                   24

Thursday, January 6, 2011
Membase Datatypes

     • byte[]
           – Does your data have
             1s and 0s?




                                   “Any customer can have
                                   a car painted any colour
                                   that he wants so long as
                                   it is black.”

                                                              24

Thursday, January 6, 2011
Membase Datatypes

     • byte[]
           – Does your data have
             1s and 0s?
     • Items do have flags
           – Many clients use flags
       – Data type options
        • Google protobuf             “Any customer can have
                                      a car painted any colour
        • Thrift                      that he wants so long as
        • Avro                        it is black.”

                                                                 24

Thursday, January 6, 2011
Transactions

     • Lock == slow me down
     • CAS operations                        User 1          User 2
           – Optimistic locking




                                                Su
     • Very useful with complex




                                                  cc




                                                             il!
                                                      es



                                                           Fa
       datatypes




                                                      s
           – Imagine two clients trying to
             update a complex item
     • You’re likely using CAS
       already... if you use a CPU

                                                                      25

Thursday, January 6, 2011
Common Use: Sessions

     • Web user sessions
           – Highly read, less writes in many case
           – Protocol advantage of memcached
                 • Options already for PHP, Ruby and Java
     • Application state
           – Not necessarily “entity” style things
           – May be appropriate for a “cache” pool




                                                            26

Thursday, January 6, 2011
Common Use (cache): Rate Limiting

     • Want to provide API calls
       into the system                          Your Users

           – Twitter search                                h   !
                                                        uc
           – Google search services                   ¡O

     • Use the atomic increment                 Your App

           – Set an item with a unique ID
           – Upon API request,
             increment and check
                 • HTTP 420: go away and come
                   back later

                                                                   27

Thursday, January 6, 2011
Looking Ahead: NodeCode




Thursday, January 6, 2011
NodeCode – Motivation

          Beyond key-value
          • Indexing/Range Queries
          • Advanced Data Structures
          • Sub-object direct manipulation


          Validation and In-flight transformation
          • Block mutations failing validation
          • Enrich or transform objects


          Connectors (Integrate easily with other systems)
          • Solr
          • Hadoop
          • MySQL

                                                             29

Thursday, January 6, 2011
Thursday, January 6, 2011
Q&A

                                  31

Thursday, January 6, 2011
Attributions

     •    http://commons.wikimedia.org/wiki/File:Flag_of_China.png
     •    http://commons.wikimedia.org/wiki/File:Flag_of_South_Korea.svg
     •    http://commons.wikimedia.org/wiki/File:Flag_of_Japan.svg




                                                                           32

Thursday, January 6, 2011
Thursday, January 6, 2011

Weitere ähnliche Inhalte

Was ist angesagt?

Lessons Learned: Novell Open Enterprise Server Upgrades Made Easy
Lessons Learned: Novell Open Enterprise Server Upgrades Made EasyLessons Learned: Novell Open Enterprise Server Upgrades Made Easy
Lessons Learned: Novell Open Enterprise Server Upgrades Made EasyNovell
 
Novell filr customer slides richard lindstedt
Novell filr customer slides richard lindstedtNovell filr customer slides richard lindstedt
Novell filr customer slides richard lindstedtGWAVA
 
Using Novell Sentinel Log Manager to Monitor Novell Applications
Using Novell Sentinel Log Manager to Monitor Novell ApplicationsUsing Novell Sentinel Log Manager to Monitor Novell Applications
Using Novell Sentinel Log Manager to Monitor Novell ApplicationsNovell
 
Migrating Novell GroupWise to Linux
Migrating Novell GroupWise to LinuxMigrating Novell GroupWise to Linux
Migrating Novell GroupWise to LinuxNovell
 
Novell Storage Manager: Your Secret Weapon for Simplified File and User Manag...
Novell Storage Manager: Your Secret Weapon for Simplified File and User Manag...Novell Storage Manager: Your Secret Weapon for Simplified File and User Manag...
Novell Storage Manager: Your Secret Weapon for Simplified File and User Manag...Novell
 
Integrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesIntegrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesNovell
 
Life without the Novell Client
Life without the Novell ClientLife without the Novell Client
Life without the Novell ClientNovell
 
Nutanix Always On-Solution-Brief
Nutanix Always On-Solution-BriefNutanix Always On-Solution-Brief
Nutanix Always On-Solution-BriefManny Carral
 
Securing Your Endpoints Using Novell ZENworks Endpoint Security Management
Securing Your Endpoints Using Novell ZENworks Endpoint Security ManagementSecuring Your Endpoints Using Novell ZENworks Endpoint Security Management
Securing Your Endpoints Using Novell ZENworks Endpoint Security ManagementNovell
 
Cache-partitioning
Cache-partitioningCache-partitioning
Cache-partitioningdavidkftam
 
Ph.D. thesis presentation
Ph.D. thesis presentationPh.D. thesis presentation
Ph.D. thesis presentationdavidkftam
 
Microsoft Exchange 2010 Upgrade Seminar March 2010
Microsoft Exchange 2010 Upgrade   Seminar March 2010Microsoft Exchange 2010 Upgrade   Seminar March 2010
Microsoft Exchange 2010 Upgrade Seminar March 2010hagestadwt
 
8 christian ferber xen_server_6_news
8 christian ferber xen_server_6_news8 christian ferber xen_server_6_news
8 christian ferber xen_server_6_newsDigicomp Academy AG
 
Deep Dive Into Windows Server 2012 Hyper-V
Deep Dive Into Windows Server 2012 Hyper-VDeep Dive Into Windows Server 2012 Hyper-V
Deep Dive Into Windows Server 2012 Hyper-VLai Yoong Seng
 
Nexenta NV4V v2.0 Features
Nexenta NV4V v2.0 FeaturesNexenta NV4V v2.0 Features
Nexenta NV4V v2.0 FeaturesEvan Powell
 
NSS File System Performance, Clustering and Auditing in Novell Open Enterpris...
NSS File System Performance, Clustering and Auditing in Novell Open Enterpris...NSS File System Performance, Clustering and Auditing in Novell Open Enterpris...
NSS File System Performance, Clustering and Auditing in Novell Open Enterpris...Novell
 

Was ist angesagt? (20)

Lessons Learned: Novell Open Enterprise Server Upgrades Made Easy
Lessons Learned: Novell Open Enterprise Server Upgrades Made EasyLessons Learned: Novell Open Enterprise Server Upgrades Made Easy
Lessons Learned: Novell Open Enterprise Server Upgrades Made Easy
 
Novell filr customer slides richard lindstedt
Novell filr customer slides richard lindstedtNovell filr customer slides richard lindstedt
Novell filr customer slides richard lindstedt
 
Using Novell Sentinel Log Manager to Monitor Novell Applications
Using Novell Sentinel Log Manager to Monitor Novell ApplicationsUsing Novell Sentinel Log Manager to Monitor Novell Applications
Using Novell Sentinel Log Manager to Monitor Novell Applications
 
Migrating Novell GroupWise to Linux
Migrating Novell GroupWise to LinuxMigrating Novell GroupWise to Linux
Migrating Novell GroupWise to Linux
 
Novell Storage Manager: Your Secret Weapon for Simplified File and User Manag...
Novell Storage Manager: Your Secret Weapon for Simplified File and User Manag...Novell Storage Manager: Your Secret Weapon for Simplified File and User Manag...
Novell Storage Manager: Your Secret Weapon for Simplified File and User Manag...
 
Integrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesIntegrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell Technologies
 
Novell Filr
Novell FilrNovell Filr
Novell Filr
 
Life without the Novell Client
Life without the Novell ClientLife without the Novell Client
Life without the Novell Client
 
Nutanix Always On-Solution-Brief
Nutanix Always On-Solution-BriefNutanix Always On-Solution-Brief
Nutanix Always On-Solution-Brief
 
Securing Your Endpoints Using Novell ZENworks Endpoint Security Management
Securing Your Endpoints Using Novell ZENworks Endpoint Security ManagementSecuring Your Endpoints Using Novell ZENworks Endpoint Security Management
Securing Your Endpoints Using Novell ZENworks Endpoint Security Management
 
Hot sec10 slide-suzaki
Hot sec10 slide-suzakiHot sec10 slide-suzaki
Hot sec10 slide-suzaki
 
Cache-partitioning
Cache-partitioningCache-partitioning
Cache-partitioning
 
Ph.D. thesis presentation
Ph.D. thesis presentationPh.D. thesis presentation
Ph.D. thesis presentation
 
Microsoft Exchange 2010 Upgrade Seminar March 2010
Microsoft Exchange 2010 Upgrade   Seminar March 2010Microsoft Exchange 2010 Upgrade   Seminar March 2010
Microsoft Exchange 2010 Upgrade Seminar March 2010
 
Ibm0720b
Ibm0720bIbm0720b
Ibm0720b
 
8 christian ferber xen_server_6_news
8 christian ferber xen_server_6_news8 christian ferber xen_server_6_news
8 christian ferber xen_server_6_news
 
Vmware
VmwareVmware
Vmware
 
Deep Dive Into Windows Server 2012 Hyper-V
Deep Dive Into Windows Server 2012 Hyper-VDeep Dive Into Windows Server 2012 Hyper-V
Deep Dive Into Windows Server 2012 Hyper-V
 
Nexenta NV4V v2.0 Features
Nexenta NV4V v2.0 FeaturesNexenta NV4V v2.0 Features
Nexenta NV4V v2.0 Features
 
NSS File System Performance, Clustering and Auditing in Novell Open Enterpris...
NSS File System Performance, Clustering and Auditing in Novell Open Enterpris...NSS File System Performance, Clustering and Auditing in Novell Open Enterpris...
NSS File System Performance, Clustering and Auditing in Novell Open Enterpris...
 

Andere mochten auch

Membase Meetup 2010
Membase Meetup 2010Membase Meetup 2010
Membase Meetup 2010Membase
 
Membase East Coast Meetups
Membase East Coast MeetupsMembase East Coast Meetups
Membase East Coast MeetupsMembase
 
Membase Intro from Membase Meetup San Francisco
Membase Intro from Membase Meetup San FranciscoMembase Intro from Membase Meetup San Francisco
Membase Intro from Membase Meetup San FranciscoMembase
 
Membase Meetup - Silicon Valley
Membase Meetup - Silicon ValleyMembase Meetup - Silicon Valley
Membase Meetup - Silicon ValleyMembase
 
Membase Introduction
Membase IntroductionMembase Introduction
Membase IntroductionMembase
 

Andere mochten auch (9)

Membase Meetup 2010
Membase Meetup 2010Membase Meetup 2010
Membase Meetup 2010
 
Membase East Coast Meetups
Membase East Coast MeetupsMembase East Coast Meetups
Membase East Coast Meetups
 
9 2
9 29 2
9 2
 
Ms mustapha biology
Ms mustapha biologyMs mustapha biology
Ms mustapha biology
 
Membase Intro from Membase Meetup San Francisco
Membase Intro from Membase Meetup San FranciscoMembase Intro from Membase Meetup San Francisco
Membase Intro from Membase Meetup San Francisco
 
Labegunak SEO aurkezpena
Labegunak SEO aurkezpenaLabegunak SEO aurkezpena
Labegunak SEO aurkezpena
 
Ms mustapha biology
Ms mustapha biologyMs mustapha biology
Ms mustapha biology
 
Membase Meetup - Silicon Valley
Membase Meetup - Silicon ValleyMembase Meetup - Silicon Valley
Membase Meetup - Silicon Valley
 
Membase Introduction
Membase IntroductionMembase Introduction
Membase Introduction
 

Ähnlich wie Everything You Need to Know About Membase

Openstorage with OpenStack, by Bradley
Openstorage with OpenStack, by BradleyOpenstorage with OpenStack, by Bradley
Openstorage with OpenStack, by BradleyHui Cheng
 
Pm 01 bradley stone_openstorage_openstack
Pm 01 bradley stone_openstorage_openstackPm 01 bradley stone_openstorage_openstack
Pm 01 bradley stone_openstorage_openstackOpenCity Community
 
Cloud storage slides
Cloud storage slidesCloud storage slides
Cloud storage slidesEvan Powell
 
Ugif 12 2011-informix iwa
Ugif 12 2011-informix iwaUgif 12 2011-informix iwa
Ugif 12 2011-informix iwaUGIF
 
triAGENS simplevoc vs_memcached
triAGENS simplevoc vs_memcachedtriAGENS simplevoc vs_memcached
triAGENS simplevoc vs_memcachedtriAGENS
 
SimpleVoc vs Memcached
SimpleVoc vs MemcachedSimpleVoc vs Memcached
SimpleVoc vs Memcachedtriagens
 
Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02Newlink
 
Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02Newlink
 
Severalnines Self-Training: MySQL® Cluster - Part V
Severalnines Self-Training: MySQL® Cluster - Part VSeveralnines Self-Training: MySQL® Cluster - Part V
Severalnines Self-Training: MySQL® Cluster - Part VSeveralnines
 
VMware PEX Boot Camp - The Future Now: NetApp Clustered Storage and Flash for...
VMware PEX Boot Camp - The Future Now: NetApp Clustered Storage and Flash for...VMware PEX Boot Camp - The Future Now: NetApp Clustered Storage and Flash for...
VMware PEX Boot Camp - The Future Now: NetApp Clustered Storage and Flash for...NetApp
 
Couchdb + Membase = Couchbase
Couchdb + Membase = CouchbaseCouchdb + Membase = Couchbase
Couchdb + Membase = Couchbaseiammutex
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparisonRohit Kelapure
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBasedarach
 
eBay’s Challenges and Lessons
eBay’s Challenges and LessonseBay’s Challenges and Lessons
eBay’s Challenges and Lessonshutuworm
 
Roeder posterismb2010
Roeder posterismb2010Roeder posterismb2010
Roeder posterismb2010Chris Roeder
 
SDEC2011 Using Couchbase for social game scaling and speed
SDEC2011 Using Couchbase for social game scaling and speedSDEC2011 Using Couchbase for social game scaling and speed
SDEC2011 Using Couchbase for social game scaling and speedKorea Sdec
 

Ähnlich wie Everything You Need to Know About Membase (20)

Openstorage Openstack
Openstorage OpenstackOpenstorage Openstack
Openstorage Openstack
 
Openstorage with OpenStack, by Bradley
Openstorage with OpenStack, by BradleyOpenstorage with OpenStack, by Bradley
Openstorage with OpenStack, by Bradley
 
Pm 01 bradley stone_openstorage_openstack
Pm 01 bradley stone_openstorage_openstackPm 01 bradley stone_openstorage_openstack
Pm 01 bradley stone_openstorage_openstack
 
Cloud storage slides
Cloud storage slidesCloud storage slides
Cloud storage slides
 
Ugif 12 2011-informix iwa
Ugif 12 2011-informix iwaUgif 12 2011-informix iwa
Ugif 12 2011-informix iwa
 
triAGENS simplevoc vs_memcached
triAGENS simplevoc vs_memcachedtriAGENS simplevoc vs_memcached
triAGENS simplevoc vs_memcached
 
SimpleVoc vs Memcached
SimpleVoc vs MemcachedSimpleVoc vs Memcached
SimpleVoc vs Memcached
 
Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02
 
Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02Vnx series-technical-review-110616214632-phpapp02
Vnx series-technical-review-110616214632-phpapp02
 
Severalnines Self-Training: MySQL® Cluster - Part V
Severalnines Self-Training: MySQL® Cluster - Part VSeveralnines Self-Training: MySQL® Cluster - Part V
Severalnines Self-Training: MySQL® Cluster - Part V
 
VMware PEX Boot Camp - The Future Now: NetApp Clustered Storage and Flash for...
VMware PEX Boot Camp - The Future Now: NetApp Clustered Storage and Flash for...VMware PEX Boot Camp - The Future Now: NetApp Clustered Storage and Flash for...
VMware PEX Boot Camp - The Future Now: NetApp Clustered Storage and Flash for...
 
Couchdb + Membase = Couchbase
Couchdb + Membase = CouchbaseCouchdb + Membase = Couchbase
Couchdb + Membase = Couchbase
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparison
 
Dot for-oow-v4
Dot for-oow-v4Dot for-oow-v4
Dot for-oow-v4
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBase
 
Oow Ppt 2
Oow Ppt 2Oow Ppt 2
Oow Ppt 2
 
eBay’s Challenges and Lessons
eBay’s Challenges and LessonseBay’s Challenges and Lessons
eBay’s Challenges and Lessons
 
Stardog talk-dc-march-17
Stardog talk-dc-march-17Stardog talk-dc-march-17
Stardog talk-dc-march-17
 
Roeder posterismb2010
Roeder posterismb2010Roeder posterismb2010
Roeder posterismb2010
 
SDEC2011 Using Couchbase for social game scaling and speed
SDEC2011 Using Couchbase for social game scaling and speedSDEC2011 Using Couchbase for social game scaling and speed
SDEC2011 Using Couchbase for social game scaling and speed
 

Kürzlich hochgeladen

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Kürzlich hochgeladen (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Everything You Need to Know About Membase

  • 2. What is Membase? Thursday, January 6, 2011
  • 3. Membase is a distributed database Application user Web application server Web application server Web application server Membase Servers In the data center On the administrator console 3 Thursday, January 6, 2011
  • 4. Membase is Simple, Fast, Elastic Five minutes or less to a working cluster • Downloads for Linux and Windows • Start with a single node • One button press joins nodes to a cluster Easy to develop against • Just SET and GET – no schema required • Drop it in. 10,000+ existing applications already “speak membase” (via memcached) • Practically every language and application framework is supported, out of the box Easy to manage • One-click failover and cluster rebalancing • Graphical and programmatic interfaces • Configurable alerting 4 Thursday, January 6, 2011
  • 5. Membase is Simple, Fast, Elastic Predictable • “Never keep an application waiting” • Quasi-deterministic latency and throughput Low latency • Built-in Memcached technology High throughput • Multi-threaded • Low lock contention • Asynchronous wherever possible • Automatic write de-duplication 5 Thursday, January 6, 2011
  • 6. Membase is Simple, Fast, Elastic Zero-downtime elasticity • Spread I/O and data across commodity servers (or VMs) • Consistent performance with linear cost • Dynamic rebalancing of a live cluster All nodes are created equal • No special case nodes • Any node can replace any other node, online • Clone to grow Extensible • Filtered TAP interface provides hook points for external systems (e.g. full-text search, backup, warehouse) • Data bucket – engine API for specialized container types 6 Thursday, January 6, 2011
  • 7. Built-in Memcached Caching Layer Memcached Membase Cache Membase Database Membase Database Memcached Mode Membase Mode Fact: Membase development team has also contributed over half of the code to the Memcached project. 7 Thursday, January 6, 2011
  • 9. Ad targeting 40 milliseconds to come up with an answer. profiles, real time campaign 3 statistics 2 1 profiles, campaigns events 9 Thursday, January 6, 2011
  • 10. Search and Gaming Portal Database 10 Thursday, January 6, 2011
  • 11. Membase Caching at The Knot Jason Sirota Thursday, January 6, 2011
  • 13. Clustering • Underlying cluster functionality based on erlang OTP • Have a custom, vector clock based way of storing and propagating... – Cluster topology – vBucket mapping • Collect statistics from many nodes of the cluster – Identify hot keys, resource utilization 13 Thursday, January 6, 2011
  • 18. TAP • A generic, scalable method of streaming mutations from a given server – As data operations arrive, they can be sent to arbitrary TAP receivers • Leverages the existing memcached engine interface, and the non-blocking IO interfaces to send data • Three modes of operation Data Mutations Working set Data Mutations Working set Working set 15 Thursday, January 6, 2011
  • 19. Membase data flow – under the hood SET request arrives at SET acknowledgement KEY’s master server 1 2 returned to application 3 Listener-Sender 3 RAM membase storage engine 4 Disk Disk Disk Disk Disk Disk Replica Server 1 for KEY Master server for KEY Replica Server 2 for KEY 16 Thursday, January 6, 2011
  • 20. Clients, nodes and other nodes Client moxi + Client port 11210 port 11211 memcached operations REST/comet memcached operations cluster topology and vbucket map memcached operations moxi ns_server membase ns_server (memcached + membase engine) TAP memcached operations with tap commands vbucketmigrator 17 Thursday, January 6, 2011
  • 21. Data buckets are secure membase “slices” Application user Web application server Bucket 1 Bucket 2 Aggregate Cluster Memory and Disk Capacity Membase data servers In the data center On the administrator console 18 Thursday, January 6, 2011
  • 22. vBucket mapping 19 Thursday, January 6, 2011
  • 23. Disk > Memory Dataset may have many memory quota Bucket Configuration items infrequently accessed. mem_high_wat However, memcached has mem_low_wat different behavior (LRU) than wanted with membase. Still, traditional (most) RDBMS implementations are not 100% correct for us either. The speed of a miss is very, very important. 20 Thursday, January 6, 2011
  • 26. Key-Value 23 Thursday, January 6, 2011
  • 27. Key-Value Items have: Operations include: Key Get/Set Value Increment/Decrement Expiration Append/Prepend Flags CAS (more on this later) 23 Thursday, January 6, 2011
  • 28. Key-Value 23 Thursday, January 6, 2011
  • 29. Key-Value (with a replica ) Image courtesy http://www.flickr.com/photos/brenda-starr/3509344100/sizes/m/in/photostream/ 23 Thursday, January 6, 2011
  • 30. Membase Datatypes 24 Thursday, January 6, 2011
  • 31. Membase Datatypes • byte[] – Does your data have 1s and 0s? 24 Thursday, January 6, 2011
  • 32. Membase Datatypes • byte[] – Does your data have 1s and 0s? “Any customer can have a car painted any colour that he wants so long as it is black.” 24 Thursday, January 6, 2011
  • 33. Membase Datatypes • byte[] – Does your data have 1s and 0s? • Items do have flags – Many clients use flags – Data type options • Google protobuf “Any customer can have a car painted any colour • Thrift that he wants so long as • Avro it is black.” 24 Thursday, January 6, 2011
  • 34. Transactions • Lock == slow me down • CAS operations User 1 User 2 – Optimistic locking Su • Very useful with complex cc il! es Fa datatypes s – Imagine two clients trying to update a complex item • You’re likely using CAS already... if you use a CPU 25 Thursday, January 6, 2011
  • 35. Common Use: Sessions • Web user sessions – Highly read, less writes in many case – Protocol advantage of memcached • Options already for PHP, Ruby and Java • Application state – Not necessarily “entity” style things – May be appropriate for a “cache” pool 26 Thursday, January 6, 2011
  • 36. Common Use (cache): Rate Limiting • Want to provide API calls into the system Your Users – Twitter search h ! uc – Google search services ¡O • Use the atomic increment Your App – Set an item with a unique ID – Upon API request, increment and check • HTTP 420: go away and come back later 27 Thursday, January 6, 2011
  • 38. NodeCode – Motivation Beyond key-value • Indexing/Range Queries • Advanced Data Structures • Sub-object direct manipulation Validation and In-flight transformation • Block mutations failing validation • Enrich or transform objects Connectors (Integrate easily with other systems) • Solr • Hadoop • MySQL 29 Thursday, January 6, 2011
  • 40. Q&A 31 Thursday, January 6, 2011
  • 41. Attributions • http://commons.wikimedia.org/wiki/File:Flag_of_China.png • http://commons.wikimedia.org/wiki/File:Flag_of_South_Korea.svg • http://commons.wikimedia.org/wiki/File:Flag_of_Japan.svg 32 Thursday, January 6, 2011