SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Simple. Fast. Elastic.


How AOL Advertising Uses NoSQL to Make Millions
    of Smart Targeting Decisions Every Hour




                                          NoSQL Now! 2011
                                          Matt Ingenthron

                                                        1
AD	
  AND	
  OFFER	
  TARGETING
“ AOL	
  asny	
  incremental	
  f	
  improvement	
  pier	
  pdrocessing	
  Bme	
  d	
  translates	
  la>orms,	
  
  and	
  
           erves	
  billions	
  o impressions	
  
                                                      n	
  
                                                               ay	
  from	
  our	
  a serving	
  p
                                                                                                      to	
  huge	
  
    benefits	
  in	
  our	
  ability	
  to	
  more	
  effecBvely	
  serve	
  the	
  ads	
  needed	
  to	
  meet	
  
    our	
  contractual	
  commitments.	
  TradiBonal	
  databases	
  lack	
  the	
  scalability	
  
    required	
  to	
  support	
  our	
  goal	
  of	
  five	
  milliseconds	
  per	
  read/write.	
  CreaBng	
  
    user	
  profiles	
  with	
  Hadoop,	
  then	
  serving	
  them	
  from	
  Couchbase,	
  reduces	
  
    profile	
  read	
  and	
  write	
  access	
  to	
  under	
  a	
  millisecond,	
  leaving	
  the	
  bulk	
  of	
  
    the	
  processing	
  Bme	
  budget	
  for	
  improved	
  targeBng	
  and	
  customizaBon.

    Pero	
  Subasic                                             ”
    Chief	
  Architect,	
  AOL




                                                                                                                       2
Ad	
  and	
  offer	
  targe/ng

                                       40	
  milliseconds	
  to	
  respond	
  
                                       with	
  the	
  decision.




                                    profiles,	
  real	
  /me	
  campaign	
  
                                3   sta/s/cs




                                                       2
                       1                              profiles,	
  campaigns
                     events
                                                                                 3
Proven at small, and extra large scale




 •   Leading cloud service (PAAS)    •   Social game leader – FarmVille,
     provider                            Mafia Wars, Café World
 •   Over 150,000 hosted             •   Over 230 million monthly active
     applications
                                         users
 •   Couchbase Server serving over
     6,200 Heroku customers
                                     •   Couchbase Server is the
                                         primary database behind key
                                         Zynga properties
                                                                         4
Modern interactive software architecture


                                                Application Scales Out
                                                Just add more commodity web servers




                                                Database Scales Up
                                                Get a bigger, more complex server




-­‐Expensive	
  and	
  disrup/ve	
  sharding
-­‐Doesn’t	
  perform	
  at	
  large	
  scale
                                                                                      5
Couchbase data layer scales like application logic tier
Data layer now scales with linear cost and constant performance.



                                                           Application Scales Out
                                                           Just add more commodity web servers




     Couchbase	
  Servers
                                                           Database Scales Out
                                                           Just add more commodity data servers




  Horizontally	
  scalable,	
  schema-­‐less,	
  auto-­‐
  sharding,	
  high-­‐performance	
  at	
  Web	
  
  Scale

                            Scaling out flattens the cost and performance curves.                  6
Couchbase	
  is	
  a	
  distributed	
  database



                                           Couchbase	
  Web	
  Console



                 Applica/on	
  user




             Web	
  applica/on	
  server




                 Couchbase	
  Servers




         In	
  the	
  data	
  center           On	
  the	
  administrator	
  console



                                                                                       7
Couchbase	
  is	
  Simple,	
  Fast,	
  Elas/c	
  NoSQL

                         • Simple	
  to:
   ElasBc	
  Couchbase
                            – Deploy	
  (Membase	
  ServerTemplate)
                            – Develop	
  (memcached)
                            – Manage	
  (UI	
  and	
  RESTful	
  API)
                         • Fast:
                            – Predictable	
  low	
  latency	
  
                            – Sub-­‐ms	
  response	
  Bmes
                            – Built-­‐in	
  memcached	
  technology
                         • Zero-­‐down/me	
  Elas/city:
                            – Spread	
  I/O	
  and	
  data	
  across	
  instances
                            – Consistent	
  performance	
  with	
  linear	
  cost
                            – Dynamic	
  rebalancing	
  of	
  a	
  live	
  cluster
                                                                                8
COUCHBASE	
  SERVER	
  
ARCHITECTURE	
  OVERVIEW




                            9
Couchbase	
  “write”	
  data	
  flow	
  –	
  applica/on	
  view

  User	
  acBon	
  results	
  in	
  the	
  need	
  to	
  
            change	
  the	
  VALUE	
  of	
  KEY 1


                                                                               ApplicaBon	
  updates	
  key’s	
  VALUE,	
  
                                                                            2 performs	
  SET	
  operaBon	
  

                                         4                                     Couchbase	
  client	
  hashes	
  KEY,	
  idenBfies	
  
                                                                            3 KEY’s	
  master	
  server
                       SET	
  request	
  sent	
  over	
  
                      network	
  to	
  master	
  server




                                         5
      Couchbase	
  replicates	
  KEY-­‐VALUE	
  pair,	
  caches	
  it	
  
            in	
  memory	
  and	
  stores	
  it	
  to	
  disk
                                                                                                                                   10
Couchbase	
  data	
  flow	
  –	
  under	
  the	
  hood

                           SET	
  request	
  arrives	
  at	
  KEY’s	
              SET	
  acknowledgement	
  
                                              master	
  server
                                                                        1    5 returned	
  to	
  applicaBon




                                              2                                                                           2
                                                             Listener-­‐Sender

                                                          RAM*                                                        2




                                                                                     Couchbase	
  storage	
  engine
                                                          Disk     Disk     Disk


                                                                                                                      3
                                                          Disk     Disk     Disk


 Replica	
  Server	
  1	
  for	
  KEY                      Master	
  server	
  for	
  KEY                                     Replica	
  Server	
  2	
  for	
  KEY
                                                                                                                                                                     11
Couchbase	
  Architecture
          11211               11210
      memcapable	
  1.0   memcapable	
  2.0




        moxi




                                                      REST	
  management	
  API/Web	
  UI




                                                                                                                                                                                                                                                    vBucket	
  state	
  and	
  replicaBon	
  manager
                                                                                                                                                        Global	
  singleton	
  supervisor


                                                                                                                                                                                            Rebalance	
  orchestrator
               memcached




                                                                                                                               ConfiguraBon	
  manager




                                                                                                                                                                                                                        Node	
  health	
  monitor
                                                                                                         Process	
  monitor
          protocol	
  listener/sender




                                                                                            Heartbeat
       Data	
  Manager                                              Cluster	
  Manager
                                engine	
  interface




                    CouchDB                           hp                                          on	
  each	
  node                                                                       one	
  per	
  cluster



                                                                                                                              Erlang/OTP



                                                      HTTP                                              erlang	
  port	
  mapper                                                                          distributed	
  erlang
                                                      8080                                                                     4369                                                                 21100	
  –	
  21199                                                                                12
Couchbase	
  Architecture
          11211               11210
      memcapable	
  1.0   memcapable	
  2.0




        moxi




                                                                                                                                                                                                                                                    vBucket	
  state	
  and	
  replicaBon	
  manager
                                                      REST	
  management	
  API/Web	
  UI




                                                                                                                                                        Global	
  singleton	
  supervisor


                                                                                                                                                                                            Rebalance	
  orchestrator
               memcached




                                                                                                                               ConfiguraBon	
  manager




                                                                                                                                                                                                                        Node	
  health	
  monitor
                                                                                                         Process	
  monitor
          protocol	
  listener/sender




                                                                                            Heartbeat
                                engine	
  interface




                    CouchDB                           hp                                          on	
  each	
  node                                                                       one	
  per	
  cluster



                                                                                                                              Erlang/OTP



                                                      HTTP                                              erlang	
  port	
  mapper                                                                          distributed	
  erlang
                                                      8091                                                                     4369                                                                 21100	
  –	
  21199                                                                                13
Data	
  buckets	
  are	
  secure	
  Couchbase	
  “slices”



                           Applica/on	
  user




                       Web	
  applica/on	
  server




   Bucket	
  1
   Bucket	
  2
          Aggregate	
  Cluster	
  Memory	
  and	
  Disk	
  Capacity




                  Couchbase	
  data	
  servers



                 In	
  the	
  data	
  center                          On	
  the	
  administrator	
  console
                                                                                                              14
Elas/c	
  Rebalancing
                                                     Node	
  1       Node	
  2     Node	
  3
Before                                             vBucket	
  1   vBucket	
  7
•   Adding	
  Node	
  3                            vBucket	
  2   vBucket	
  8
•   Node	
  3	
  is	
  in	
  pending	
  state      vBucket	
  3   vBucket	
  9
•   Clients	
  talk	
  to	
  Node	
  1,2	
  only                                  Pending	
  state
                                                   vBucket	
  4   vBucket	
  10
                                                   vBucket	
  5   vBucket	
  11
                                                   vBucket	
  6   vBucket	
  12




                                                                                                     15
Elas/c	
  Rebalancing
                                                                Node	
  1                  Node	
  2                Node	
  3
 Before                                                      vBucket	
  1               vBucket	
  7
 •   Adding	
  Node	
  3                                     vBucket	
  2               vBucket	
  8
 •   Node	
  3	
  is	
  in	
  pending	
  state               vBucket	
  3               vBucket	
  9
 •   Clients	
  talk	
  to	
  Node	
  1,2	
  only                                                                  Pending	
  state
                                                             vBucket	
  4               vBucket	
  10
                                                             vBucket	
  5               vBucket	
  11
                                                             vBucket	
  6               vBucket	
  12




                                                             vBucket	
  1               vBucket	
  7
                                                             vBucket	
  2               vBucket	
  8
During                                                        vBucket	
  3               vBucket	
  9               Rebalancing
•   Rebalancing	
  orchestrator	
  recalculates	
  the	
  
                                                             vBucket	
  4               vBucket	
  10
    vBucket	
  map	
  (including	
  replicas)
                                                             vBucket	
  5               vBucket	
  11
•   Migrate	
  vBuckets	
  to	
  the	
  new	
  server
                                                             vBucket	
  6               vBucket	
  12
•   Finalize	
  migraBon



                                                              vBucket	
  	
  migrator    vBucket	
  	
  migrator




                                                                                                                                      15
Elas/c	
  Rebalancing
                                                                       Node	
  1                  Node	
  2                Node	
  3
 Before                                                             vBucket	
  1               vBucket	
  7
 •   Adding	
  Node	
  3                                            vBucket	
  2               vBucket	
  8
 •   Node	
  3	
  is	
  in	
  pending	
  state                      vBucket	
  3               vBucket	
  9
 •   Clients	
  talk	
  to	
  Node	
  1,2	
  only                                                                         Pending	
  state
                                                                    vBucket	
  4               vBucket	
  10
                                                                    vBucket	
  5               vBucket	
  11
                                                                    vBucket	
  6               vBucket	
  12




                                                                    vBucket	
  1               vBucket	
  7
                                                                    vBucket	
  2               vBucket	
  8
During                                                               vBucket	
  3               vBucket	
  9               Rebalancing
•   Rebalancing	
  orchestrator	
  recalculates	
  the	
  
                                                                     vBucket	
  4              vBucket	
  10
    vBucket	
  map	
  (including	
  replicas)
                                                                     vBucket	
  5              vBucket	
  11
•   Migrate	
  vBuckets	
  to	
  the	
  new	
  server
                                                                     vBucket	
  6              vBucket	
  12
•   Finalize	
  migraBon



                                                                     vBucket	
  	
  migrator    vBucket	
  	
  migrator




                                                                                                         Client


AKer
                                                                    vBucket	
  1                vBucket	
  7              vBucket	
  5
•  Node	
  3	
  is	
  balanced
•  Clients	
  are	
  reconfigured	
  to	
  talk	
  to	
  Node	
  3   vBucket	
  2                vBucket	
  8              vBucket	
  6

                                                                    vBucket	
  3                vBucket	
  9              vBucket	
  11

                                                                    vBucket	
  4                vBucket	
  10             vBucket	
  12
                                                                                                                                             15
Aol	
  and	
  Couchbase
Ad	
  TargeBng
Online Advertising
                     Publishers                                                                                                         Advertisers


                                                                         Aol Advertising                                        Advertiser Constraints:
                                                                                “Match Maker”                                        •	
  	
  Payment model	
  –	
  may	
  pay	
  per
                                                                                                                                	
  	
  	
  impression,	
  click,	
  or	
  conversion
                                                                                                                                     •	
  	
  Allowability	
  –	
  may	
  restrict	
  on	
  
                                                                                                                                	
  	
  	
  	
  what	
  web	
  sites	
  to	
  be	
  served
                                                                                                                                     •	
  	
  Targeting	
  –	
  may	
  only	
  want	
  to	
  
                                                                                                                                	
  	
  	
  	
  be	
  shown	
  to	
  internet	
  users	
  in	
  
                                                                                                                                	
  	
  	
  	
  a	
  certain	
  geo	
  locaBon,	
  or	
  from
                                                                                                                                	
  	
  	
  	
  a	
  specific	
  demographic
                                                                         Internet Users                                              •	
  	
  	
  Frequency	
  –	
  may	
  limit	
  how	
  oaen	
  
                                                                                                                                	
  	
  	
  	
  the	
  same	
  user	
  is	
  shown	
  the	
  ad
                                                                                                                                     •	
  	
  Campaign Delivery:
Publisher Constraints:                                                                                                          	
  	
  	
  	
  	
  	
  	
  	
  	
  -­‐	
  The	
  total	
  ad	
  budget	
  may
     •	
  	
  Payment model	
  –	
  may	
  charge	
                                                                             	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  have	
  to	
  be	
  delivered	
  
	
  	
  	
  per	
  impression,	
  click,	
  or	
                                                                                	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  according	
  to	
  a	
  plan
	
  	
  	
  conversion                                                                                                          	
  	
  	
  	
  	
  	
  	
  	
  	
  -­‐	
  	
  The	
  served	
  impressions
     •	
  	
  Allowability	
  –	
  may	
  prohibit	
                                                                            	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  may	
  have	
  to	
  generate	
  no
                                                            Terminology:
	
  	
  	
  certain	
  types	
  of	
  ads	
  to	
  be	
     • CPM = Cost Per Mille, e.g. $1.50 per 1000 impressions             	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  less	
  than	
  a	
  prescribed	
  click-­‐
	
  	
  	
  displayed                                       • CPC = Cost Per Click, e.g. $2 per click                           	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  through	
  or	
  conversion	
  rate
                                                            • CPA = Cost Per Acquisition, e.g. $15 per acquisition/conversion
Large-­‐Scale	
  Analy/cs
• Mission
• Team
• Data
   • Ad	
  serving	
  logs,	
  content,	
  and	
  3rd	
  party	
  data	
  to	
  be	
  processed
• Research
• Technologies
   • Cloudera:	
  Hadoop,	
  HDFS,	
  Flume,	
  Workflow	
  Manager
   • Distributed	
  opera/onal	
  store:	
  Couchbase
   • Light	
  DB:	
  MySQL
   • Use	
  MPI	
  for	
  model	
  building
   • Constantly	
  experimen/ng...
Data Feeds                        Flume	
  Inges/on


-­‐	
  Cpu-­‐intensive	
  (MPI-­‐based	
  ML)
                                                                -­‐	
  OperaBonal	
  store	
  highly	
  cached	
            Large-scale Analytics:	
  
                                                    	
  	
  	
  	
  	
  	
  	
  in	
  Couchbase                             -ReporBng	
  and	
  Insights
-­‐	
  Distributed	
  search	
  (Sphinx)	
  
                                                    	
  	
  	
  	
  -­‐	
  DB	
  support	
  for	
  Hadoop	
  and	
  MySQL   -PredicBve	
  Segments
                                                                                                                            -Contextual	
  Analysis	
  and	
  SegmentaBon




                                                                           Couchbase	
  
                                                                           DB	
  Cluster




                                                                                                                                                       Actionable data
                                                                                      Data from the Internet                                           (to ad serving)
Use	
  Cases	
  Today
• data	
  set	
  enrichment:	
  given	
  a	
  field	
  in	
  a	
  data	
  set	
  stored	
  on	
  HDFS,	
  enrich	
  by	
  adding	
  related	
  
      fields;	
  media	
  -­‐>	
  campaign	
  -­‐>	
  adver>ser	
  chain
• blackboard	
  for	
  inter-­‐process/job	
  communica>on:	
  contextual	
  segmenta>on	
  pipelines;	
  
      predic>ve	
  modeling	
  can	
  load	
  per-­‐campaign	
  models	
  to	
  be	
  used	
  for	
  large-­‐scale	
  scoring
• larger	
  map-­‐side	
  joins	
  (where	
  Hadoop	
  DistributedCache	
  and	
  in-­‐memory	
  process/task	
  cache	
  is	
  
      insufficient)	
  
• aggrega>ons	
  with	
  large	
  number	
  of	
  item	
  lookups,	
  e.g.	
  user-­‐level	
  contextual	
  profiles	
  
      aggregated	
  from	
  visited	
  url	
  contextual	
  profies	
  stored	
  in	
  memcache
• Flume	
  integra>on	
  for	
  data	
  flow	
  reliability	
  end	
  recovery
• segment	
  genera>on	
  currently	
  carried	
  out	
  through	
  Hadoop	
  pipelines	
  and	
  uploaded	
  into	
  
     server-­‐side	
  Membase	
  for	
  targe>ng
• but:	
  strong	
  tendency	
  to	
  move	
  closer	
  to	
  ad	
  serving	
  mo>vates	
  thinking	
  about	
  new	
  
      architectures	
  to	
  reduce	
  segment	
  genera>on	
  >me
RT	
  Framework:	
  Capture,	
  Compute	
  and	
  Forward
               Data Feeds
                            Flume	
  Inges/on

               COMPUTE                CAPTURE               FORWARD

                                                                     Couchbase
 Compute	
                    Couchbase                              (front-­‐end)
  Cluster                     (back-­‐end)                                 and	
  
                                                                   ad-­‐serving	
  logic

                                             Big	
  Data	
  Loop



                                Hadoop
RT	
  Contextual	
  Segmenta/on

                        Data Feeds
                                         Flume	
  Inges/on



User-­‐ContentID	
  Mapper
                                      Active Event Frame
User-­‐Segment	
  Mapper         UC Map
                                           Membase            Couchbase	
  +	
  
                                      US Short-term Map
                                                             ad-­‐serving	
  logic
                                     ContentID-Segment Map
Rough	
  Capacity	
  Es/mates
• Data	
  Volume	
  Calcula/on
        – 60000	
  events	
  per	
  second	
  -­‐>	
  60000	
  *	
  900	
  =	
  55	
  mil.	
  events	
  during	
  15-­‐minute	
  
        burst
        – 1KB	
  per	
  event	
  -­‐>	
  55GB	
  for	
  staging	
  frame	
  +	
  55GB	
  for	
  loading	
  frame	
  =	
  
        110GB;	
  the	
  rest	
  ~	
  800GB	
  is	
  for	
  data	
  output	
  from	
  processes	
  
        – 10	
  nodes	
  at	
  128GB	
  =	
  1TB	
  -­‐>	
  more	
  than	
  enough!	
  (assuming	
  one	
  copy)	
  
        – exact	
  calcula/ons	
  at	
  hqp://wiki.membase.org/display/membase/Sizing
        +Guidelines

• Processing	
  bandwidth
        – assuming	
  cluster	
  supports	
  200K	
  ops	
  per	
  second	
  (conserva/ve)
        – 60000	
  opera/ons/sec	
  reserved	
  for	
  loading	
  the	
  current	
  15-­‐minute	
  frame
        – remaining	
  140K	
  opera/ons/sec	
  for	
  jobs	
  
AOL	
  TargeBng
Lessons	
  Learned	
  using	
  Couchbase
Couchbase	
  Architecture	
  
• Requirements
 •   Support	
  iniBally	
  up	
  to	
  1.2	
  billion	
  keys	
  (1	
  key	
  per	
  user	
  in	
  the	
  system).
 •   Minimum	
  of	
  10K	
  writes	
  per	
  second.
 •   Two	
  clusters,	
  one	
  on	
  each	
  coast,	
  to	
  reduce	
  latency.
 •  Easily	
  scalable,	
  support	
  an	
  increasing	
  number	
  of	
  keys	
  &	
  writes/reads	
  per	
  second	
  and	
  
 seamlessly	
  allow	
  growth	
  for	
  the	
  future


• Couchbase	
  Set	
  up
 •   IniBally	
  	
  1.1	
  billion	
  keys,	
  now	
  650	
  million	
  keys.
 •   250	
  to	
  ~2K	
  writes/second.
 •   1K	
  to	
  7K	
  reads/second.
 •   2	
  clusters,	
  10	
  nodes	
  each.
 •   Dual	
  wriBng,	
  once	
  to	
  each	
  cluster.
 •   1.19	
  TB	
  of	
  RAM	
  available,	
  124/128	
  GB	
  allocated	
  on	
  each	
  server.	
  200	
  Gb	
  in	
  use	
  at	
  the	
  moment.




                                                                                                                                     25
Lessons	
  Learned
 Issue                                                                          ResoluMon




                                                                                Do	
  not	
  use	
  the	
  local	
  moxy.	
  	
  The	
  membase	
  client	
  (Spy)	
  
 ReplicaBon	
  across	
  data	
  center	
  by	
  wriBng	
  to	
  a	
  local	
  
                                                                                should	
  connect	
  directly	
  to	
  an	
  instance	
  of	
  a	
  remote	
  moxy	
  to	
  
 moxy	
  dramaBcally	
  reduces	
  the	
  throughput.	
  
                                                                                perform	
  updates.	
  	
  




                                                                                Membase	
  needs	
  150	
  bytes	
  per	
  item	
  for	
  meta	
  data	
  
 Correctly	
  sizing	
  the	
  membase	
  cluster	
  based	
  on	
  
                                                                                	
  Ensure	
  mem_high_wat	
  is	
  not	
  exceeded	
  to	
  prevent	
  
 the	
  expected	
  number	
  of	
  keys	
  and	
  size	
  of	
  the	
  
                                                                                spillover	
  to	
  disk.	
  If	
  incoming	
  data	
  arrives	
  faster	
  than	
  the	
  
 object	
  is	
  criBcal	
  to	
  the	
  membase	
  operaBon
                                                                                data	
  write	
  to	
  disk,	
  the	
  system	
  returns	
  errors




                                                                          Re-­‐issue	
  flushctl	
  command	
  every	
  Bme	
  Membase	
  server	
  
 Membase	
  seongs	
  such	
  as	
  memory	
  high/low	
  
                                                                          restarts.	
  	
  Membase	
  indicated	
  that	
  a	
  beer	
  configuraBon	
  
 water	
  marks	
  modified	
  by	
  flushctl	
  will	
  be	
  reverted	
  
                                                                          system	
  to	
  allow	
  permanent	
  change	
  of	
  seongs	
  is	
  coming.	
  	
  
 to	
  default	
  when	
  the	
  service	
  restarts.	
  
                                                                          UnBl	
  then,	
  they	
  recommend	
  to	
  sBck	
  with	
  default	
  seongs.	
  



                                                                                                                                                              26
THANK	
  YOU




MaM	
  Ingenthron
maM@couchbase.com
@ingenthr



                                   27
Customers	
  and	
  Partners


       Customers	
  (par/al	
  lis/ng)   Partners




                                                    28

Contenu connexe

Tendances

Stacking up with OpenStack: building for High Availability
Stacking up with OpenStack: building for High AvailabilityStacking up with OpenStack: building for High Availability
Stacking up with OpenStack: building for High AvailabilityOpenStack Foundation
 
Etu L2 Training - Hadoop 企業應用實作
Etu L2 Training - Hadoop 企業應用實作Etu L2 Training - Hadoop 企業應用實作
Etu L2 Training - Hadoop 企業應用實作James Chen
 
Hadoop Successes and Failures to Drive Deployment Evolution
Hadoop Successes and Failures to Drive Deployment EvolutionHadoop Successes and Failures to Drive Deployment Evolution
Hadoop Successes and Failures to Drive Deployment EvolutionBenoit Perroud
 
The power of hadoop in cloud computing
The power of hadoop in cloud computingThe power of hadoop in cloud computing
The power of hadoop in cloud computingJoey Echeverria
 
Scalability and Availability for Marketing Campaigns
Scalability and Availability for Marketing CampaignsScalability and Availability for Marketing Campaigns
Scalability and Availability for Marketing CampaignsAmazon Web Services
 
TriHUG - Beyond Batch
TriHUG - Beyond BatchTriHUG - Beyond Batch
TriHUG - Beyond Batchboorad
 
Dynamo Systems - QCon SF 2012 Presentation
Dynamo Systems - QCon SF 2012 PresentationDynamo Systems - QCon SF 2012 Presentation
Dynamo Systems - QCon SF 2012 PresentationShanley Kane
 
HBase @ Twitter
HBase @ TwitterHBase @ Twitter
HBase @ Twitterctrezzo
 
Cloudera Sessions - Clinic 1 - Getting Started With Hadoop
Cloudera Sessions - Clinic 1 - Getting Started With HadoopCloudera Sessions - Clinic 1 - Getting Started With Hadoop
Cloudera Sessions - Clinic 1 - Getting Started With HadoopCloudera, Inc.
 
Performance scalability brandonlyon
Performance scalability brandonlyonPerformance scalability brandonlyon
Performance scalability brandonlyonDigitaria
 
Guy Nirpaz Next Gen App Servers
Guy Nirpaz Next Gen App ServersGuy Nirpaz Next Gen App Servers
Guy Nirpaz Next Gen App Serversdeimos
 
Enhancing the User Experience for Multi-Pod VMware View Deployments
Enhancing the User Experience for Multi-Pod VMware View DeploymentsEnhancing the User Experience for Multi-Pod VMware View Deployments
Enhancing the User Experience for Multi-Pod VMware View Deployments1CloudRoad.com
 
PhillyDB Talk - Beyond Batch
PhillyDB Talk - Beyond BatchPhillyDB Talk - Beyond Batch
PhillyDB Talk - Beyond Batchboorad
 
14h00 aws deck-summit2012_sap_on_aws_s_jones_final
14h00   aws deck-summit2012_sap_on_aws_s_jones_final14h00   aws deck-summit2012_sap_on_aws_s_jones_final
14h00 aws deck-summit2012_sap_on_aws_s_jones_finalLuiz Gustavo Santos
 
Polyserve DB Consolidation Platform - Clemens Esser
Polyserve DB Consolidation Platform - Clemens EsserPolyserve DB Consolidation Platform - Clemens Esser
Polyserve DB Consolidation Platform - Clemens EsserHPDutchWorld
 
Lync 2010 High Availability
Lync 2010 High AvailabilityLync 2010 High Availability
Lync 2010 High AvailabilityHarold Wong
 
Lync Server 2010: High Availability [I3004]
Lync Server 2010: High Availability [I3004] Lync Server 2010: High Availability [I3004]
Lync Server 2010: High Availability [I3004] Fabrizio Volpe
 
Adversity: Good for software
Adversity: Good for softwareAdversity: Good for software
Adversity: Good for softwareJames Wickett
 

Tendances (20)

Stacking up with OpenStack: building for High Availability
Stacking up with OpenStack: building for High AvailabilityStacking up with OpenStack: building for High Availability
Stacking up with OpenStack: building for High Availability
 
Etu L2 Training - Hadoop 企業應用實作
Etu L2 Training - Hadoop 企業應用實作Etu L2 Training - Hadoop 企業應用實作
Etu L2 Training - Hadoop 企業應用實作
 
Hadoop Successes and Failures to Drive Deployment Evolution
Hadoop Successes and Failures to Drive Deployment EvolutionHadoop Successes and Failures to Drive Deployment Evolution
Hadoop Successes and Failures to Drive Deployment Evolution
 
The power of hadoop in cloud computing
The power of hadoop in cloud computingThe power of hadoop in cloud computing
The power of hadoop in cloud computing
 
Scalability and Availability for Marketing Campaigns
Scalability and Availability for Marketing CampaignsScalability and Availability for Marketing Campaigns
Scalability and Availability for Marketing Campaigns
 
TriHUG - Beyond Batch
TriHUG - Beyond BatchTriHUG - Beyond Batch
TriHUG - Beyond Batch
 
Dynamo Systems - QCon SF 2012 Presentation
Dynamo Systems - QCon SF 2012 PresentationDynamo Systems - QCon SF 2012 Presentation
Dynamo Systems - QCon SF 2012 Presentation
 
HBase @ Twitter
HBase @ TwitterHBase @ Twitter
HBase @ Twitter
 
Cloudera Sessions - Clinic 1 - Getting Started With Hadoop
Cloudera Sessions - Clinic 1 - Getting Started With HadoopCloudera Sessions - Clinic 1 - Getting Started With Hadoop
Cloudera Sessions - Clinic 1 - Getting Started With Hadoop
 
Performance scalability brandonlyon
Performance scalability brandonlyonPerformance scalability brandonlyon
Performance scalability brandonlyon
 
Xs sho niboshi
Xs sho niboshiXs sho niboshi
Xs sho niboshi
 
Guy Nirpaz Next Gen App Servers
Guy Nirpaz Next Gen App ServersGuy Nirpaz Next Gen App Servers
Guy Nirpaz Next Gen App Servers
 
Enhancing the User Experience for Multi-Pod VMware View Deployments
Enhancing the User Experience for Multi-Pod VMware View DeploymentsEnhancing the User Experience for Multi-Pod VMware View Deployments
Enhancing the User Experience for Multi-Pod VMware View Deployments
 
PhillyDB Talk - Beyond Batch
PhillyDB Talk - Beyond BatchPhillyDB Talk - Beyond Batch
PhillyDB Talk - Beyond Batch
 
14h00 aws deck-summit2012_sap_on_aws_s_jones_final
14h00   aws deck-summit2012_sap_on_aws_s_jones_final14h00   aws deck-summit2012_sap_on_aws_s_jones_final
14h00 aws deck-summit2012_sap_on_aws_s_jones_final
 
Polyserve DB Consolidation Platform - Clemens Esser
Polyserve DB Consolidation Platform - Clemens EsserPolyserve DB Consolidation Platform - Clemens Esser
Polyserve DB Consolidation Platform - Clemens Esser
 
BlazeDS
BlazeDSBlazeDS
BlazeDS
 
Lync 2010 High Availability
Lync 2010 High AvailabilityLync 2010 High Availability
Lync 2010 High Availability
 
Lync Server 2010: High Availability [I3004]
Lync Server 2010: High Availability [I3004] Lync Server 2010: High Availability [I3004]
Lync Server 2010: High Availability [I3004]
 
Adversity: Good for software
Adversity: Good for softwareAdversity: Good for software
Adversity: Good for software
 

En vedette

Legal Issues For Online Communities - David Deakin
Legal Issues For Online Communities - David DeakinLegal Issues For Online Communities - David Deakin
Legal Issues For Online Communities - David DeakinFeverBee Limited
 
What To Do In A Post Reach World (Attracting An Audience In A Competitive Fie...
What To Do In A Post Reach World (Attracting An Audience In A Competitive Fie...What To Do In A Post Reach World (Attracting An Audience In A Competitive Fie...
What To Do In A Post Reach World (Attracting An Audience In A Competitive Fie...FeverBee Limited
 
Navegadores de web trabajo grupal fabian marco ebert
Navegadores  de web trabajo grupal fabian marco ebertNavegadores  de web trabajo grupal fabian marco ebert
Navegadores de web trabajo grupal fabian marco eberttony9594
 
MIAP India
MIAP IndiaMIAP India
MIAP Indiaklmeeks
 
Aprende fotografia digital (1)
Aprende fotografia digital (1)Aprende fotografia digital (1)
Aprende fotografia digital (1)Alfredo Molina
 
Curso de manipulador de alimentos
Curso de manipulador de alimentosCurso de manipulador de alimentos
Curso de manipulador de alimentossolidaridadafricana
 
Manganese Based Products, Properties, and Uses
Manganese Based Products, Properties, and UsesManganese Based Products, Properties, and Uses
Manganese Based Products, Properties, and UsesCarus Corporation
 
Cloud working: lavorare ovunque - Luca Cipriani
Cloud working: lavorare ovunque - Luca CiprianiCloud working: lavorare ovunque - Luca Cipriani
Cloud working: lavorare ovunque - Luca CiprianiToolbox Coworking
 
2009 Ser Inn Mosti 3 Fire
2009 Ser Inn Mosti 3 Fire2009 Ser Inn Mosti 3 Fire
2009 Ser Inn Mosti 3 FireIan Miles
 
Gobierno Central Exento de ley Impuesto de operaciones Financieras
Gobierno Central Exento de ley Impuesto de operaciones FinancierasGobierno Central Exento de ley Impuesto de operaciones Financieras
Gobierno Central Exento de ley Impuesto de operaciones FinancierasElContadorPublico.com
 
Estrategias de seguimiento y acompañamiento del Tutor Virtual
Estrategias de seguimiento y acompañamiento del Tutor VirtualEstrategias de seguimiento y acompañamiento del Tutor Virtual
Estrategias de seguimiento y acompañamiento del Tutor Virtualolguin01
 
Risk management-insurance-and-the-climate-crisis
Risk management-insurance-and-the-climate-crisisRisk management-insurance-and-the-climate-crisis
Risk management-insurance-and-the-climate-crisisPaul Mahony
 
Risk Management for Global Standardization ISO 31000-2009
Risk Management for Global Standardization ISO 31000-2009Risk Management for Global Standardization ISO 31000-2009
Risk Management for Global Standardization ISO 31000-2009Setiono Winardi
 
Claves para estudiar y trabajar en el extranjero
Claves para estudiar y trabajar en el extranjeroClaves para estudiar y trabajar en el extranjero
Claves para estudiar y trabajar en el extranjeroMundo Spanish
 
Crucero Brisas del Mediterráneo
Crucero Brisas del MediterráneoCrucero Brisas del Mediterráneo
Crucero Brisas del MediterráneoEventspmfactory
 
Introduccion al-analisis-matematico-calculo2-hebe-t-rabuffetti
Introduccion al-analisis-matematico-calculo2-hebe-t-rabuffettiIntroduccion al-analisis-matematico-calculo2-hebe-t-rabuffetti
Introduccion al-analisis-matematico-calculo2-hebe-t-rabuffettiParalafakyou Mens
 
Living in the World of Warcraft: Construction of Virtual Identities Among Onl...
Living in the World of Warcraft: Construction of Virtual Identities Among Onl...Living in the World of Warcraft: Construction of Virtual Identities Among Onl...
Living in the World of Warcraft: Construction of Virtual Identities Among Onl...Virginia Bautista
 
Real-Time Personalization: Optimize Ad Spend with Personalized Targeting and ...
Real-Time Personalization: Optimize Ad Spend with Personalized Targeting and ...Real-Time Personalization: Optimize Ad Spend with Personalized Targeting and ...
Real-Time Personalization: Optimize Ad Spend with Personalized Targeting and ...Marketo
 
Refrencia 3 - Andrea Bergfelt- LAS ACTITUDES EN EL APRENDIZAJE DE UNA SEGUNDA...
Refrencia 3 - Andrea Bergfelt- LAS ACTITUDES EN EL APRENDIZAJE DE UNA SEGUNDA...Refrencia 3 - Andrea Bergfelt- LAS ACTITUDES EN EL APRENDIZAJE DE UNA SEGUNDA...
Refrencia 3 - Andrea Bergfelt- LAS ACTITUDES EN EL APRENDIZAJE DE UNA SEGUNDA...Diana Catherine Castro Jiménez
 

En vedette (20)

Legal Issues For Online Communities - David Deakin
Legal Issues For Online Communities - David DeakinLegal Issues For Online Communities - David Deakin
Legal Issues For Online Communities - David Deakin
 
What To Do In A Post Reach World (Attracting An Audience In A Competitive Fie...
What To Do In A Post Reach World (Attracting An Audience In A Competitive Fie...What To Do In A Post Reach World (Attracting An Audience In A Competitive Fie...
What To Do In A Post Reach World (Attracting An Audience In A Competitive Fie...
 
Navegadores de web trabajo grupal fabian marco ebert
Navegadores  de web trabajo grupal fabian marco ebertNavegadores  de web trabajo grupal fabian marco ebert
Navegadores de web trabajo grupal fabian marco ebert
 
MIAP India
MIAP IndiaMIAP India
MIAP India
 
Aprende fotografia digital (1)
Aprende fotografia digital (1)Aprende fotografia digital (1)
Aprende fotografia digital (1)
 
Copyshop Solutions
Copyshop SolutionsCopyshop Solutions
Copyshop Solutions
 
Curso de manipulador de alimentos
Curso de manipulador de alimentosCurso de manipulador de alimentos
Curso de manipulador de alimentos
 
Manganese Based Products, Properties, and Uses
Manganese Based Products, Properties, and UsesManganese Based Products, Properties, and Uses
Manganese Based Products, Properties, and Uses
 
Cloud working: lavorare ovunque - Luca Cipriani
Cloud working: lavorare ovunque - Luca CiprianiCloud working: lavorare ovunque - Luca Cipriani
Cloud working: lavorare ovunque - Luca Cipriani
 
2009 Ser Inn Mosti 3 Fire
2009 Ser Inn Mosti 3 Fire2009 Ser Inn Mosti 3 Fire
2009 Ser Inn Mosti 3 Fire
 
Gobierno Central Exento de ley Impuesto de operaciones Financieras
Gobierno Central Exento de ley Impuesto de operaciones FinancierasGobierno Central Exento de ley Impuesto de operaciones Financieras
Gobierno Central Exento de ley Impuesto de operaciones Financieras
 
Estrategias de seguimiento y acompañamiento del Tutor Virtual
Estrategias de seguimiento y acompañamiento del Tutor VirtualEstrategias de seguimiento y acompañamiento del Tutor Virtual
Estrategias de seguimiento y acompañamiento del Tutor Virtual
 
Risk management-insurance-and-the-climate-crisis
Risk management-insurance-and-the-climate-crisisRisk management-insurance-and-the-climate-crisis
Risk management-insurance-and-the-climate-crisis
 
Risk Management for Global Standardization ISO 31000-2009
Risk Management for Global Standardization ISO 31000-2009Risk Management for Global Standardization ISO 31000-2009
Risk Management for Global Standardization ISO 31000-2009
 
Claves para estudiar y trabajar en el extranjero
Claves para estudiar y trabajar en el extranjeroClaves para estudiar y trabajar en el extranjero
Claves para estudiar y trabajar en el extranjero
 
Crucero Brisas del Mediterráneo
Crucero Brisas del MediterráneoCrucero Brisas del Mediterráneo
Crucero Brisas del Mediterráneo
 
Introduccion al-analisis-matematico-calculo2-hebe-t-rabuffetti
Introduccion al-analisis-matematico-calculo2-hebe-t-rabuffettiIntroduccion al-analisis-matematico-calculo2-hebe-t-rabuffetti
Introduccion al-analisis-matematico-calculo2-hebe-t-rabuffetti
 
Living in the World of Warcraft: Construction of Virtual Identities Among Onl...
Living in the World of Warcraft: Construction of Virtual Identities Among Onl...Living in the World of Warcraft: Construction of Virtual Identities Among Onl...
Living in the World of Warcraft: Construction of Virtual Identities Among Onl...
 
Real-Time Personalization: Optimize Ad Spend with Personalized Targeting and ...
Real-Time Personalization: Optimize Ad Spend with Personalized Targeting and ...Real-Time Personalization: Optimize Ad Spend with Personalized Targeting and ...
Real-Time Personalization: Optimize Ad Spend with Personalized Targeting and ...
 
Refrencia 3 - Andrea Bergfelt- LAS ACTITUDES EN EL APRENDIZAJE DE UNA SEGUNDA...
Refrencia 3 - Andrea Bergfelt- LAS ACTITUDES EN EL APRENDIZAJE DE UNA SEGUNDA...Refrencia 3 - Andrea Bergfelt- LAS ACTITUDES EN EL APRENDIZAJE DE UNA SEGUNDA...
Refrencia 3 - Andrea Bergfelt- LAS ACTITUDES EN EL APRENDIZAJE DE UNA SEGUNDA...
 

Similaire à Making Millions with NoSQL

Couchbase b jmeetup
Couchbase b jmeetupCouchbase b jmeetup
Couchbase b jmeetupmysqlops
 
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
 
Couchdb + Membase = Couchbase
Couchdb + Membase = CouchbaseCouchdb + Membase = Couchbase
Couchdb + Membase = Couchbaseiammutex
 
Couchbase presentation
Couchbase presentationCouchbase presentation
Couchbase presentationsharonyb
 
Couchbase Server
Couchbase ServerCouchbase Server
Couchbase Servertempledf
 
Cloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web AppsCloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web AppsMark Slingsby
 
Couchbase - orbitz use case - nyc meetup
Couchbase - orbitz use case - nyc meetupCouchbase - orbitz use case - nyc meetup
Couchbase - orbitz use case - nyc meetupsharonyb
 
Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...
Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...
Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...Michael Elder
 
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made Easy
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made EasyMatching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made Easy
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made EasyPete Johnson
 
Architecting High Availability Linux Environments within the Rackspace Cloud
Architecting High Availability Linux Environments within the Rackspace CloudArchitecting High Availability Linux Environments within the Rackspace Cloud
Architecting High Availability Linux Environments within the Rackspace CloudRackspace
 
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...IndicThreads
 
Membase Meetup Chicago - january 2011
Membase Meetup Chicago - january 2011Membase Meetup Chicago - january 2011
Membase Meetup Chicago - january 2011Membase
 
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...IBM India Smarter Computing
 
Couchbase Singapore Meetup #2: Why Developing with Couchbase is easy !!
Couchbase Singapore Meetup #2:  Why Developing with Couchbase is easy !! Couchbase Singapore Meetup #2:  Why Developing with Couchbase is easy !!
Couchbase Singapore Meetup #2: Why Developing with Couchbase is easy !! Karthik Babu Sekar
 
Using Distributed In-Memory Computing for Fast Data Analysis
Using Distributed In-Memory Computing for Fast Data AnalysisUsing Distributed In-Memory Computing for Fast Data Analysis
Using Distributed In-Memory Computing for Fast Data AnalysisScaleOut Software
 
Couchbase Chennai Meetup: Developing with Couchbase- made easy
Couchbase Chennai Meetup:  Developing with Couchbase- made easyCouchbase Chennai Meetup:  Developing with Couchbase- made easy
Couchbase Chennai Meetup: Developing with Couchbase- made easyKarthik Babu Sekar
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinarCloudBees
 
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Anton Arhipov
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsVMware vFabric
 

Similaire à Making Millions with NoSQL (20)

Couchbase b jmeetup
Couchbase b jmeetupCouchbase b jmeetup
Couchbase b jmeetup
 
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
 
Couchdb + Membase = Couchbase
Couchdb + Membase = CouchbaseCouchdb + Membase = Couchbase
Couchdb + Membase = Couchbase
 
Couchbase presentation
Couchbase presentationCouchbase presentation
Couchbase presentation
 
High Performance Databases
High Performance DatabasesHigh Performance Databases
High Performance Databases
 
Couchbase Server
Couchbase ServerCouchbase Server
Couchbase Server
 
Cloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web AppsCloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web Apps
 
Couchbase - orbitz use case - nyc meetup
Couchbase - orbitz use case - nyc meetupCouchbase - orbitz use case - nyc meetup
Couchbase - orbitz use case - nyc meetup
 
Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...
Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...
Streaming Movies brings you Streamlined Applications -- How Adopting Netflix ...
 
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made Easy
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made EasyMatching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made Easy
Matching Your Costs to Your DAU: Thin Client Back-End Infrastructure Made Easy
 
Architecting High Availability Linux Environments within the Rackspace Cloud
Architecting High Availability Linux Environments within the Rackspace CloudArchitecting High Availability Linux Environments within the Rackspace Cloud
Architecting High Availability Linux Environments within the Rackspace Cloud
 
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
 
Membase Meetup Chicago - january 2011
Membase Meetup Chicago - january 2011Membase Meetup Chicago - january 2011
Membase Meetup Chicago - january 2011
 
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
 
Couchbase Singapore Meetup #2: Why Developing with Couchbase is easy !!
Couchbase Singapore Meetup #2:  Why Developing with Couchbase is easy !! Couchbase Singapore Meetup #2:  Why Developing with Couchbase is easy !!
Couchbase Singapore Meetup #2: Why Developing with Couchbase is easy !!
 
Using Distributed In-Memory Computing for Fast Data Analysis
Using Distributed In-Memory Computing for Fast Data AnalysisUsing Distributed In-Memory Computing for Fast Data Analysis
Using Distributed In-Memory Computing for Fast Data Analysis
 
Couchbase Chennai Meetup: Developing with Couchbase- made easy
Couchbase Chennai Meetup:  Developing with Couchbase- made easyCouchbase Chennai Meetup:  Developing with Couchbase- made easy
Couchbase Chennai Meetup: Developing with Couchbase- made easy
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinar
 
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS Apps
 

Plus de DATAVERSITY

Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...DATAVERSITY
 
Data at the Speed of Business with Data Mastering and Governance
Data at the Speed of Business with Data Mastering and GovernanceData at the Speed of Business with Data Mastering and Governance
Data at the Speed of Business with Data Mastering and GovernanceDATAVERSITY
 
Exploring Levels of Data Literacy
Exploring Levels of Data LiteracyExploring Levels of Data Literacy
Exploring Levels of Data LiteracyDATAVERSITY
 
Building a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business GoalsBuilding a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business GoalsDATAVERSITY
 
Make Data Work for You
Make Data Work for YouMake Data Work for You
Make Data Work for YouDATAVERSITY
 
Data Catalogs Are the Answer – What is the Question?
Data Catalogs Are the Answer – What is the Question?Data Catalogs Are the Answer – What is the Question?
Data Catalogs Are the Answer – What is the Question?DATAVERSITY
 
Data Catalogs Are the Answer – What Is the Question?
Data Catalogs Are the Answer – What Is the Question?Data Catalogs Are the Answer – What Is the Question?
Data Catalogs Are the Answer – What Is the Question?DATAVERSITY
 
Data Modeling Fundamentals
Data Modeling FundamentalsData Modeling Fundamentals
Data Modeling FundamentalsDATAVERSITY
 
Showing ROI for Your Analytic Project
Showing ROI for Your Analytic ProjectShowing ROI for Your Analytic Project
Showing ROI for Your Analytic ProjectDATAVERSITY
 
How a Semantic Layer Makes Data Mesh Work at Scale
How a Semantic Layer Makes  Data Mesh Work at ScaleHow a Semantic Layer Makes  Data Mesh Work at Scale
How a Semantic Layer Makes Data Mesh Work at ScaleDATAVERSITY
 
Is Enterprise Data Literacy Possible?
Is Enterprise Data Literacy Possible?Is Enterprise Data Literacy Possible?
Is Enterprise Data Literacy Possible?DATAVERSITY
 
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...DATAVERSITY
 
Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?DATAVERSITY
 
Data Governance Trends - A Look Backwards and Forwards
Data Governance Trends - A Look Backwards and ForwardsData Governance Trends - A Look Backwards and Forwards
Data Governance Trends - A Look Backwards and ForwardsDATAVERSITY
 
Data Governance Trends and Best Practices To Implement Today
Data Governance Trends and Best Practices To Implement TodayData Governance Trends and Best Practices To Implement Today
Data Governance Trends and Best Practices To Implement TodayDATAVERSITY
 
2023 Trends in Enterprise Analytics
2023 Trends in Enterprise Analytics2023 Trends in Enterprise Analytics
2023 Trends in Enterprise AnalyticsDATAVERSITY
 
Data Strategy Best Practices
Data Strategy Best PracticesData Strategy Best Practices
Data Strategy Best PracticesDATAVERSITY
 
Who Should Own Data Governance – IT or Business?
Who Should Own Data Governance – IT or Business?Who Should Own Data Governance – IT or Business?
Who Should Own Data Governance – IT or Business?DATAVERSITY
 
Data Management Best Practices
Data Management Best PracticesData Management Best Practices
Data Management Best PracticesDATAVERSITY
 
MLOps – Applying DevOps to Competitive Advantage
MLOps – Applying DevOps to Competitive AdvantageMLOps – Applying DevOps to Competitive Advantage
MLOps – Applying DevOps to Competitive AdvantageDATAVERSITY
 

Plus de DATAVERSITY (20)

Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
Architecture, Products, and Total Cost of Ownership of the Leading Machine Le...
 
Data at the Speed of Business with Data Mastering and Governance
Data at the Speed of Business with Data Mastering and GovernanceData at the Speed of Business with Data Mastering and Governance
Data at the Speed of Business with Data Mastering and Governance
 
Exploring Levels of Data Literacy
Exploring Levels of Data LiteracyExploring Levels of Data Literacy
Exploring Levels of Data Literacy
 
Building a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business GoalsBuilding a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business Goals
 
Make Data Work for You
Make Data Work for YouMake Data Work for You
Make Data Work for You
 
Data Catalogs Are the Answer – What is the Question?
Data Catalogs Are the Answer – What is the Question?Data Catalogs Are the Answer – What is the Question?
Data Catalogs Are the Answer – What is the Question?
 
Data Catalogs Are the Answer – What Is the Question?
Data Catalogs Are the Answer – What Is the Question?Data Catalogs Are the Answer – What Is the Question?
Data Catalogs Are the Answer – What Is the Question?
 
Data Modeling Fundamentals
Data Modeling FundamentalsData Modeling Fundamentals
Data Modeling Fundamentals
 
Showing ROI for Your Analytic Project
Showing ROI for Your Analytic ProjectShowing ROI for Your Analytic Project
Showing ROI for Your Analytic Project
 
How a Semantic Layer Makes Data Mesh Work at Scale
How a Semantic Layer Makes  Data Mesh Work at ScaleHow a Semantic Layer Makes  Data Mesh Work at Scale
How a Semantic Layer Makes Data Mesh Work at Scale
 
Is Enterprise Data Literacy Possible?
Is Enterprise Data Literacy Possible?Is Enterprise Data Literacy Possible?
Is Enterprise Data Literacy Possible?
 
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
The Data Trifecta – Privacy, Security & Governance Race from Reactivity to Re...
 
Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?Emerging Trends in Data Architecture – What’s the Next Big Thing?
Emerging Trends in Data Architecture – What’s the Next Big Thing?
 
Data Governance Trends - A Look Backwards and Forwards
Data Governance Trends - A Look Backwards and ForwardsData Governance Trends - A Look Backwards and Forwards
Data Governance Trends - A Look Backwards and Forwards
 
Data Governance Trends and Best Practices To Implement Today
Data Governance Trends and Best Practices To Implement TodayData Governance Trends and Best Practices To Implement Today
Data Governance Trends and Best Practices To Implement Today
 
2023 Trends in Enterprise Analytics
2023 Trends in Enterprise Analytics2023 Trends in Enterprise Analytics
2023 Trends in Enterprise Analytics
 
Data Strategy Best Practices
Data Strategy Best PracticesData Strategy Best Practices
Data Strategy Best Practices
 
Who Should Own Data Governance – IT or Business?
Who Should Own Data Governance – IT or Business?Who Should Own Data Governance – IT or Business?
Who Should Own Data Governance – IT or Business?
 
Data Management Best Practices
Data Management Best PracticesData Management Best Practices
Data Management Best Practices
 
MLOps – Applying DevOps to Competitive Advantage
MLOps – Applying DevOps to Competitive AdvantageMLOps – Applying DevOps to Competitive Advantage
MLOps – Applying DevOps to Competitive Advantage
 

Dernier

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
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
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Dernier (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
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!
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
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!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Making Millions with NoSQL

  • 1. Simple. Fast. Elastic. How AOL Advertising Uses NoSQL to Make Millions of Smart Targeting Decisions Every Hour NoSQL Now! 2011 Matt Ingenthron 1
  • 2. AD  AND  OFFER  TARGETING “ AOL  asny  incremental  f  improvement  pier  pdrocessing  Bme  d  translates  la>orms,   and   erves  billions  o impressions   n   ay  from  our  a serving  p to  huge   benefits  in  our  ability  to  more  effecBvely  serve  the  ads  needed  to  meet   our  contractual  commitments.  TradiBonal  databases  lack  the  scalability   required  to  support  our  goal  of  five  milliseconds  per  read/write.  CreaBng   user  profiles  with  Hadoop,  then  serving  them  from  Couchbase,  reduces   profile  read  and  write  access  to  under  a  millisecond,  leaving  the  bulk  of   the  processing  Bme  budget  for  improved  targeBng  and  customizaBon. Pero  Subasic ” Chief  Architect,  AOL 2
  • 3. Ad  and  offer  targe/ng 40  milliseconds  to  respond   with  the  decision. profiles,  real  /me  campaign   3 sta/s/cs 2 1 profiles,  campaigns events 3
  • 4. Proven at small, and extra large scale • Leading cloud service (PAAS) • Social game leader – FarmVille, provider Mafia Wars, Café World • Over 150,000 hosted • Over 230 million monthly active applications users • Couchbase Server serving over 6,200 Heroku customers • Couchbase Server is the primary database behind key Zynga properties 4
  • 5. Modern interactive software architecture Application Scales Out Just add more commodity web servers Database Scales Up Get a bigger, more complex server -­‐Expensive  and  disrup/ve  sharding -­‐Doesn’t  perform  at  large  scale 5
  • 6. Couchbase data layer scales like application logic tier Data layer now scales with linear cost and constant performance. Application Scales Out Just add more commodity web servers Couchbase  Servers Database Scales Out Just add more commodity data servers Horizontally  scalable,  schema-­‐less,  auto-­‐ sharding,  high-­‐performance  at  Web   Scale Scaling out flattens the cost and performance curves. 6
  • 7. Couchbase  is  a  distributed  database Couchbase  Web  Console Applica/on  user Web  applica/on  server Couchbase  Servers In  the  data  center On  the  administrator  console 7
  • 8. Couchbase  is  Simple,  Fast,  Elas/c  NoSQL • Simple  to: ElasBc  Couchbase – Deploy  (Membase  ServerTemplate) – Develop  (memcached) – Manage  (UI  and  RESTful  API) • Fast: – Predictable  low  latency   – Sub-­‐ms  response  Bmes – Built-­‐in  memcached  technology • Zero-­‐down/me  Elas/city: – Spread  I/O  and  data  across  instances – Consistent  performance  with  linear  cost – Dynamic  rebalancing  of  a  live  cluster 8
  • 10. Couchbase  “write”  data  flow  –  applica/on  view User  acBon  results  in  the  need  to   change  the  VALUE  of  KEY 1 ApplicaBon  updates  key’s  VALUE,   2 performs  SET  operaBon   4 Couchbase  client  hashes  KEY,  idenBfies   3 KEY’s  master  server SET  request  sent  over   network  to  master  server 5 Couchbase  replicates  KEY-­‐VALUE  pair,  caches  it   in  memory  and  stores  it  to  disk 10
  • 11. Couchbase  data  flow  –  under  the  hood SET  request  arrives  at  KEY’s   SET  acknowledgement   master  server 1 5 returned  to  applicaBon 2 2 Listener-­‐Sender RAM* 2 Couchbase  storage  engine Disk Disk Disk 3 Disk Disk Disk Replica  Server  1  for  KEY Master  server  for  KEY Replica  Server  2  for  KEY 11
  • 12. Couchbase  Architecture 11211 11210 memcapable  1.0 memcapable  2.0 moxi REST  management  API/Web  UI vBucket  state  and  replicaBon  manager Global  singleton  supervisor Rebalance  orchestrator memcached ConfiguraBon  manager Node  health  monitor Process  monitor protocol  listener/sender Heartbeat Data  Manager Cluster  Manager engine  interface CouchDB hp on  each  node one  per  cluster Erlang/OTP HTTP erlang  port  mapper distributed  erlang 8080 4369 21100  –  21199 12
  • 13. Couchbase  Architecture 11211 11210 memcapable  1.0 memcapable  2.0 moxi vBucket  state  and  replicaBon  manager REST  management  API/Web  UI Global  singleton  supervisor Rebalance  orchestrator memcached ConfiguraBon  manager Node  health  monitor Process  monitor protocol  listener/sender Heartbeat engine  interface CouchDB hp on  each  node one  per  cluster Erlang/OTP HTTP erlang  port  mapper distributed  erlang 8091 4369 21100  –  21199 13
  • 14. Data  buckets  are  secure  Couchbase  “slices” Applica/on  user Web  applica/on  server Bucket  1 Bucket  2 Aggregate  Cluster  Memory  and  Disk  Capacity Couchbase  data  servers In  the  data  center On  the  administrator  console 14
  • 15. Elas/c  Rebalancing Node  1 Node  2 Node  3 Before vBucket  1 vBucket  7 • Adding  Node  3 vBucket  2 vBucket  8 • Node  3  is  in  pending  state vBucket  3 vBucket  9 • Clients  talk  to  Node  1,2  only Pending  state vBucket  4 vBucket  10 vBucket  5 vBucket  11 vBucket  6 vBucket  12 15
  • 16. Elas/c  Rebalancing Node  1 Node  2 Node  3 Before vBucket  1 vBucket  7 • Adding  Node  3 vBucket  2 vBucket  8 • Node  3  is  in  pending  state vBucket  3 vBucket  9 • Clients  talk  to  Node  1,2  only Pending  state vBucket  4 vBucket  10 vBucket  5 vBucket  11 vBucket  6 vBucket  12 vBucket  1 vBucket  7 vBucket  2 vBucket  8 During vBucket  3 vBucket  9 Rebalancing • Rebalancing  orchestrator  recalculates  the   vBucket  4 vBucket  10 vBucket  map  (including  replicas) vBucket  5 vBucket  11 • Migrate  vBuckets  to  the  new  server vBucket  6 vBucket  12 • Finalize  migraBon vBucket    migrator vBucket    migrator 15
  • 17. Elas/c  Rebalancing Node  1 Node  2 Node  3 Before vBucket  1 vBucket  7 • Adding  Node  3 vBucket  2 vBucket  8 • Node  3  is  in  pending  state vBucket  3 vBucket  9 • Clients  talk  to  Node  1,2  only Pending  state vBucket  4 vBucket  10 vBucket  5 vBucket  11 vBucket  6 vBucket  12 vBucket  1 vBucket  7 vBucket  2 vBucket  8 During vBucket  3 vBucket  9 Rebalancing • Rebalancing  orchestrator  recalculates  the   vBucket  4 vBucket  10 vBucket  map  (including  replicas) vBucket  5 vBucket  11 • Migrate  vBuckets  to  the  new  server vBucket  6 vBucket  12 • Finalize  migraBon vBucket    migrator vBucket    migrator Client AKer vBucket  1 vBucket  7 vBucket  5 • Node  3  is  balanced • Clients  are  reconfigured  to  talk  to  Node  3 vBucket  2 vBucket  8 vBucket  6 vBucket  3 vBucket  9 vBucket  11 vBucket  4 vBucket  10 vBucket  12 15
  • 19. Online Advertising Publishers Advertisers Aol Advertising Advertiser Constraints: “Match Maker” •    Payment model  –  may  pay  per      impression,  click,  or  conversion •    Allowability  –  may  restrict  on          what  web  sites  to  be  served •    Targeting  –  may  only  want  to          be  shown  to  internet  users  in          a  certain  geo  locaBon,  or  from        a  specific  demographic Internet Users •      Frequency  –  may  limit  how  oaen          the  same  user  is  shown  the  ad •    Campaign Delivery: Publisher Constraints:                  -­‐  The  total  ad  budget  may •    Payment model  –  may  charge                          have  to  be  delivered        per  impression,  click,  or                          according  to  a  plan      conversion                  -­‐    The  served  impressions •    Allowability  –  may  prohibit                          may  have  to  generate  no Terminology:      certain  types  of  ads  to  be   • CPM = Cost Per Mille, e.g. $1.50 per 1000 impressions                        less  than  a  prescribed  click-­‐      displayed • CPC = Cost Per Click, e.g. $2 per click                        through  or  conversion  rate • CPA = Cost Per Acquisition, e.g. $15 per acquisition/conversion
  • 20. Large-­‐Scale  Analy/cs • Mission • Team • Data • Ad  serving  logs,  content,  and  3rd  party  data  to  be  processed • Research • Technologies • Cloudera:  Hadoop,  HDFS,  Flume,  Workflow  Manager • Distributed  opera/onal  store:  Couchbase • Light  DB:  MySQL • Use  MPI  for  model  building • Constantly  experimen/ng...
  • 21. Data Feeds Flume  Inges/on -­‐  Cpu-­‐intensive  (MPI-­‐based  ML) -­‐  OperaBonal  store  highly  cached   Large-scale Analytics:                in  Couchbase -ReporBng  and  Insights -­‐  Distributed  search  (Sphinx)          -­‐  DB  support  for  Hadoop  and  MySQL -PredicBve  Segments -Contextual  Analysis  and  SegmentaBon Couchbase   DB  Cluster Actionable data Data from the Internet (to ad serving)
  • 22. Use  Cases  Today • data  set  enrichment:  given  a  field  in  a  data  set  stored  on  HDFS,  enrich  by  adding  related   fields;  media  -­‐>  campaign  -­‐>  adver>ser  chain • blackboard  for  inter-­‐process/job  communica>on:  contextual  segmenta>on  pipelines;   predic>ve  modeling  can  load  per-­‐campaign  models  to  be  used  for  large-­‐scale  scoring • larger  map-­‐side  joins  (where  Hadoop  DistributedCache  and  in-­‐memory  process/task  cache  is   insufficient)   • aggrega>ons  with  large  number  of  item  lookups,  e.g.  user-­‐level  contextual  profiles   aggregated  from  visited  url  contextual  profies  stored  in  memcache • Flume  integra>on  for  data  flow  reliability  end  recovery • segment  genera>on  currently  carried  out  through  Hadoop  pipelines  and  uploaded  into   server-­‐side  Membase  for  targe>ng • but:  strong  tendency  to  move  closer  to  ad  serving  mo>vates  thinking  about  new   architectures  to  reduce  segment  genera>on  >me
  • 23. RT  Framework:  Capture,  Compute  and  Forward Data Feeds Flume  Inges/on COMPUTE CAPTURE FORWARD Couchbase Compute   Couchbase (front-­‐end) Cluster (back-­‐end) and   ad-­‐serving  logic Big  Data  Loop Hadoop
  • 24. RT  Contextual  Segmenta/on Data Feeds Flume  Inges/on User-­‐ContentID  Mapper Active Event Frame User-­‐Segment  Mapper UC Map Membase Couchbase  +   US Short-term Map ad-­‐serving  logic ContentID-Segment Map
  • 25. Rough  Capacity  Es/mates • Data  Volume  Calcula/on – 60000  events  per  second  -­‐>  60000  *  900  =  55  mil.  events  during  15-­‐minute   burst – 1KB  per  event  -­‐>  55GB  for  staging  frame  +  55GB  for  loading  frame  =   110GB;  the  rest  ~  800GB  is  for  data  output  from  processes   – 10  nodes  at  128GB  =  1TB  -­‐>  more  than  enough!  (assuming  one  copy)   – exact  calcula/ons  at  hqp://wiki.membase.org/display/membase/Sizing +Guidelines • Processing  bandwidth – assuming  cluster  supports  200K  ops  per  second  (conserva/ve) – 60000  opera/ons/sec  reserved  for  loading  the  current  15-­‐minute  frame – remaining  140K  opera/ons/sec  for  jobs  
  • 26. AOL  TargeBng Lessons  Learned  using  Couchbase
  • 27. Couchbase  Architecture   • Requirements • Support  iniBally  up  to  1.2  billion  keys  (1  key  per  user  in  the  system). • Minimum  of  10K  writes  per  second. • Two  clusters,  one  on  each  coast,  to  reduce  latency. • Easily  scalable,  support  an  increasing  number  of  keys  &  writes/reads  per  second  and   seamlessly  allow  growth  for  the  future • Couchbase  Set  up • IniBally    1.1  billion  keys,  now  650  million  keys. • 250  to  ~2K  writes/second. • 1K  to  7K  reads/second. • 2  clusters,  10  nodes  each. • Dual  wriBng,  once  to  each  cluster. • 1.19  TB  of  RAM  available,  124/128  GB  allocated  on  each  server.  200  Gb  in  use  at  the  moment. 25
  • 28. Lessons  Learned Issue ResoluMon Do  not  use  the  local  moxy.    The  membase  client  (Spy)   ReplicaBon  across  data  center  by  wriBng  to  a  local   should  connect  directly  to  an  instance  of  a  remote  moxy  to   moxy  dramaBcally  reduces  the  throughput.   perform  updates.     Membase  needs  150  bytes  per  item  for  meta  data   Correctly  sizing  the  membase  cluster  based  on    Ensure  mem_high_wat  is  not  exceeded  to  prevent   the  expected  number  of  keys  and  size  of  the   spillover  to  disk.  If  incoming  data  arrives  faster  than  the   object  is  criBcal  to  the  membase  operaBon data  write  to  disk,  the  system  returns  errors Re-­‐issue  flushctl  command  every  Bme  Membase  server   Membase  seongs  such  as  memory  high/low   restarts.    Membase  indicated  that  a  beer  configuraBon   water  marks  modified  by  flushctl  will  be  reverted   system  to  allow  permanent  change  of  seongs  is  coming.     to  default  when  the  service  restarts.   UnBl  then,  they  recommend  to  sBck  with  default  seongs.   26
  • 30. Customers  and  Partners Customers  (par/al  lis/ng) Partners 28