Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Datenbanken - Eine Übersicht (WPMeetUP München)

416 Aufrufe

Veröffentlicht am

Datenbanken - Eine kurze Einführung
- Objektrelationales Datenbankmodell
- Nicht-Relationales Datenbankmodell
- NoSQL
- Relationales Datenbankmodell
MySQL und Varianten
Ein paar Worte zur Performance
WordPress und Datenbanken

Veröffentlicht in: Präsentationen & Vorträge
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Datenbanken - Eine Übersicht (WPMeetUP München)

  1. 1. Datenbanken Eine Auswahl WP Meetup München – 17.10.2017
  2. 2. Datenbanken – Eine Übersicht  Übersicht von Datenbankmanagementsystemen im Hosting-Umfeld  Fokus auf MySQL und MySQL-nahen Datenbanktypen sowie Blick auf NoSQL  Auf/mit welchen Systemen läuft WordPress
  3. 3. Speaker – Dietmar Leher  Xing: http://www.xing.com/profile/Dietmar_Leher  LinkedIN: https://www.linkedin.com/in/dietmarleher/  Facebook: https://www.facebook.com/dietmarleher  Twitter: https://twitter.com/spacehostDE  Webseite: https://spacehost.de  Blog: https://spacehost.de/blog
  4. 4. Datenbanken - Inhalt  Datenbanken - Eine kurze Einführung  Objektrelationales Datenbankmodell  Nicht-Relationales Datenbankmodell  NoSQL  Relationales Datenbankmodell  MySQL und Varianten  Ein paar Worte zur Performance  WordPress und Datenbanken
  5. 5. Datenbanken - Eine kurze Einführung  Eine Datenbank speichert große Datenmengen  Aufgaben bei der Speicherung:  Effizient (z.B. platzsparend)  Widerspruchsfrei  Dauerhaft  In passender Darstellung für Benutzer und Anwendungen (Format)
  6. 6. Datenbanken - Eine kurze Einführung Besteht aus zwei Teilen: DB + DBMS 1) Verwaltungssoftware = Datenbankmanagementsystem (DBMS) 2) Menge der zu verwaltenden Daten (Datensätze) = Datenbank (DB) Bildquelle: http://www.datenbanken-verstehen.de/wordpress/dbv/uploads/datenbank.jpg
  7. 7. 1) Datenbankmanagementsystem  Interne Organisation der Speicherung der Daten  Kontrolle aller lesenden und schreibenden Zugriffe (Benutzer und Zugriffsverwaltung)  Datenbanksprache zur Abfrage und Verwaltung der Daten  nutzt ein Datenbankmodell das bestimmt, auf welche Art und Weise Daten in einem Datenbanksystem gespeichert und bearbeitet werden können:  Hierarchisches Datenbankmodell  Netzwerkdatenbankmodell  Objektrelationales Datenbankmodell  Objektorientiertes Datenbankmodell  Nicht-Relationales Datenbankmodell, NoSQL  Relationales Datenbankmodell
  8. 8. Eine Auswahl  Liste bei Wikipedia: https://de.wikipedia.org/wiki/Liste_der_Datenbankmanagementsysteme  Ranking: https://db-engines.com/de/ranking/relational+dbms
  9. 9. Objektrelationales Datenbankmodell z.B. PostgreSQL
  10. 10. PostgreSQL  PostgreSQL, kurz Postgres  Seit 1997 Open-Source  Aktueller Versionszweig: 10.x  Galt lange Jahre als „das fortschrittlichste Open-Source-Datenbanksystem“  Einsatz bei großen Datensätzen:  unbegrenzte Größe der Datenbank  einzelne Tabelle bis 32 TB  Einzelner Datensatz bis 1,6 TB Bildquelle: https://www.postgresql.org
  11. 11. Nicht-Relationales Datenbankmodell = "not only SQL" (kurz: NoSQL) ~ Dokumentenorientiertes Datenbankmodell
  12. 12. NoSQL-Datenbanken  MongoDB  von "huMONGOus", sprich "extrem groß"  2009, Open-Source seit 2012  aktueller Versionszweig: 3.4.x  In C++ geschrieben, kann mit allen JSON-ähnlichen Dokumenten arbeiten  am weitesten verbreitete NoSQL-Datenbank; „Allzweck-Datenbank“  Direkte MongoDB-Alternativen  ArangoDB (2011 AvocadoDB)  Percona Server for MongoDB (seit v3.0 - 2015) Bildquelle: https://webassets.mongodb.com
  13. 13. NoSQL-Datenbanken  CouchDB  Erlang (Ericsson) & Javascript - Apache Foundation  2005  Zuverlässigkeit  Cassandra  Java - Apache Foundation  Bei Facebook entwickelt und 2008 veröffentlicht  Beteiligungen von IBM, Rackspace und Twitter in den Jahren danach  Ausfallsicherheit
  14. 14. NoSQL-Datenbanken  Riak  2009 – Basho Technologies  Setzt auf den Veröffentlichungen von DynamoDB auf  Key-Value-Store  Amazon DynamoDB  Von AWS entwickelt (ca. 2007)  Auch lokal einsetzbar  Hochgradig skalierbar durch Einsatz im AWS  Key-Value-Store oder dokumentenorientiert
  15. 15. NoSQL-Datenbanken  Begriffserklärung: Key-Value-Store Key-Value Stores können lediglich Paare von Schlüsseln und Werten abspeichern, sowie die Werte anhand des Schlüssels wieder zurückliefern. Ressourcenschonend, dafür meist weniger komplex.  Begriffserklärung: Dokumentenorientiert Daten werden in Dokumenten anstelle von Tabellen gespeichert. Ein Dokument ist in diesem Zusammenhang eine strukturierte Zusammenstellung bestimmter Daten also keine „Datei“. Durch die kaum vorhandenen Einschränkung beim Aufbau der Dokumente ergeben sich umfassende Gestaltungsfreiheiten.
  16. 16. NoSQL-Datenbanken  Redis  Einfacher Key-Value-Store  2009 - Salvatore Sanfilippo & Redis Labs & Sponsors  In-Memory-Datenbank  SQLite  zählt streng genommen nicht zu den NoSQL-Datenbanken  Reine "In-Memory-Datenbank". Keine Installation oder Konfiguration. SQLite lädt alle Daten aus einer Datendatei in den Speicher (Daten weg bei Crash, wenn nicht gespeichert).
  17. 17. Am Rande: Elasticsearch und Solr Elasticsearch  Keine Datenbank!  Suchmaschine auf Basis von Lucene*  In Java geschrieben  speichert Suchergebnisse in JSON, Ausgabe erfolgt über ein RESTful- Webinterface Solr  Keine Datenbank!  Ein in Lucene* enthaltenes Servlet  älter als EL und "näher" / direkter an Lucene  kommuniziert mittels HTTP und kann verschiedene Dateiformate wie z.B. XML, JSON oder PDF.  Bezeichnung stand für „Search on Lucene and Resin“ * Apache Lucene ist eine in Java geschriebene Volltextsuchmaschine
  18. 18. Relationales Datenbankmodell MS SQL, DB2, MySQL uvm.
  19. 19. Relationale Datenbanken Kostenpflichtig, Enterprise-Umfeld:  MS SQL (Microsoft)  Oracle Database (Oracle)  DB2 (IBM)  Informix (seit 2001 IBM)
  20. 20. Relationale Datenbanken  MySQL  Seit 1994  gekauft 2010 von Oracle  MySQL Community Edition (frei verfügbar)  Editionen mit erweiterten Funktionen, Verwaltungswerkzeugen, technischen Supportleistungen etc.  MySQL Standard Edition  MySQL Enterprise Edition  MySQL Cluster CGE Bildquelle: https://www.mysql.com
  21. 21. Versionsübersicht  MySQL 5.6  Premier Support End, Februar 2018  Extended Support bis Februar 2021  MySQL 5.7  Aktuelle Stable-Version  Viele Verbesserungen bei der Inno-DB Engine > bessere Performance  Verbesserte Replikation und Logging  Native JSON Unterstützung  MySQL 8  In Entwicklung  Standardzeichensatz UTF8 statt Latin1 Bildquelle: https://www.mysql.com
  22. 22. MySQL - Percona MySQL Community Edition  offizielles MySQL (Oracle)  aktuelle Version 5.7.x Percona Server for MySQL  2006 - Percona LLC  aktuelle Version 5.7.x  legt Wert auf Performance und Skalierbarkeit  Einsatz z.B. in Debian 9 Featurevergleich: https://www.percona.com/software/mysql-database/percona-server/feature-comparison
  23. 23. MySQL - MariaDB MySQL Community Edition  offizielles MySQL (Oracle)  aktuelle Version 5.7.x MariaDB  2009 - MariaDB Foundation  aktuelle Version 10.2  Standard-Datenbank in vielen Linux-Distributionen, z.B. in Ubuntu seit 14.04,Fedora ab Version 19, seit RHEL 7  Entfernt sich schrittweise von MySQL Featurevergleich: https://mariadb.com/kb/en/library/mariadb-vs-mysql-features/
  24. 24. Exkurs: Google Cloud SQL for MySQL  Google Cloud SQL for MySQL - https://cloud.google.com/sql/  Nur in Google Cloud SQL nutzbar  Skalierbarkeit, z.B. Server mit bis zu 32 Prozessorkernen und 200 GB RAM
  25. 25. Exkurs: Amazon Aurora  Amazon Aurora - https://aws.amazon.com/de/rds/aurora/details/  Nur mit Amazon AWS verwendbar  Bei Verwendung der InnoDB-Speicher-Engine voll kompatibel mit MySQL 5.6  Bis zu 5 mal performanter als Standard-MySQL (eigene Angabe)
  26. 26. Exkurs: Amazon Aurora Wordpress-Performance  2-3 mal performanter bei WordPress nach Tests von 2015  Setup komplett über AWS realisiert  https://pagely.com/blog/2015/08/we-benchmarked-amazons-new-aurora-database- for-use-with-wordpress-results-within/  Alternative Tests mit Aurora gegen ein Percona-MySQL-Setup mit Galera-Cluster  Hier verliert Aurora deutlich bei den Themen Performance und Ausfallsicherheit  http://www.tusacentral.net/joomla/index.php/mysql-blogs/175-aws-aurora- benchmarking-blast-or-splash.html (2015)  https://www.percona.com/blog/2016/05/26/aws-aurora-benchmarking-part-2/ (2016)
  27. 27. Ein paar Worte zur Performance
  28. 28. Ein paar Worte zur Performance NoSQL + viele Schreib-/Leseanfragen - schwache Garantien hinsichtlich Konsistenz > unsichere Transaktionen -/+ verteilte Datenbanken mit redundanter Datenhaltung auf vielen Servern, meist durch eine verteilte Hashtabelle (Prüfsumme) + einfache Skalierung > Ausfälle einzelner Server Relationale Datenbanken + effizient bei häufigen, aber kleinen Transaktionen + große Batch-Transaktionen mit seltenen Schreibzugriffen - wenn beides zusammentrifft: hohen Datenanforderungen und häufigen Datenänderungen - bei datenintensiven Applikationen wie Indexierung großer Dokumentmengen, Webseiten mit hohen Lastaufkommen, Streaming- Media-Applikationen
  29. 29. Ein paar Worte zur Performance  NoSQL vs. MySQL - Technische Unterschiede: https://www.percona.com/resources/technical-presentations/mysql-vs-mongodb- percona-university-budapest  NoSQL vs. MySQL – Wann welche Version verwenden: https://www.percona.com/resources/technical-presentations/mysql-vs-mongodb- choosing-right-technology-your-application-scale
  30. 30. Ein paar Worte zur Performance Es kommt darauf an…  Percona oder MariaDB vor „Standard-MySQL“  Cluster / mehrere Server bei Ausfallsicherheit und hoher Performance  Amazon Aurora und Cloud-Anbieter am besten im jeweiligen Umfeld verwenden (AWS, Google-Cloud etc.)  NoSQL bei „BigData“: häufige Zugriffe auf große Datensätze  NoSQL bei reiner Ausgabe (Lesen, ohne JOINS bei Tabellen)
  31. 31. WordPress und Datenbanken Mit welchem Datenbankmanagementsystem funktioniert WordPress?
  32. 32. WordPress und Datenbanken F: Mit welchem Datenbankmanagementsystem funktioniert WordPress? A: MySQL Offiziell - und auch praktisch - nur mit diesem relationalem DBMS. Dies ist nicht nur dem DB-Aufbau selbst, sondern auch vielen Plugins geschuldet.
  33. 33. WordPress und MySQL  Damit sind aber alle „Ableger“ und Forks von MySQL nutzbar:  Percona Server for MySQL  MariaDB  Amazon Aurora  Google Cloud SQL  …  Aber: MariaDB läuft vom „offiziellen“ MySQL zunehmend auseinander und hat immer mehr Inkompatibilitäten https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/
  34. 34. WordPress und Postgres und NoSQL  PostgreSQL (Objektrelationales Datenbankmodell) war nur inoffiziell unterstützt und ist nicht empfohlen https://codex.wordpress.org/Using_Alternative_Databases  Über Umwege sind auch NoSQL-Datenbanken nutzbar. Allerdings nur als Export der Daten z.B. in eine MongoDB mittels REST-API: https://zapier.com/zapbook/mongodb/wordpress/ https://gabrieleromanato.name/how-to-export-data-from-wordpress-to-mongodb
  35. 35. Vielen Dank Fragen?

×