MongoDBFluch oder SegenMichele Catalano I 04. Oktober 2012                                      © 2012 Mayflower GmbH
SQL versus NoSQLRelationale Database (SQL)        No SQL - different from                                  SQL       ACID ...
NoSQLKey Value Store                                 Column StoreGraph Databases                                Document S...
MongoDB Definition                    Titel der Präsentation   I   Mayflower GmbH   I   04. Oktober 2012   I 4
MongoDB DefinitionI Named from „humongous“ = gigantisch                           Titel der Präsentation   I   Mayflower Gmb...
MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore   • Open Source: https://github....
MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore   • Open Source: https://github....
MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore   • Open Source: https://github....
MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore   • Open Source: https://github....
MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore   • Open Source: https://github....
MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore   • Open Source: https://github....
MongoDB Dokumenten Store         JSON/BSON                                                                Javascript     H...
Document Store JSON/BSON             {                "_id" : ObjectId("506cd89ea5b7c630ac719bd6"),                "Title"...
Document Store Naming      MySQL             MongoDB      database          db      table             collection      row ...
Javascript SpiderMonkey                            Map/Reduce         mongo shell                       db.vortrag.find({„t...
ReplicaSet und Sharding  Sicherheit durch ReplicaSet                          ReplicaSe                          t        ...
ReplicaSet und Sharding  Sicherheit durch ReplicaSet                          ReplicaSe                            Replica...
ReplicaSet und Sharding  Sicherheit durch ReplicaSet     Skalierung per Sharding mit Hardware                          Rep...
ReplicaSet und Sharding    Sicherheit durch ReplicaSet       Skalierung per Sharding mit HardwareConfig                    ...
ReplicaSet und Sharding    Sicherheit durch ReplicaSet       Skalierung per Sharding mit Hardware                         ...
ReplicaSet und Sharding    Sicherheit durch ReplicaSet       Skalierung per Sharding mit Hardware                         ...
ReplicaSet und Sharding    Sicherheit durch ReplicaSet       Skalierung per Sharding mit Hardware                         ...
ReplicaSet und Sharding    Sicherheit durch ReplicaSet       Skalierung per Sharding mit Hardware                         ...
ShardingI Chunks   • Split der Index in ranges.   • wenn unique index muss dieser der shardkey     sein.I Balancer   • teu...
Achtung  Schema                                                                 Scalierung              Map/Reduce        ...
Schema und Collection Schema  | Planung vor dem Deploment  | Vorschau auf die wahrscheinliche      Zukunft  |   Grenzen de...
Map/Reduce Javascript Funktion                       SpiderMonkey ist single Thread!                            Map/Reduce...
Error HandlingI Fire and ForgetI Connection timeout heißt nicht. Das die Daten  irgendwann doch geschrieben werden.I Jeder...
PerformanceI Arbeitsspeicher muss mindestens die Indexes  Vorhalten könnenI Mehr Arbeitsspeicher ist besserI Mehr Spindel ...
FazitI Datensicherheit nicht garantiertI Schnell durch massive Arbeitsspeicher NutzungI Dokumente einfach und schnell zu p...
Vielen Dank für IhreAufmerksamkeit!Kontakt Michele Catalano        michele.catalano@mayflower.de        +49 89 242054-1112 ...
Upcoming SlideShare
Loading in …5
×

Mongo DB - Segen oder Fluch

1,250 views

Published on

Einführu

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,250
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n ACID (Atomicity, Consistency, Isolation, Durability)\n BASE (Basically Available, Soft State, Eventually consistent)\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Engine ist SpiderMonkey vom Mozilla fondation\nMap/Reduce geht mit Javascript auf dem Server\nMongo shell ist javascript\n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • VFS Virtual File System\nFire and Forget\nHarddisk speed und spindelanzahl (RAID)\nVon ReplicaSet zu Sharding (2Server auf 7 Server!)\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Mongo DB - Segen oder Fluch

    1. 1. MongoDBFluch oder SegenMichele Catalano I 04. Oktober 2012 © 2012 Mayflower GmbH
    2. 2. SQL versus NoSQLRelationale Database (SQL) No SQL - different from SQL ACID BASE Atomicity Basically Available Consistency Soft State Isolation Eventually consistent Durability -Strong consistency -Weak consistency -Isolation -Availability -Two-Phase commit -Easy development -Complex development -Faster -More reliable Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 2
    3. 3. NoSQLKey Value Store Column StoreGraph Databases Document Stores Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 3
    4. 4. MongoDB Definition Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 4
    5. 5. MongoDB DefinitionI Named from „humongous“ = gigantisch Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 4
    6. 6. MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore • Open Source: https://github.com/mongodb • Support from Manufacturer 10gen: http://www. 10gen.com Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 4
    7. 7. MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore • Open Source: https://github.com/mongodb • Support from Manufacturer 10gen: http://www. 10gen.comI Replication & High Availability Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 4
    8. 8. MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore • Open Source: https://github.com/mongodb • Support from Manufacturer 10gen: http://www. 10gen.comI Replication & High AvailabilityI Sharding & High scalability (Scale-Out) Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 4
    9. 9. MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore • Open Source: https://github.com/mongodb • Support from Manufacturer 10gen: http://www. 10gen.comI Replication & High AvailabilityI Sharding & High scalability (Scale-Out)I Full index support Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 4
    10. 10. MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore • Open Source: https://github.com/mongodb • Support from Manufacturer 10gen: http://www. 10gen.comI Replication & High AvailabilityI Sharding & High scalability (Scale-Out)I Full index supportI Map/Reduce Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 4
    11. 11. MongoDB DefinitionI Named from „humongous“ = gigantischI Dokument-oriented NoSQL datastore • Open Source: https://github.com/mongodb • Support from Manufacturer 10gen: http://www. 10gen.comI Replication & High AvailabilityI Sharding & High scalability (Scale-Out)I Full index supportI Map/ReduceI Geospatial indexes / queries Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 4
    12. 12. MongoDB Dokumenten Store JSON/BSON Javascript Horizontal Skalieren mit Sharding Aufallsicherheit mit ReplicaSet Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 5
    13. 13. Document Store JSON/BSON { "_id" : ObjectId("506cd89ea5b7c630ac719bd6"), "Title" : "Hallo bei dem Vortrag", "autor" : "Michele Catalano", "thema" : "MongoDB, was geht ab", "noch ein document" : { "weiter" : 12344 }, "liste" : [ 23, 445, 566 ] } Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 6
    14. 14. Document Store Naming MySQL MongoDB database db table collection row document column content in document Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 7
    15. 15. Javascript SpiderMonkey Map/Reduce mongo shell db.vortrag.find({„title“ : „MongoDB“}) db.freunde.update({„title“:“MongoDB“ },{ $set : { „nochwas“:“TaTA“}}) Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 8
    16. 16. ReplicaSet und Sharding Sicherheit durch ReplicaSet ReplicaSe t Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 9
    17. 17. ReplicaSet und Sharding Sicherheit durch ReplicaSet ReplicaSe ReplicaSe t t Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 9
    18. 18. ReplicaSet und Sharding Sicherheit durch ReplicaSet Skalierung per Sharding mit Hardware ReplicaSe ReplicaSe t t Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 9
    19. 19. ReplicaSet und Sharding Sicherheit durch ReplicaSet Skalierung per Sharding mit HardwareConfig ReplicaSe Config ReplicaSe ConfigServer t Server t Server Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 9
    20. 20. ReplicaSet und Sharding Sicherheit durch ReplicaSet Skalierung per Sharding mit Hardware Shard 1Config ReplicaSe Config ReplicaSe ConfigServer t Server t Server Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 9
    21. 21. ReplicaSet und Sharding Sicherheit durch ReplicaSet Skalierung per Sharding mit Hardware Shard 1Config ReplicaSe ReplicaSe Config ReplicaSe ReplicaSe ConfigServer t t Server t t Server Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 9
    22. 22. ReplicaSet und Sharding Sicherheit durch ReplicaSet Skalierung per Sharding mit Hardware Shard 1 Shard 2Config ReplicaSe ReplicaSe Config ReplicaSe ReplicaSe ConfigServer t t Server t t Server Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 9
    23. 23. ReplicaSet und Sharding Sicherheit durch ReplicaSet Skalierung per Sharding mit Hardware Shard 1 Shard 2Config ReplicaSe ReplicaSe Config ReplicaSe ReplicaSe ConfigServer t t Server t t Server Erhöhung der Rechner Anzahl nicht der Rechner power! Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 9
    24. 24. ShardingI Chunks • Split der Index in ranges. • wenn unique index muss dieser der shardkey sein.I Balancer • teuer und ausbremsend Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 10
    25. 25. Achtung Schema Scalierung Map/Reduce Performance Error Handling Collection Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 11
    26. 26. Schema und Collection Schema | Planung vor dem Deploment | Vorschau auf die wahrscheinliche Zukunft | Grenzen der MongoDB beachten Collection | Erwartete Queries für die Dokumente berücksichtigen | Index klar definieren | Dokumentengröße stabil halten. Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 12
    27. 27. Map/Reduce Javascript Funktion SpiderMonkey ist single Thread! Map/Reduce Jobs können die Datenbank blockieren bzw. sich gegenseitig stoppen. Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 13
    28. 28. Error HandlingI Fire and ForgetI Connection timeout heißt nicht. Das die Daten irgendwann doch geschrieben werden.I Jeder Fehler muss sehr speziell behandelt werden. Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 14
    29. 29. PerformanceI Arbeitsspeicher muss mindestens die Indexes Vorhalten könnenI Mehr Arbeitsspeicher ist besserI Mehr Spindel ist besser (Parallel Platten z.B. RAID 0 oder 10)I Sehr hohe Anzahl der Netzwerk Connections.I Trennung von Journal und Datenbank Dateien (auch Physich) Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 15
    30. 30. FazitI Datensicherheit nicht garantiertI Schnell durch massive Arbeitsspeicher NutzungI Dokumente einfach und schnell zu programmierenI Nachhaltig Entwickeln sehr aufwendigI Flexibilität der Dokumente nicht ganz so wahr wie versprochen.I Vorausdenken ist absolutes muss! Titel der Präsentation I Mayflower GmbH I 04. Oktober 2012 I 16
    31. 31. Vielen Dank für IhreAufmerksamkeit!Kontakt Michele Catalano michele.catalano@mayflower.de +49 89 242054-1112 Mayflower GmbH Mannhardtstr. 6 80538 München © 2012 Mayflower GmbH

    ×