SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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...
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Dernier (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

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