SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
Amazon SimpleDB
Chancen einer Cloud-Datenbank




Louis Brauer
ONE-Konferenz, 10. Mai 2012




                                1
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
Amazon SimpleDB
‣   Einfach
‣   Skalierbar
‣   Günstig
‣   Migrationspfad für SQL-Fans


„Simplicity is the ultimate sophistication.“
(Leonardo da Vinci)




                                               3
SimpleDB im Kontext




                      4
SQL                            NoSQL
   DBs                            DBs




  MySQL                         MongoDB
             AWS SimpleDB
PostgreSQL                      CouchDB
             Google BigTable
                                Cassandra

SQL Server
  Oracle




                                            5
Relationale   Key/Value
                                 Object DB
     DB          Store
MySQL          AWS SimpleDB           CouchDB
PostgreSQL     Google BigTable        MongoDB
SQLite
                                 AWS DynamoDB
SQL Server                            Cassandra
Oracle




                   Neo4j

                  Graph

                                                  6
‣   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
Was ist Amazon SimpleDB?




                           8
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 API

OO-Entwicklung via ORM    Nutzung via HTTP o. SDK        Nutzung via SDK

Umfangreiches Ökosystem        Wenig Tools                 Wenig Tools



                                                                                 9
Klassisches relationales Datenmodell




                                       10
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
13
14
Features




           15
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
18
Firewall
             Load Balancer


Web-Server    Web-Server     Web-Server

App-Server    App-Server     App-Server

DB-Replika    DB-Replika     DB-Replika



              DB-Master


                                          19
SimpleDB




                Firewall
             Load Balancer


Web-Server    Web-Server     Web-Server

App-Server    App-Server     App-Server

DB-Replika    DB-Replika     DB-Replika



              DB-Master


                                                     20
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
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
Entwicklung
‣   Mehrere „Endpunkte“ verfügbar
    •   Dublin
    •   USA Ost- und 2xWestküste
    •   Tokio
    •   Sao Paulo




                                    23
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
Deep Dive




            25
Simple API - 8 Methoden
‣   Domains
    •   ListDomains
    •   CreateDomain
    •   DeleteDomain
    •   DomainMetadata

‣   Items
    •   GetAttributes
    •   Put / BatchPut
    •   Delete

‣   Abfragen
    •   Select




                              26
SQL-Syntax
‣   select output_list
    from domain
    where expression
    order by sort_instruction
    limit 100


‣   sdb.select(„select * from bestellungen“);




                                                27
SQL-Syntax
‣   select count(*) from domain
‣   select * from domain
‣   select itemName() from domain
‣   select name,city,article from domain




                                           28
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
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
Grenzen




          31
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
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
Use Cases
Anwendungsbeispiele




                      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-generated Content (Ratings, Comments)
    •   Sessions

‣   Metadaten-Index
    •   Geolocations
    •   Tags
    •   Benutzerbewertungen- und Kommentare
    •   Objektinformationen (Bilder, Videos, Dokumente usw.)




                                                               41
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
Kosten




         43
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
Getting started




                  45
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
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




                                                                           50
Getting started
‣   AWS Account eröffnen
    •   http://aws.amazon.com

‣   SDKs und Tools herunterladen
‣   Loslegen :-)




                                   51
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
About us




           53
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
pixeltex.com
                      ‣   Louis Brauer
                          •   louis @ pixeltex.com
                          •   twitter.com/louisbrauer
                          •   Tel 044 515 1099




Wäre mit SimpleDB
 nicht passiert! :)




                                                        55

Weitere ähnliche Inhalte

Was ist angesagt?

Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro sessionVirttoo org
 
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in RubyPerformanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in Rubyvesparun
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...AWS Germany
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch CachingAOE
 
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatengeKarin Patenge
 
Drupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web ServicesDrupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web ServicesSven Paulus
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling  am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling  am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
 
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrtArbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrtAWS Germany
 
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die CloudSQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die CloudAWS Germany
 
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungBack to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungMongoDB
 
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...AWS Germany
 

Was ist angesagt? (11)

Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in RubyPerformanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch Caching
 
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge
 
Drupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web ServicesDrupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web Services
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling  am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling  am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrtArbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
 
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die CloudSQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
 
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungBack to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
 
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
 

Ähnlich wie SimpleDB - Chancen einer Cloud Datenbank

Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istWhere are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istRamon Anger
 
Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS esentri AG
 
papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010papaya
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDIadesso AG
 
Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Jonathan Weiss
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Jonathan Weiss
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcosRalf Ernst
 
Product Update: Infopark Cloud Express - Thomas Witt
Product Update: Infopark Cloud Express - Thomas WittProduct Update: Infopark Cloud Express - Thomas Witt
Product Update: Infopark Cloud Express - Thomas WittJustRelate
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudOPEN KNOWLEDGE GmbH
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveBokowsky + Laymann GmbH
 
Serverless Application Framework
Serverless Application FrameworkServerless Application Framework
Serverless Application FrameworkBATbern
 
Amazon Lightsail Webinar
Amazon Lightsail WebinarAmazon Lightsail Webinar
Amazon Lightsail WebinarAWS Germany
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 
Meet Magento - High performance magento
Meet Magento - High performance magentoMeet Magento - High performance magento
Meet Magento - High performance magentoAOE
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLFromDual GmbH
 
Einführung in AWS - Übersicht über die wichtigsten Services
Einführung in AWS - Übersicht über die wichtigsten Services Einführung in AWS - Übersicht über die wichtigsten Services
Einführung in AWS - Übersicht über die wichtigsten Services AWS Germany
 

Ähnlich wie SimpleDB - Chancen einer Cloud Datenbank (20)

Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istWhere are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
 
Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS
 
papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Skalieren einer Web Anwendung
Skalieren einer Web Anwendung
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcos
 
Product Update: Infopark Cloud Express - Thomas Witt
Product Update: Infopark Cloud Express - Thomas WittProduct Update: Infopark Cloud Express - Thomas Witt
Product Update: Infopark Cloud Express - Thomas Witt
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 
NoSQL with MySQL
NoSQL with MySQLNoSQL with MySQL
NoSQL with MySQL
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep Dive
 
VDI-in-a-Box
VDI-in-a-BoxVDI-in-a-Box
VDI-in-a-Box
 
Ruby on Rails SS09 02
Ruby on Rails SS09 02Ruby on Rails SS09 02
Ruby on Rails SS09 02
 
Serverless Application Framework
Serverless Application FrameworkServerless Application Framework
Serverless Application Framework
 
Amazon Lightsail Webinar
Amazon Lightsail WebinarAmazon Lightsail Webinar
Amazon Lightsail Webinar
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 
Meet Magento - High performance magento
Meet Magento - High performance magentoMeet Magento - High performance magento
Meet Magento - High performance magento
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQL
 
Einführung in AWS - Übersicht über die wichtigsten Services
Einführung in AWS - Übersicht über die wichtigsten Services Einführung in AWS - Übersicht über die wichtigsten Services
Einführung in AWS - Übersicht über die wichtigsten Services
 

Mehr von ONE Schweiz

Stefan Zanetti__qipp_140508
Stefan Zanetti__qipp_140508Stefan Zanetti__qipp_140508
Stefan Zanetti__qipp_140508ONE Schweiz
 
Sven Ruoss_watson
Sven Ruoss_watsonSven Ruoss_watson
Sven Ruoss_watsonONE Schweiz
 
Sarah Safri, Head of Marketing,Tutti: User mit Expertentipps und Do-it-yourse...
Sarah Safri, Head of Marketing,Tutti: User mit Expertentipps und Do-it-yourse...Sarah Safri, Head of Marketing,Tutti: User mit Expertentipps und Do-it-yourse...
Sarah Safri, Head of Marketing,Tutti: User mit Expertentipps und Do-it-yourse...ONE Schweiz
 
Magazin blog.homegate.ch, Homegate AG
Magazin blog.homegate.ch, Homegate AGMagazin blog.homegate.ch, Homegate AG
Magazin blog.homegate.ch, Homegate AGONE Schweiz
 
20140507 one keynote mc_donald's strachwitz
20140507 one  keynote mc_donald's strachwitz20140507 one  keynote mc_donald's strachwitz
20140507 one keynote mc_donald's strachwitzONE Schweiz
 
Barrierefreie Websites: Die 10 wichtigsten Tipps
Barrierefreie Websites: Die 10 wichtigsten TippsBarrierefreie Websites: Die 10 wichtigsten Tipps
Barrierefreie Websites: Die 10 wichtigsten TippsONE Schweiz
 
Alexander Seifert: Altersgerechtes Internet durch angepasste Webgestaltung
Alexander Seifert: Altersgerechtes Internet durch angepasste WebgestaltungAlexander Seifert: Altersgerechtes Internet durch angepasste Webgestaltung
Alexander Seifert: Altersgerechtes Internet durch angepasste WebgestaltungONE Schweiz
 
Gregor Patorski: Mitarbeiter zu Ko-Autoren im Firmenblog machen
Gregor Patorski: Mitarbeiter zu Ko-Autoren im Firmenblog machenGregor Patorski: Mitarbeiter zu Ko-Autoren im Firmenblog machen
Gregor Patorski: Mitarbeiter zu Ko-Autoren im Firmenblog machenONE Schweiz
 
Jürg Bühler: Cross-Channel vertrieb bei Ex Libris
Jürg Bühler: Cross-Channel vertrieb bei Ex LibrisJürg Bühler: Cross-Channel vertrieb bei Ex Libris
Jürg Bühler: Cross-Channel vertrieb bei Ex LibrisONE Schweiz
 
Heinrich von Grüningen: eBalance-Blog – Abnehmen als Thema
Heinrich von Grüningen: eBalance-Blog – Abnehmen als ThemaHeinrich von Grüningen: eBalance-Blog – Abnehmen als Thema
Heinrich von Grüningen: eBalance-Blog – Abnehmen als ThemaONE Schweiz
 
Ivan Schmid: Moderne Website und Online-Shop Lösungen
Ivan Schmid: Moderne Website und Online-Shop LösungenIvan Schmid: Moderne Website und Online-Shop Lösungen
Ivan Schmid: Moderne Website und Online-Shop LösungenONE Schweiz
 
John Riordan: Mobile Business Alerts von local.ch
John Riordan: Mobile Business Alerts von local.chJohn Riordan: Mobile Business Alerts von local.ch
John Riordan: Mobile Business Alerts von local.chONE Schweiz
 
Vera Brannen: Brand Experience Design ist Chefsache
Vera Brannen: Brand Experience Design ist ChefsacheVera Brannen: Brand Experience Design ist Chefsache
Vera Brannen: Brand Experience Design ist ChefsacheONE Schweiz
 
Thorsten Büring: Kundenerlebniskette als Innovationstreiber
Thorsten Büring: Kundenerlebniskette als InnovationstreiberThorsten Büring: Kundenerlebniskette als Innovationstreiber
Thorsten Büring: Kundenerlebniskette als InnovationstreiberONE Schweiz
 
10 Tipps entlang der Wertschöpfungskette eines E-Sellers
10 Tipps entlang der Wertschöpfungskette eines E-Sellers10 Tipps entlang der Wertschöpfungskette eines E-Sellers
10 Tipps entlang der Wertschöpfungskette eines E-SellersONE Schweiz
 
ONE2013 Experience 04 Michael Ammann, Boxalino
ONE2013 Experience 04 Michael Ammann, BoxalinoONE2013 Experience 04 Michael Ammann, Boxalino
ONE2013 Experience 04 Michael Ammann, BoxalinoONE Schweiz
 
ONE2013 Experience 02 - Thomas Betz, Seitenbau GmbH
ONE2013 Experience 02 - Thomas Betz, Seitenbau GmbHONE2013 Experience 02 - Thomas Betz, Seitenbau GmbH
ONE2013 Experience 02 - Thomas Betz, Seitenbau GmbHONE Schweiz
 
ONE2013 Experience 01 - Yves Meyer, ITB
ONE2013 Experience 01 - Yves Meyer, ITBONE2013 Experience 01 - Yves Meyer, ITB
ONE2013 Experience 01 - Yves Meyer, ITBONE Schweiz
 
10 do’s und dont’s der gestaltung mobiler anwendungen
10 do’s und dont’s der gestaltung mobiler anwendungen10 do’s und dont’s der gestaltung mobiler anwendungen
10 do’s und dont’s der gestaltung mobiler anwendungenONE Schweiz
 
Unic searchmetrics konkurrenzanalyse_2012-05-10
Unic searchmetrics konkurrenzanalyse_2012-05-10Unic searchmetrics konkurrenzanalyse_2012-05-10
Unic searchmetrics konkurrenzanalyse_2012-05-10ONE Schweiz
 

Mehr von ONE Schweiz (20)

Stefan Zanetti__qipp_140508
Stefan Zanetti__qipp_140508Stefan Zanetti__qipp_140508
Stefan Zanetti__qipp_140508
 
Sven Ruoss_watson
Sven Ruoss_watsonSven Ruoss_watson
Sven Ruoss_watson
 
Sarah Safri, Head of Marketing,Tutti: User mit Expertentipps und Do-it-yourse...
Sarah Safri, Head of Marketing,Tutti: User mit Expertentipps und Do-it-yourse...Sarah Safri, Head of Marketing,Tutti: User mit Expertentipps und Do-it-yourse...
Sarah Safri, Head of Marketing,Tutti: User mit Expertentipps und Do-it-yourse...
 
Magazin blog.homegate.ch, Homegate AG
Magazin blog.homegate.ch, Homegate AGMagazin blog.homegate.ch, Homegate AG
Magazin blog.homegate.ch, Homegate AG
 
20140507 one keynote mc_donald's strachwitz
20140507 one  keynote mc_donald's strachwitz20140507 one  keynote mc_donald's strachwitz
20140507 one keynote mc_donald's strachwitz
 
Barrierefreie Websites: Die 10 wichtigsten Tipps
Barrierefreie Websites: Die 10 wichtigsten TippsBarrierefreie Websites: Die 10 wichtigsten Tipps
Barrierefreie Websites: Die 10 wichtigsten Tipps
 
Alexander Seifert: Altersgerechtes Internet durch angepasste Webgestaltung
Alexander Seifert: Altersgerechtes Internet durch angepasste WebgestaltungAlexander Seifert: Altersgerechtes Internet durch angepasste Webgestaltung
Alexander Seifert: Altersgerechtes Internet durch angepasste Webgestaltung
 
Gregor Patorski: Mitarbeiter zu Ko-Autoren im Firmenblog machen
Gregor Patorski: Mitarbeiter zu Ko-Autoren im Firmenblog machenGregor Patorski: Mitarbeiter zu Ko-Autoren im Firmenblog machen
Gregor Patorski: Mitarbeiter zu Ko-Autoren im Firmenblog machen
 
Jürg Bühler: Cross-Channel vertrieb bei Ex Libris
Jürg Bühler: Cross-Channel vertrieb bei Ex LibrisJürg Bühler: Cross-Channel vertrieb bei Ex Libris
Jürg Bühler: Cross-Channel vertrieb bei Ex Libris
 
Heinrich von Grüningen: eBalance-Blog – Abnehmen als Thema
Heinrich von Grüningen: eBalance-Blog – Abnehmen als ThemaHeinrich von Grüningen: eBalance-Blog – Abnehmen als Thema
Heinrich von Grüningen: eBalance-Blog – Abnehmen als Thema
 
Ivan Schmid: Moderne Website und Online-Shop Lösungen
Ivan Schmid: Moderne Website und Online-Shop LösungenIvan Schmid: Moderne Website und Online-Shop Lösungen
Ivan Schmid: Moderne Website und Online-Shop Lösungen
 
John Riordan: Mobile Business Alerts von local.ch
John Riordan: Mobile Business Alerts von local.chJohn Riordan: Mobile Business Alerts von local.ch
John Riordan: Mobile Business Alerts von local.ch
 
Vera Brannen: Brand Experience Design ist Chefsache
Vera Brannen: Brand Experience Design ist ChefsacheVera Brannen: Brand Experience Design ist Chefsache
Vera Brannen: Brand Experience Design ist Chefsache
 
Thorsten Büring: Kundenerlebniskette als Innovationstreiber
Thorsten Büring: Kundenerlebniskette als InnovationstreiberThorsten Büring: Kundenerlebniskette als Innovationstreiber
Thorsten Büring: Kundenerlebniskette als Innovationstreiber
 
10 Tipps entlang der Wertschöpfungskette eines E-Sellers
10 Tipps entlang der Wertschöpfungskette eines E-Sellers10 Tipps entlang der Wertschöpfungskette eines E-Sellers
10 Tipps entlang der Wertschöpfungskette eines E-Sellers
 
ONE2013 Experience 04 Michael Ammann, Boxalino
ONE2013 Experience 04 Michael Ammann, BoxalinoONE2013 Experience 04 Michael Ammann, Boxalino
ONE2013 Experience 04 Michael Ammann, Boxalino
 
ONE2013 Experience 02 - Thomas Betz, Seitenbau GmbH
ONE2013 Experience 02 - Thomas Betz, Seitenbau GmbHONE2013 Experience 02 - Thomas Betz, Seitenbau GmbH
ONE2013 Experience 02 - Thomas Betz, Seitenbau GmbH
 
ONE2013 Experience 01 - Yves Meyer, ITB
ONE2013 Experience 01 - Yves Meyer, ITBONE2013 Experience 01 - Yves Meyer, ITB
ONE2013 Experience 01 - Yves Meyer, ITB
 
10 do’s und dont’s der gestaltung mobiler anwendungen
10 do’s und dont’s der gestaltung mobiler anwendungen10 do’s und dont’s der gestaltung mobiler anwendungen
10 do’s und dont’s der gestaltung mobiler anwendungen
 
Unic searchmetrics konkurrenzanalyse_2012-05-10
Unic searchmetrics konkurrenzanalyse_2012-05-10Unic searchmetrics konkurrenzanalyse_2012-05-10
Unic searchmetrics konkurrenzanalyse_2012-05-10
 

SimpleDB - Chancen einer Cloud Datenbank

  • 1. Amazon SimpleDB Chancen einer Cloud-Datenbank Louis Brauer ONE-Konferenz, 10. Mai 2012 1
  • 2. 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
  • 3. Amazon SimpleDB ‣ Einfach ‣ Skalierbar ‣ Günstig ‣ Migrationspfad für SQL-Fans „Simplicity is the ultimate sophistication.“ (Leonardo da Vinci) 3
  • 5. SQL NoSQL DBs DBs MySQL MongoDB AWS SimpleDB PostgreSQL CouchDB Google BigTable Cassandra SQL Server Oracle 5
  • 6. Relationale Key/Value Object DB DB Store MySQL AWS SimpleDB CouchDB PostgreSQL Google BigTable MongoDB SQLite AWS DynamoDB SQL Server Cassandra Oracle Neo4j Graph 6
  • 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. Was ist Amazon SimpleDB? 8
  • 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 API OO-Entwicklung via ORM Nutzung via HTTP o. SDK Nutzung via SDK Umfangreiches Ökosystem Wenig Tools Wenig Tools 9
  • 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
  • 13. 13
  • 14. 14
  • 15. Features 15
  • 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
  • 18. 18
  • 19. Firewall Load Balancer Web-Server Web-Server Web-Server App-Server App-Server App-Server DB-Replika DB-Replika DB-Replika DB-Master 19
  • 20. SimpleDB Firewall Load Balancer Web-Server Web-Server Web-Server App-Server App-Server App-Server DB-Replika DB-Replika DB-Replika DB-Master 20
  • 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. 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. Entwicklung ‣ Mehrere „Endpunkte“ verfügbar • Dublin • USA Ost- und 2xWestküste • Tokio • Sao Paulo 23
  • 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. Deep Dive 25
  • 26. Simple API - 8 Methoden ‣ Domains • ListDomains • CreateDomain • DeleteDomain • DomainMetadata ‣ Items • GetAttributes • Put / BatchPut • Delete ‣ Abfragen • Select 26
  • 27. SQL-Syntax ‣ select output_list from domain where expression order by sort_instruction limit 100 ‣ sdb.select(„select * from bestellungen“); 27
  • 28. SQL-Syntax ‣ select count(*) from domain ‣ select * from domain ‣ select itemName() from domain ‣ select name,city,article from domain 28
  • 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. 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. Grenzen 31
  • 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. 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
  • 35. Case Study ‣ Share-Button>1 Mio. Sites ‣ Tracking-Daten 35
  • 36. Case Study ‣ Netflix ‣ Oracle abgelöst 36
  • 37. 37
  • 38. Case Study ‣ Flipboard 38
  • 39. Case Study ‣ TweetDeck ‣ User-Accounts + Synced Settings 39
  • 40. Case Study ‣ PIXELTEX ‣ Zeiterfassung 40
  • 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. 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. Kosten 43
  • 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
  • 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. Tools ‣ SimpleDBa (Mac) • Free 47
  • 48. Tools ‣ SDB Explorer • Win, Mac, OS X • Linux • $70 48
  • 49. Tools ‣ SDB Tool Firefox Plug-in • Free 49
  • 50. Tools ‣ Migration von MySQL auf SimpleDB • http://learnaws.s3.amazonaws.com/Migrating_MySQL_to_SimpleDB.pdf 50
  • 51. Getting started ‣ AWS Account eröffnen • http://aws.amazon.com ‣ SDKs und Tools herunterladen ‣ Loslegen :-) 51
  • 52. 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
  • 53. About us 53
  • 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. pixeltex.com ‣ Louis Brauer • louis @ pixeltex.com • twitter.com/louisbrauer • Tel 044 515 1099 Wäre mit SimpleDB nicht passiert! :) 55