SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
MongoDB


Dobré

                               zlé
a ošklivé
            Lukáš @almadcz Linhart
Jak si stojíte?
Not Only SQL
    "Idea je, že tak jako si vybíráte
    operační systémy a tak jako si
  vybíráte programovací jazyky a tak
jako si vybíráte frameworky, můžete si
   vybrat databázové architektury."



     Justin Sheehy (CTO Basho, Riak)
ACID
Atomicita
Konzistence
Izolace
Trvalost
BASE
Basically Available




Soft state/Eventually consistent
CAP
...pokud ji chcete udělat
Proč měnit?
Sledování




Událostí
Mongodb
...a krabičky...
Přímočaré!
[
   # levy sloupec
   [
   {'cotoje' : 'aktualne widget',
'pocetclanku' : 7},
   {'cotoje' : 'muj widget', 'cotamje' :
'RSSko'},
     ],
   # další sloupec
...ups
(BLOCKINGLY) ALTER TABLE
  8GB_configuration_table
ADD
  DOWNTIME
WHERE
  RPS > XX
AND
  lupa_cz_hate > 500
Mongodb
Tak.




Jednoduché.
...jen vypustit data...
...ve...
{
    'formátu pro' : [
       'RealTime Web',
       'HTML 5',
       'Web 2.0',
       'Web 3.0',
       // all cool kids
       'SF-based, YC-funded start-up'
    ]
}
...binárně rychle
      (BSON)
Replica Set




(jako cluster zadarmo)
Rychlééé!
"Líné" úpravy schématu
Automatické
rozdělování
Replikace per dotaz
...napříč datacentry
Vnitřní indexy
Map




Reduce
GridFS
Updaty na místě
Mongodb
Mongodb
"Při použití kill -9 není žádná záruka
 ohledně toho, co se podaří a co se
         nepodaří obnovit.

   Jak stará je poslední záloha?"


                 -- Eliot Horowitz
Mongodb
Mongodb
"Kdykoli na to sáhnu,


     tak se to rozbije"




-- Petr Svoboda, provozák
Mongodb
32 bitů
Jedno
vlákno pro
   zápis
Jak rychle umím psát...
Pozor na znalosti.

       a předpoklady



       (hlavně školní)
Nevidím   schéma
Nebezpečný zápis...




        ...je nebezpečný
Eventuelní konzistence

   je složitá.

  Produktově.
Na velikosti záleží
Replikační set

 není load (write)
 balancing
Pozor na bindingy
Failover == downtime
Zabrané místo



db.coll.runCommand( "compact" )
                ...bez indexů
Máte

problém?

Upgrade!
Co si odnést
•
 MongoDB je Dobré
•
 ...ale vyzkoušejte na co
•
 Ověřujte předpoklady
•
 40 let stability relačních databází
•
 Nejprve CAP, potom produkt
•
 Podívejte se i na alternativy
Couch, Riak, HBase, Cassandra...
•



Buďte připraveni na změnu
•
Otázky?
Díky!
Hole by Bùi Linh Ngân http://www.flickr.com/photos/75199686@N00/2715287035/ Hands in the air - in concert by Martin Fisch
http://www.flickr.com/photos/45409431@N00/3272079115/ View of Banff from Gondola by mjb84 http://www.flickr.com/photos/15607207@N00/3910666497/
 Bouquet of Booms by Steve Juvertson http://www.flickr.com/photos/44124348109@N01/23623670/ CAP theorem by Craig Brown
http://nosqltips.blogspot.com/2011/04/cap-diagram-for-distribution.html http://3.bp.blogspot.com/-
jt3tZEGkvaw/TbzFI6DZjMI/AAAAAAAAAAw/RyvAOEpqBWo/s1600/CAP_Diagram_dist+copy.jpg A gas jar of nitrogen dioxide gas (NO2) to the right. A
dilute copper(II) nitrate solution on the left with nitrogen dioxide gas above the solution. by Shandchem
http://www.flickr.com/photos/14508691@N08/5188151426/ Richard Talmadge - Project Moon Base (1953) by Kamil Antosiewicz Monika Powalisz
http://www.flickr.com/photos/mononukleoza/4966825873/ Nirim St., Tel Aviv by Tomer Lichtash http://www.flickr.com/photos/72202041@N00/6607330/ THE
Boxes By aka*kirara http://www.flickr.com/photos/14481505@N04/2892007034/ Simplicity-II-outtakes by Bappaditya Dasgupta
http://www.flickr.com/photos/78313041@N00/99713163/ The Joy Of Release by Emily Jane Morgan
http://www.flickr.com/photos/47655932@N06/4488866299/ building block by eflon http://www.flickr.com/photos/23094783@N03/4294106756/ Bison by
Allan Harris http://www.flickr.com/photos/50638285@N00/4901324925/ York Autograss by Darren Clare
http://www.flickr.com/photos/54361879@N08/5653490309/ 110606-N-TU221-408 By U.S. Department of Defense Current Photos
http://www.flickr.com/photos/39955793@N07/5811868587/in/faves-49054580@N02/ Foto nuovo gattino - 3 by notoriousxl
http://www.flickr.com/photos/15579777@N05/3322249141/ Is Moose! by Dirk Talamasca http://www.flickr.com/photos/82377414@N00/1441442789/
inspire by lululemon athletica http://www.flickr.com/photos/30011527@N05/5197327623/ 8bit_colors by Alexander Lane
http://www.flickr.com/photos/alexlane/1779591809/ The Cup of Yes and No (RAM) by dailyinvention http://www.flickr.com/photos/96162367@N00/71147684/
 SML Notebooks / 20090903.10D.52443 / SML by See-ming Lee http://www.flickr.com/photos/48973657@N00/3882941631/ Blind (Faith) by dollen
http://www.flickr.com/photos/39804614253@N01/1761955352/ whoops by Brandon Martin-Anderson
http://farm1.static.flickr.com/22/27378956_6aea69c1be_o.png Scratching bear by Tambako The Jaguar
http://www.flickr.com/photos/8070463@N03/4283191966/ Another lovely lion picture! ;) by Tambako the Jaguar
http://www.flickr.com/photos/tambako/3690585568/in/photostream/ equilibrium by Andy http://www.flickr.com/photos/88996417@N00/427383721/ Open
Book by melanie http://www.flickr.com/photos/61173086@N00/1451941259/ HMNZS Wellington (F69) #2 by Pieter Pieterse
http://www.flickr.com/photos/49488259@N00/62704514/ maple leaf in sunder by razor blade Berlin, October 3rd 2007 by Karl-Ludwig Poggemann
http://www.flickr.com/photos/hinkelstone/1478281677/ 60836 [GIF] by Undertow851 http://www.flickr.com/photos/57907353@N04/5800729770/ Laptops
being ghosted by sHzaam http://www.flickr.com/photos/62111802@N00/3117313476/ Filing Cabinet Front By Vegansoldier
http://www.flickr.com/photos/24283435@N08/3234644372/ Pi pie by Paul Smith http://www.flickr.com/photos/37996584546@N01/2190712270/ 661 - Blue
Tile - Pattern by Patrick Hoesly http://www.flickr.com/photos/60057912@N00/4514759637/ Catching a ride by Valerie Everett
http://www.flickr.com/photos/66742614@N00/2351029408/ Cars awaiting shredding by dave_7 http://www.flickr.com/photos/21612624@N00/5053506216/
Strategie oblique by gualtiero http://www.flickr.com/photos/29931767@N00/126238354/ Tomatoes by The Ewan
http://www.flickr.com/photos/16168774@N00/2962762666/

Weitere ähnliche Inhalte

Mongodb

  • 1. MongoDB Dobré zlé a ošklivé Lukáš @almadcz Linhart
  • 3. Not Only SQL "Idea je, že tak jako si vybíráte operační systémy a tak jako si vybíráte programovací jazyky a tak jako si vybíráte frameworky, můžete si vybrat databázové architektury." Justin Sheehy (CTO Basho, Riak)
  • 6. CAP
  • 12. Přímočaré! [ # levy sloupec [ {'cotoje' : 'aktualne widget', 'pocetclanku' : 7}, {'cotoje' : 'muj widget', 'cotamje' : 'RSSko'}, ], # další sloupec
  • 13. ...ups (BLOCKINGLY) ALTER TABLE 8GB_configuration_table ADD DOWNTIME WHERE RPS > XX AND lupa_cz_hate > 500
  • 17. ...ve... { 'formátu pro' : [ 'RealTime Web', 'HTML 5', 'Web 2.0', 'Web 3.0', // all cool kids 'SF-based, YC-funded start-up' ] }
  • 31. "Při použití kill -9 není žádná záruka ohledně toho, co se podaří a co se nepodaří obnovit. Jak stará je poslední záloha?" -- Eliot Horowitz
  • 34. "Kdykoli na to sáhnu, tak se to rozbije" -- Petr Svoboda, provozák
  • 38. Jak rychle umím psát...
  • 39. Pozor na znalosti. a předpoklady (hlavně školní)
  • 40. Nevidím schéma
  • 41. Nebezpečný zápis... ...je nebezpečný
  • 42. Eventuelní konzistence je složitá. Produktově.
  • 44. Replikační set není load (write) balancing
  • 49. Co si odnést • MongoDB je Dobré • ...ale vyzkoušejte na co • Ověřujte předpoklady • 40 let stability relačních databází • Nejprve CAP, potom produkt • Podívejte se i na alternativy Couch, Riak, HBase, Cassandra... • Buďte připraveni na změnu •
  • 51. Díky! Hole by Bùi Linh Ngân http://www.flickr.com/photos/75199686@N00/2715287035/ Hands in the air - in concert by Martin Fisch http://www.flickr.com/photos/45409431@N00/3272079115/ View of Banff from Gondola by mjb84 http://www.flickr.com/photos/15607207@N00/3910666497/ Bouquet of Booms by Steve Juvertson http://www.flickr.com/photos/44124348109@N01/23623670/ CAP theorem by Craig Brown http://nosqltips.blogspot.com/2011/04/cap-diagram-for-distribution.html http://3.bp.blogspot.com/- jt3tZEGkvaw/TbzFI6DZjMI/AAAAAAAAAAw/RyvAOEpqBWo/s1600/CAP_Diagram_dist+copy.jpg A gas jar of nitrogen dioxide gas (NO2) to the right. A dilute copper(II) nitrate solution on the left with nitrogen dioxide gas above the solution. by Shandchem http://www.flickr.com/photos/14508691@N08/5188151426/ Richard Talmadge - Project Moon Base (1953) by Kamil Antosiewicz Monika Powalisz http://www.flickr.com/photos/mononukleoza/4966825873/ Nirim St., Tel Aviv by Tomer Lichtash http://www.flickr.com/photos/72202041@N00/6607330/ THE Boxes By aka*kirara http://www.flickr.com/photos/14481505@N04/2892007034/ Simplicity-II-outtakes by Bappaditya Dasgupta http://www.flickr.com/photos/78313041@N00/99713163/ The Joy Of Release by Emily Jane Morgan http://www.flickr.com/photos/47655932@N06/4488866299/ building block by eflon http://www.flickr.com/photos/23094783@N03/4294106756/ Bison by Allan Harris http://www.flickr.com/photos/50638285@N00/4901324925/ York Autograss by Darren Clare http://www.flickr.com/photos/54361879@N08/5653490309/ 110606-N-TU221-408 By U.S. Department of Defense Current Photos http://www.flickr.com/photos/39955793@N07/5811868587/in/faves-49054580@N02/ Foto nuovo gattino - 3 by notoriousxl http://www.flickr.com/photos/15579777@N05/3322249141/ Is Moose! by Dirk Talamasca http://www.flickr.com/photos/82377414@N00/1441442789/ inspire by lululemon athletica http://www.flickr.com/photos/30011527@N05/5197327623/ 8bit_colors by Alexander Lane http://www.flickr.com/photos/alexlane/1779591809/ The Cup of Yes and No (RAM) by dailyinvention http://www.flickr.com/photos/96162367@N00/71147684/ SML Notebooks / 20090903.10D.52443 / SML by See-ming Lee http://www.flickr.com/photos/48973657@N00/3882941631/ Blind (Faith) by dollen http://www.flickr.com/photos/39804614253@N01/1761955352/ whoops by Brandon Martin-Anderson http://farm1.static.flickr.com/22/27378956_6aea69c1be_o.png Scratching bear by Tambako The Jaguar http://www.flickr.com/photos/8070463@N03/4283191966/ Another lovely lion picture! ;) by Tambako the Jaguar http://www.flickr.com/photos/tambako/3690585568/in/photostream/ equilibrium by Andy http://www.flickr.com/photos/88996417@N00/427383721/ Open Book by melanie http://www.flickr.com/photos/61173086@N00/1451941259/ HMNZS Wellington (F69) #2 by Pieter Pieterse http://www.flickr.com/photos/49488259@N00/62704514/ maple leaf in sunder by razor blade Berlin, October 3rd 2007 by Karl-Ludwig Poggemann http://www.flickr.com/photos/hinkelstone/1478281677/ 60836 [GIF] by Undertow851 http://www.flickr.com/photos/57907353@N04/5800729770/ Laptops being ghosted by sHzaam http://www.flickr.com/photos/62111802@N00/3117313476/ Filing Cabinet Front By Vegansoldier http://www.flickr.com/photos/24283435@N08/3234644372/ Pi pie by Paul Smith http://www.flickr.com/photos/37996584546@N01/2190712270/ 661 - Blue Tile - Pattern by Patrick Hoesly http://www.flickr.com/photos/60057912@N00/4514759637/ Catching a ride by Valerie Everett http://www.flickr.com/photos/66742614@N00/2351029408/ Cars awaiting shredding by dave_7 http://www.flickr.com/photos/21612624@N00/5053506216/ Strategie oblique by gualtiero http://www.flickr.com/photos/29931767@N00/126238354/ Tomatoes by The Ewan http://www.flickr.com/photos/16168774@N00/2962762666/