Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Amazon SimpleDBChancen einer Cloud-DatenbankLouis BrauerONE-Konferenz, 10. Mai 2012                                1
Agenda1. Datenbank-Umfeld2. Was ist Amazon SimpleDB?3. Features4. Deep Dive5. Einschränkungen und Grenzen6. Use Cases7. Ko...
Amazon SimpleDB‣   Einfach‣   Skalierbar‣   Günstig‣   Migrationspfad für SQL-Fans„Simplicity is the ultimate sophisticati...
SimpleDB im Kontext                      4
SQL                            NoSQL   DBs                            DBs  MySQL                         MongoDB          ...
Relationale   Key/Value                                 Object DB     DB          StoreMySQL          AWS SimpleDB        ...
‣   Eigene Infrastruktur       ‣    Virtualisierte               ‣    Keine Infrastruktur                                 ...
Was ist Amazon SimpleDB?                           8
Relationale                            SimpleDB                    Object DB     DB  Einfache Datentypen           Nur Str...
Klassisches relationales Datenmodell                                       10
Konzept‣   Domains    •   Daten-Container ähnlich einer Tabelle        aber ohne fixes Schema‣   Items    •   Ein Datensatz...
12
13
14
Features           15
IT-Systemlandschaft Internet-Applikation                    Firewall                 Load Balancer    Web-Server    Web-Se...
17
18
Firewall             Load BalancerWeb-Server    Web-Server     Web-ServerApp-Server    App-Server     App-ServerDB-Replika...
SimpleDB                Firewall             Load BalancerWeb-Server    Web-Server     Web-ServerApp-Server    App-Server ...
Betrieb‣   Keine eigene Infrastuktur    •   Keine Hardware, keine Software    •   Keine Installation‣   Hochverfügbar    •...
Entwicklung‣   Speichern & Abfragen via HTTPS-Requests    •   Selbst via HTTPS (REST, SOAP) ansprechen    •   SDKs für all...
Entwicklung‣   Mehrere „Endpunkte“ verfügbar    •   Dublin    •   USA Ost- und 2xWestküste    •   Tokio    •   Sao Paulo  ...
Performance‣   Ausführungsdauer der Abfrage    •   Üblicherweise weit unter 20ms‣   Netzwerk-Latenz    •   „Durchschnittli...
Deep Dive            25
Simple API - 8 Methoden‣   Domains    •   ListDomains    •   CreateDomain    •   DeleteDomain    •   DomainMetadata‣   Ite...
SQL-Syntax‣   select output_list    from domain    where expression    order by sort_instruction    limit 100‣   sdb.selec...
SQL-Syntax‣   select count(*) from domain‣   select * from domain‣   select itemName() from domain‣   select name,city,art...
select * from domain‣   where article [=,!=,<,<=,=>,>] `a-1000`‣   where article [not] like `a-%`‣   where article between...
Numerische Datentypen‣   Datum/Zeit (z.B. 10.5.2012, 10.00 Uhr)    •   2012-05-10T10:00:00.00+01:00‣   Zahlen    •   10	  ...
Grenzen          31
Amazon SimpleDB - Limits‣   Domains    •   250 Domains per Default    •   10 GB p. Domain    •   1 Milliarde Key/Value-Paa...
Amazon SimpleDB - Limits‣   Abfragen    •   2‘500 Items / Query    •   20 Unique Attributes / Query    •   1MB / Query    ...
Use CasesAnwendungsbeispiele                      34
Case Study‣   Share-Button>1 Mio. Sites‣   Tracking-Daten                                35
Case Study‣   Netflix‣   Oracle abgelöst                      36
37
Case Study‣   Flipboard                 38
Case Study‣   TweetDeck‣   User-Accounts +    Synced Settings                      39
Case Study‣   PIXELTEX‣   Zeiterfassung                    40
Geeignete Anwendungsfälle‣   Mobile Apps & Online-Games    •   Spielstände    •   Benutzereinstellungen    •   User-genera...
Geeignete Anwendungsfälle‣   Protokollierung    •   Audit-Logs    •   Nutzungsstatistiken (z.B. Suche, Clickstreams, Newsl...
Kosten         43
Amazon SimpleDB‣   Investitionen u. Betriebskosten    •   Keine‣   Nutzung    •   $0,154 / machine hour    •   Erste 25h /...
Getting started                  45
SDKs‣   Amazon SDKs           ‣   Community SDKs    •   Java              •   C, C++, C#    •   PHP               •   Cold...
Tools‣   SimpleDBa (Mac)    •   Free                      47
Tools‣   SDB Explorer    •   Win, Mac, OS X    •   Linux    •   $70                         48
Tools‣   SDB Tool    Firefox Plug-in    •   Free                      49
Tools‣   Migration von MySQL auf SimpleDB    •   http://learnaws.s3.amazonaws.com/Migrating_MySQL_to_SimpleDB.pdf         ...
Getting started‣   AWS Account eröffnen    •   http://aws.amazon.com‣   SDKs und Tools herunterladen‣   Loslegen :-)       ...
Getting started‣   „With SimpleDB you get a rock-solid, globally available database    which can be scaled infinitely. But ...
About us           53
pixeltex.com‣   PIXELTEX    •   Enterprise Web-Engineering seit 1999    •   14 Mitarbeiter, davon 11 in Entwicklung & Desi...
pixeltex.com                      ‣   Louis Brauer                          •   louis @ pixeltex.com                      ...
Upcoming SlideShare
Loading in …5
×

SimpleDB - Chancen einer Cloud Datenbank

935 views

Published on

Ein Vortrag von Louis Brauer @ ONE Konferenz Zürich 2012

Published in: Technology
  • Be the first to comment

  • Be the first to like this

SimpleDB - Chancen einer Cloud Datenbank

  1. 1. Amazon SimpleDBChancen einer Cloud-DatenbankLouis BrauerONE-Konferenz, 10. Mai 2012 1
  2. 2. Agenda1. Datenbank-Umfeld2. Was ist Amazon SimpleDB?3. Features4. Deep Dive5. Einschränkungen und Grenzen6. Use Cases7. Kosten8. Getting started 2
  3. 3. Amazon SimpleDB‣ Einfach‣ Skalierbar‣ Günstig‣ Migrationspfad für SQL-Fans„Simplicity is the ultimate sophistication.“(Leonardo da Vinci) 3
  4. 4. SimpleDB im Kontext 4
  5. 5. SQL NoSQL DBs DBs MySQL MongoDB AWS SimpleDBPostgreSQL CouchDB Google BigTable CassandraSQL Server Oracle 5
  6. 6. Relationale Key/Value Object DB DB StoreMySQL AWS SimpleDB CouchDBPostgreSQL Google BigTable MongoDBSQLite AWS DynamoDBSQL Server CassandraOracle Neo4j Graph 6
  7. 7. ‣ Eigene Infrastruktur ‣ Virtualisierte ‣ Keine Infrastruktur Infrastruktur‣ Datenhoheit ‣ Datenhoheit (?) ‣ Datenhoheit SLA!‣ Volle Kontrolle Local/ Cloud Cloud Hosted Hosted DB DB DB‣ Hohe Investitionen ‣ Niedrige Startup-Kosten ‣ Keine Startup-Kosten‣ Hohe Betriebskosten ‣ Höhere Betriebskosten ‣ Rein Nutzungsbasierte Kosten‣ Schlecht skalierbar ‣ Schneller Skalierbar ‣ Automatische Skalierung‣ Wartungsaufwändig ‣ Weniger Wartung ‣ Keine Wartung 7
  8. 8. Was ist Amazon SimpleDB? 8
  9. 9. Relationale SimpleDB Object DB DB Einfache Datentypen Nur Strings Komplexe Datentypen Fixes Schema Schema-frei Schlüssel-Schema JOINs Keine Relationen Keine Relationen Aggregationen Keine Aggregationen Aggregation via Map/Reduce Extrem ausgereift Sehr solide und simpel Grössere Komplexität SQL-Syntax API & SQL-Like-Syntax Nur via APIOO-Entwicklung via ORM Nutzung via HTTP o. SDK Nutzung via SDKUmfangreiches Ökosystem Wenig Tools Wenig Tools 9
  10. 10. Klassisches relationales Datenmodell 10
  11. 11. Konzept‣ Domains • Daten-Container ähnlich einer Tabelle aber ohne fixes Schema‣ Items • Ein Datensatz mit ein- oder mehreren Key/Value-Paaren‣ Attributes • „Spalten“‣ Values • „Zellen“ 11
  12. 12. 12
  13. 13. 13
  14. 14. 14
  15. 15. Features 15
  16. 16. IT-Systemlandschaft Internet-Applikation Firewall Load Balancer Web-Server Web-Server Web-Server App-Server App-Server App-Server DB-Replika DB-Replika DB-Replika DB-Master 16
  17. 17. 17
  18. 18. 18
  19. 19. Firewall Load BalancerWeb-Server Web-Server Web-ServerApp-Server App-Server App-ServerDB-Replika DB-Replika DB-Replika DB-Master 19
  20. 20. SimpleDB Firewall Load BalancerWeb-Server Web-Server Web-ServerApp-Server App-Server App-ServerDB-Replika DB-Replika DB-Replika DB-Master 20
  21. 21. Betrieb‣ Keine eigene Infrastuktur • Keine Hardware, keine Software • Keine Installation‣ Hochverfügbar • Geo-redundante Replikation • Automatisches Failover • Unlimitierte* Ressourcen‣ Administrationsfrei • Keine Konfiguration • Automatische Leistungsoptimierung‣ Sicher • Verschlüsselte Kommunikation via HTTPS • Ausgereiftes Rechtssystem 21
  22. 22. Entwicklung‣ Speichern & Abfragen via HTTPS-Requests • Selbst via HTTPS (REST, SOAP) ansprechen • SDKs für alle gängigen Entwicklungsumgebungen‣ Flexibel • Kein fixes Schema • Konsistente oder Nicht-konsistente Abfragen (schneller)‣ Full Auto-Index • Jedes Attribut wird vollständig indexiert 22
  23. 23. Entwicklung‣ Mehrere „Endpunkte“ verfügbar • Dublin • USA Ost- und 2xWestküste • Tokio • Sao Paulo 23
  24. 24. Performance‣ Ausführungsdauer der Abfrage • Üblicherweise weit unter 20ms‣ Netzwerk-Latenz • „Durchschnittliche“ WLAN-Verbindung: 60-80ms • Kann durch EC2 Server auf bis zu 2ms reduziert werden • Sonst Daten Applikations-seitig cachen, wenn Performance-kritisch ist‣ Mehr Performance durch Parallelisierung‣ Fazit • Mindest-Latenz etwas höher, dafür gleichbleibend auch bei ultimativen Lastspitzen 24
  25. 25. Deep Dive 25
  26. 26. Simple API - 8 Methoden‣ Domains • ListDomains • CreateDomain • DeleteDomain • DomainMetadata‣ Items • GetAttributes • Put / BatchPut • Delete‣ Abfragen • Select 26
  27. 27. SQL-Syntax‣ select output_list from domain where expression order by sort_instruction limit 100‣ sdb.select(„select * from bestellungen“); 27
  28. 28. SQL-Syntax‣ select count(*) from domain‣ select * from domain‣ select itemName() from domain‣ select name,city,article from domain 28
  29. 29. select * from domain‣ where article [=,!=,<,<=,=>,>] `a-1000`‣ where article [not] like `a-%`‣ where article between ´a-1000´ and ´a-9999´‣ where article in (´a-1000´, ´b-2000´)‣ where article is [not] null‣ where every(article) like ´a-%´ 29
  30. 30. Numerische Datentypen‣ Datum/Zeit (z.B. 10.5.2012, 10.00 Uhr) • 2012-05-10T10:00:00.00+01:00‣ Zahlen • 10 => 100010 • 2 => 100002 • -99 => 000099‣ Hilfsfunktionen • encodeRealNumberRange(value, maxDigits, offset); • encodeDate(Date); 30
  31. 31. Grenzen 31
  32. 32. Amazon SimpleDB - Limits‣ Domains • 250 Domains per Default • 10 GB p. Domain • 1 Milliarde Key/Value-Paare p. Domain‣ Items • 256 Key/Value-Paare, sog. „Attributes“‣ Attributes • 1024 Bytes / Key • 1024 Bytes / Value 32
  33. 33. Amazon SimpleDB - Limits‣ Abfragen • 2‘500 Items / Query • 20 Unique Attributes / Query • 1MB / Query • Max. 5sec / Query • Keine Aggregationsfunktionen (MAX, MIN, SUM, AVG usw.)‣ Speichern • Nur Strings / Arrays of Strings • Sonstige Datentypen via Hilfsfunktionen (Numbers, Dates) 33
  34. 34. Use CasesAnwendungsbeispiele 34
  35. 35. Case Study‣ Share-Button>1 Mio. Sites‣ Tracking-Daten 35
  36. 36. Case Study‣ Netflix‣ Oracle abgelöst 36
  37. 37. 37
  38. 38. Case Study‣ Flipboard 38
  39. 39. Case Study‣ TweetDeck‣ User-Accounts + Synced Settings 39
  40. 40. Case Study‣ PIXELTEX‣ Zeiterfassung 40
  41. 41. Geeignete Anwendungsfälle‣ Mobile Apps & Online-Games • Spielstände • Benutzereinstellungen • User-generated Content (Ratings, Comments) • Sessions‣ Metadaten-Index • Geolocations • Tags • Benutzerbewertungen- und Kommentare • Objektinformationen (Bilder, Videos, Dokumente usw.) 41
  42. 42. Geeignete Anwendungsfälle‣ Protokollierung • Audit-Logs • Nutzungsstatistiken (z.B. Suche, Clickstreams, Newsletter-Tracking) • Crash-Reports • Architektur-externer Datenspeicher für Desaster-Fälle • Workflows-Stati • Web-Formulare‣ CMS-Cache • Inhalte vorberechnet cachen • Entlastung + einfache Erweiterung von „schweren“ CMS-Systemen • Auto-Suggests, Instant-Results 42
  43. 43. Kosten 43
  44. 44. Amazon SimpleDB‣ Investitionen u. Betriebskosten • Keine‣ Nutzung • $0,154 / machine hour • Erste 25h / Monat frei‣ Speicher • 1 GB kostenlos • $0,275 pro GB/Monat‣ Datenübertragung • 1 GB kostenlos • $0,12 / GB (bis zu 10 TB, danach günstiger) • Eingehend immer gratis • Amazon EC2-Traffic immer gratis 44
  45. 45. Getting started 45
  46. 46. SDKs‣ Amazon SDKs ‣ Community SDKs • Java • C, C++, C# • PHP • ColdFusion • Ruby (on Rails) • Erlang • .NET • Excel • iOS • Groovy • Android • Java Persistence API (JPA) • JavaScript • Linq • Perl • Python (boto) • Scala • Visual Studio 2008 46
  47. 47. Tools‣ SimpleDBa (Mac) • Free 47
  48. 48. Tools‣ SDB Explorer • Win, Mac, OS X • Linux • $70 48
  49. 49. Tools‣ SDB Tool Firefox Plug-in • Free 49
  50. 50. Tools‣ Migration von MySQL auf SimpleDB • http://learnaws.s3.amazonaws.com/Migrating_MySQL_to_SimpleDB.pdf 50
  51. 51. Getting started‣ AWS Account eröffnen • http://aws.amazon.com‣ SDKs und Tools herunterladen‣ Loslegen :-) 51
  52. 52. Getting started‣ „With SimpleDB you get a rock-solid, globally available database which can be scaled infinitely. But I dont say that it is the best NoSQL-database, but maybe a good start for people coming from the SQL-world and want to jumpstart into NoSQL.“ 52
  53. 53. About us 53
  54. 54. pixeltex.com‣ PIXELTEX • Enterprise Web-Engineering seit 1999 • 14 Mitarbeiter, davon 11 in Entwicklung & Design • Zürich & Berlin‣ Schwerpunkte • ColdFusion, Java, Node.js • JavaScript, HTML5 • AWS Cloud Computing 54
  55. 55. pixeltex.com ‣ Louis Brauer • louis @ pixeltex.com • twitter.com/louisbrauer • Tel 044 515 1099Wäre mit SimpleDB nicht passiert! :) 55

×