Download - SimpleDB - Chancen einer Cloud Datenbank
![Page 1: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/1.jpg)
Amazon SimpleDBC h a n c e n e i n e r C l o u d - D a t e n b a n k
L o u i s B r a u e rONE-Konferenz, 10. Mai 2012
1
![Page 2: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/2.jpg)
Agenda
1. Datenbank-Umfeld
2. Was ist Amazon SimpleDB?
3. Features
4. Deep Dive
5. Einschränkungen und Grenzen
6. Use Cases
7. Kosten
8. Getting started
2
![Page 3: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/3.jpg)
Amazon SimpleDB‣ Einfach
‣ Skalierbar
‣ Günstig
‣ Migrationspfad für SQL-Fans
„Simplicity is the ultimate sophistication.“ (Leonardo da Vinci)
3
![Page 4: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/4.jpg)
SimpleDB im Kontext
4
![Page 5: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/5.jpg)
MySQLPostgreSQL
SQLDBs
NoSQLDBs
SQL ServerOracle
MongoDBCouchDB
CassandraAWS SimpleDB
Google BigTable
5
![Page 6: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/6.jpg)
MySQLPostgreSQLSQLite
SQL ServerOracle
CouchDBMongoDB
AWS DynamoDBCassandra
AWS SimpleDBGoogle BigTable
Graph
Neo4j
Relationale DB Object DBKey/Value
Store
6
![Page 7: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/7.jpg)
Local/Hosted
DB
CloudHosted
DBCloud
DB
‣ Eigene Infrastruktur
‣ Datenhoheit
‣ Volle Kontrolle
‣ Hohe Investitionen
‣ Hohe Betriebskosten
‣ Schlecht skalierbar
‣ Wartungsaufwändig
‣ VirtualisierteInfrastruktur
‣ Datenhoheit
‣ Niedrige Startup-Kosten
‣ Höhere Betriebskosten
‣ Schneller Skalierbar
‣ Weniger Wartung
‣ Keine Infrastruktur
‣ Datenhoheit (?)SLA!
‣ Keine Startup-Kosten
‣ Rein Nutzungsbasierte Kosten
‣ Automatische Skalierung
‣ Keine Wartung7
![Page 8: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/8.jpg)
Was ist Amazon SimpleDB?
8
![Page 9: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/9.jpg)
Relationale DB Object DBSimpleDB
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 API
OO-Entwicklung via ORM Nutzung via HTTP o. SDK Nutzung via SDK
Umfangreiches Ökosystem Wenig Tools Wenig Tools
9
![Page 10: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/10.jpg)
Klassisches relationales Datenmodell
10
![Page 11: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/11.jpg)
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
![Page 12: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/12.jpg)
12
![Page 13: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/13.jpg)
13
![Page 14: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/14.jpg)
14
![Page 15: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/15.jpg)
Features
15
![Page 16: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/16.jpg)
IT-Systemlandschaft Internet-Applikation
FirewallLoad Balancer
DB-Master
DB-Replika DB-Replika DB-Replika
App-Server App-Server App-Server
Web-Server Web-Server Web-Server
16
![Page 17: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/17.jpg)
17
![Page 18: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/18.jpg)
18
![Page 19: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/19.jpg)
FirewallLoad Balancer
DB-Master
DB-Replika DB-Replika DB-Replika
App-Server App-Server App-Server
Web-Server Web-Server Web-Server
19
![Page 20: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/20.jpg)
FirewallLoad Balancer
DB-Master
DB-Replika DB-Replika DB-Replika
App-Server App-Server App-Server
Web-Server Web-Server Web-Server
SimpleDB
20
![Page 21: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/21.jpg)
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
![Page 22: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/22.jpg)
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
![Page 23: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/23.jpg)
Entwicklung
‣ Mehrere „Endpunkte“ verfügbar• Dublin• USA Ost- und 2xWestküste• Tokio• Sao Paulo
23
![Page 24: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/24.jpg)
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
![Page 25: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/25.jpg)
Deep Dive
25
![Page 26: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/26.jpg)
Simple API - 8 Methoden
‣ Domains• ListDomains• CreateDomain• DeleteDomain• DomainMetadata
‣ Items• GetAttributes• Put / BatchPut• Delete
‣ Abfragen• Select
26
![Page 27: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/27.jpg)
SQL-Syntax
‣ select output_listfrom domainwhere expressionorder by sort_instructionlimit 100
‣ sdb.select(„select * from bestellungen“);
27
![Page 28: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/28.jpg)
SQL-Syntax
‣ select count(*) from domain‣ select * from domain‣ select itemName() from domain‣ select name,city,article from domain
28
![Page 29: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/29.jpg)
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
![Page 30: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/30.jpg)
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
![Page 31: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/31.jpg)
Grenzen
31
![Page 32: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/32.jpg)
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
![Page 33: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/33.jpg)
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
![Page 34: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/34.jpg)
Use CasesA n w e n d u n g s b e i s p i e l e
34
![Page 35: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/35.jpg)
Case Study
‣ Share-Button>1 Mio. Sites
‣ Tracking-Daten
35
![Page 36: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/36.jpg)
Case Study
‣ Netflix
‣ Oracle abgelöst
36
![Page 37: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/37.jpg)
37
![Page 38: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/38.jpg)
Case Study
38
![Page 39: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/39.jpg)
Case Study
‣ TweetDeck
‣ User-Accounts +Synced Settings
39
![Page 40: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/40.jpg)
Case Study
‣ PIXELTEX
‣ Zeiterfassung
40
![Page 41: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/41.jpg)
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
![Page 42: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/42.jpg)
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
![Page 43: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/43.jpg)
Kosten
43
![Page 44: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/44.jpg)
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
![Page 45: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/45.jpg)
Getting started
45
![Page 46: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/46.jpg)
SDKs
‣ Amazon SDKs• Java• PHP• Ruby (on Rails)• .NET• iOS• Android
‣ Community SDKs• C, C++, C#• ColdFusion• Erlang• Excel• Groovy• Java Persistence API (JPA)• JavaScript• Linq• Perl• Python (boto)• Scala• Visual Studio 2008
46
![Page 47: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/47.jpg)
Tools
‣ SimpleDBa (Mac)• Free
47
![Page 48: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/48.jpg)
Tools
‣ SDB Explorer• Win, Mac, OS X• Linux• $70
48
![Page 49: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/49.jpg)
Tools
‣ SDB ToolFirefox Plug-in• Free
49
![Page 50: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/50.jpg)
Tools
‣ Migration von MySQL auf SimpleDB• http://learnaws.s3.amazonaws.com/Migrating_MySQL_to_SimpleDB.pdf
50
![Page 51: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/51.jpg)
Getting started
‣ AWS Account eröffnen• http://aws.amazon.com
‣ SDKs und Tools herunterladen
‣ Loslegen :-)
51
![Page 52: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/52.jpg)
Getting started‣ „With SimpleDB you get a rock-solid, globally available database
which can be scaled infinitely. But I don't 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
![Page 53: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/53.jpg)
About us
53
![Page 54: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/54.jpg)
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
![Page 55: SimpleDB - Chancen einer Cloud Datenbank](https://reader033.vdocuments.site/reader033/viewer/2022051515/555e8d15d8b42a0d738b492c/html5/thumbnails/55.jpg)
‣ Louis Brauer• louis @ pixeltex.com• twitter.com/louisbrauer• Tel 044 515 1099
pixeltex.com
Wäre mit SimpleDB nicht passiert! :)
55