Skip to content

Instantly share code, notes, and snippets.

@heim
Created December 6, 2012 15:25
Show Gist options
  • Save heim/4225297 to your computer and use it in GitHub Desktop.
Save heim/4225297 to your computer and use it in GitHub Desktop.
Notater fra NoSQL roadshow

NoSQL RoadShow 2012

  • Considerations for using nosql at your next it project "Akmal B. Chaudry - IBM"
    • Finding relevant developer skills
    • choosing the right product
    • crossing the chasm
      • great open source community
      • backed by commercial companies
      • history
        • xml-databases #failed
        • oo dbs #failed
        • Skjer det samme med NoSQL?
    • Utbredelse
      • Mongo & Cassandra er de største
    • Sikkerhet
      • Alle er laget for å kjøre på sikkert nett
      • Attacking MongoDB - Firstov Mihalil
      • NoSQL-injection attacks
    • Polyglot er fremtiden
      • Disney har laget public-apier for alle sine forskjellige databaser
      • Hindrer "feil" bruk av NoSQL
  • Running NoSQL Natively on Flash (Storage) "Torben Mathiasen - Fusion.io"
    • En talk om optimalisering på hardwarenivå.
    • Fusion.io lager hardware
    • Har laget eget filsystem
    • Det finnes spesialutgaver av MySQL og Aerospike som gjør at ytelsen skyter i været
    • Salgspitch. Relativt uinterresant.
  • The Challenge of Connected Data "Jim Webber @jimwebber Neo Technologies"
    • Mye bla bla og morsomme ting.
    • Krediterte Amazon for å lage sin egen database
    • Evangeliserer grafdatabaser generelt og neo4j spesielt
    • "Data is becoming messier, like the real world"
      • Eksempel: Traversere london-tube kartet
    • Snakket litt om CYPHER
      • ASCII-art based query languaga
    • Snakke om hvor vanskelig det var for aggregate-dber å modellere relasjoner
      • Eksempel: People You May Know på linkedin genereres i batcher.
      • Plutselig finnes det ikke flere folk you may know
    • Takeaway: Neo4j kan kjøres in memory
  • Aerospike "Dude fra Aerospike"
    • Uinteressant salgspitch. Kan få samme info ved å lese hjemmesiden.
    • Slidene hans hadde copyright og "confidential" som footer.
    • takeaways:
      • Aerospike er en rask k/v-store optimalisert for flashlagring
      • master/replica arkitekut
      • cluster 5-100 noder
  • Chosing the right db to move big data in real-time "Wes Biggs Adfonic @wbiggs"
    • Adfonic er en annonsemegler for mobile platformer
    • Nøkkeltall
      • 100B ad-requests/month
        • 100B Decisions/month, what to show, to whom
      • 100ms max reponse time (including ping)
      • 1000-vis av simultane kampanjer
      • 10.000-vis av æpps og nettsteder
      • 100-vis av milloiner unike devices og brukere hver mnd.
    • Stack
      • CentOs 6.2
      • Java 7
      • MySQL 5.5
      • MySQL cluster 7.2
      • Tomcat 7
      • Aerospike
      • ActiveMQ 5
      • Device atlas
      • Neustar IP intelligence
    • Systemet har "think-time" på 5ms, altså det må kunne ta avgjørelse på hva den skal vise til hvem for hvilken pris på 5ms
    • Takeaways
      • Polyglot is the future
      • No single silver bullet
      • there is no try, only do
      • Lagring og prosessering gror sammen
  • Dinamo concepts explained "Pavlo Baron @pavlobaron github & twitter "
    • Forklarer en del konsepter om DynamoDB mye teknisk lavnivå som handler om hvordan Dynamo håndtere konsistens
    • Takeaways: Dynamo er egnet for
      • immediate reliable writes
      • operational relaxation
      • distrubution and fault tolerance
      • linear scalability
  • Why Distributed Databases Suck and what to do about it "Rune Skou Larsen, Trifork @runeskoularsen"
    • Går igjennom de forskjellige konsistensmodellene til forskjellige databaser
    • Consistency pH - ACID vs BASE
      • Atomic Consistent Isolated Durable vs Basically Available Soft state Eventual Consistency
    • Eksempler
      • Trifork har laget et resept-system for leger og apoteker
        • Data skrives av "legene" til Oracle DB
        • Hentes ut via Oracle MView
        • Propageres til Riak på max 20 min (eventual consistency)
        • Legges så i et high availability riak cluster hvor de blir hentet opp av apotekene
      • Dynamisk delta-konsistens med CQRS
        • Commands trigger asynce eventer
        • Eventer oppdaterer views
        • Eksponerer den este ventene eventen som updated_until på view, eller now hvis ingen event er i køen.
      • Dynamis Deltakonsistens med multiple autorities
        • Setup is multiple datacenters- everybody replicates withe everybody at intervals "full sync"
        • When a full sync is done, save the sync data in each data center
        • when a datacenter is internally cnsistent, it can expose time of sync to other datacenters.
  • NoSQL for the masses. Battle stories from the storage front "Marcus Kern & David Dawson, Velti"
    • Velti lager forskjellige kommunikasjonsløsninger
      • Mobile messaging
      • Social interactivity
      • Interactiv messaging
      • Publiseringsløsning
    • Erfaringer med
      • Erlang
      • Riak
      • Redis
      • Rails
      • Java
      • Node
      • MongoDB
      • Ca tre års erfaringer med NoSQL-databaser
    • Skalering av riak
      • Slet med dårlig ytelse
      • CPU lå bare på 60%
      • Byttet til ssd, fortsatt ingen ytelse
      • Raskere nett-io, fortsatt ingen ytelse
      • Flere kjerner/prosessorer som går mot samme minne skaper "trafikkork" og har stor impact på ytelse
      • Brukte numactl og dedikerte spesifikke prosesstyper til en spesifikk prisesor
      • eks. : numactl --cpubind 1 -interleave all erl
      • Ga 0 timeouts og 20% økt ytelse
    • Load testing - lessons learned
      • Bottlenecks lå ved Firewall, Loadbalancer og servere, ikke ved WAN og LAN
      • Loadbalancer var HA-proxy, oppdaterte fra 1 til 4 linux prosesser.
      • På server så reduserte de antall keepalives
      • Ulimit økt fra 1k til 65k
    • Load testing contd.
      • Laget sitt eget system: Ion Storm
      • Setter opp et Tsung cluster på EC2.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment