MySQL Performance Tuning für Oracle-DBA'sFromDual GmbH
MySQL Performance Tuning
* Was ist Performance?
* Was kostet Performance?
* Tuning Massnahmen
* MySQL Konfiguration
* Wo schauen?
* Langsame Abfragen finden
* Optimiere das Query!
* Monitoring
Der Datenbank-Backup ist gemacht - was nun?FromDual GmbH
* Datenbank-Backup – welcher Zweck?
* Tauglichkeit des Backup, Verifikation
* Echtdaten vollständig nutzen
* Dem Datenschutz genügen
* Material für die Entwicklung
* Automatisierung
Lernen Sie das Zusammenspiel von MongoDB und dem Zend Framework 2 anhand eines praktischen Beispiels kennen! Diese Session zeigt, wie Sie mit MongoDB eine der beliebtesten dokumentenorientierten Open-Source-Datenbanken in Ihren ZF2-Projekten unkompliziert einsetzen und welche Fallstricke Sie vermeiden können.
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationFromDual GmbH
Weltweite Produktionsdatenverwaltung mit MySQL
* Ausgangslage
* Probleme die sich stellen
* Wer darf welche Daten kriegen?
* Wie werden Daten verteilt?
* Produktionsdaten zurück?
* MySQL multi-Source Replikation
* Bertriebsverantwortung
* Hochverfügbarkeit
* Sensitive Daten
* Wer darf welche Daten sehen?
* MySQL Row Filterung
* Nachträgliche Forderungen
MySQL has undergone significant changes over the past decade, with its acquisition by Oracle posing uncertainties for its future. It began as an open-source database started by developers at MySQL AB. After being acquired by Sun Microsystems and then Oracle, forks like MariaDB and Drizzle have emerged. Looking ahead, Oracle faces challenges in advancing MySQL while competing forks and alternative databases like PostgreSQL gain adoption. The fragmentation of the MySQL ecosystem remains an ongoing issue.
MySQL Performance Tuning für Oracle-DBA'sFromDual GmbH
MySQL Performance Tuning
* Was ist Performance?
* Was kostet Performance?
* Tuning Massnahmen
* MySQL Konfiguration
* Wo schauen?
* Langsame Abfragen finden
* Optimiere das Query!
* Monitoring
Der Datenbank-Backup ist gemacht - was nun?FromDual GmbH
* Datenbank-Backup – welcher Zweck?
* Tauglichkeit des Backup, Verifikation
* Echtdaten vollständig nutzen
* Dem Datenschutz genügen
* Material für die Entwicklung
* Automatisierung
Lernen Sie das Zusammenspiel von MongoDB und dem Zend Framework 2 anhand eines praktischen Beispiels kennen! Diese Session zeigt, wie Sie mit MongoDB eine der beliebtesten dokumentenorientierten Open-Source-Datenbanken in Ihren ZF2-Projekten unkompliziert einsetzen und welche Fallstricke Sie vermeiden können.
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationFromDual GmbH
Weltweite Produktionsdatenverwaltung mit MySQL
* Ausgangslage
* Probleme die sich stellen
* Wer darf welche Daten kriegen?
* Wie werden Daten verteilt?
* Produktionsdaten zurück?
* MySQL multi-Source Replikation
* Bertriebsverantwortung
* Hochverfügbarkeit
* Sensitive Daten
* Wer darf welche Daten sehen?
* MySQL Row Filterung
* Nachträgliche Forderungen
MySQL has undergone significant changes over the past decade, with its acquisition by Oracle posing uncertainties for its future. It began as an open-source database started by developers at MySQL AB. After being acquired by Sun Microsystems and then Oracle, forks like MariaDB and Drizzle have emerged. Looking ahead, Oracle faces challenges in advancing MySQL while competing forks and alternative databases like PostgreSQL gain adoption. The fragmentation of the MySQL ecosystem remains an ongoing issue.
The document discusses several technologies for using MySQL as a NoSQL database system by bypassing SQL overhead: HandlerSocket allows direct access to indexes; the NDB API provides a NoSQL interface to MySQL Cluster; the BLOB Streaming Engine improves BLOB handling; the Handler Interface skips parsing and optimization; and the OQGRAPH storage engine enables graph queries and computations. Benchmarks show these techniques providing significant performance gains over standard SQL.
This document summarizes some of the new features in MySQL 5.6. Key features include improvements to partitioning, InnoDB, the optimizer, performance schema, and replication. Partitioning now supports explicit selection and exchanging partitions with tables. InnoDB sees performance enhancements through changes like a new page cleaner thread and ability to set multiple purge threads. The optimizer adds capabilities like handling ordering on non-indexed columns and multi-range reads. The performance schema provides more fine-grained instrumentation. Replication is strengthened with features such as globally unique server IDs and row image control. Over 400 bugs were also fixed in MySQL 5.6.
MySQL configuration - The most important VariablesFromDual GmbH
This document discusses MySQL configuration parameters. It introduces the "Big 9" most important parameters to tune, which include the InnoDB buffer pool size and configuration, the MyISAM key buffer size, and the MySQL query cache size. It provides examples of status variables and metrics to monitor for these components, such as hit ratios and memory utilization. The goal is to help identify performance optimization opportunities through adjusting key configuration settings and analyzing monitoring data.
In Dieser Präsentation zeige ich Euch wie Ihr mit ein paar Konfigurationseinstellungen noch etwas aus Eurem MySQL-Server herausholen könnt. Dabei gehe ich speziell auf das filesorting ein.
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
Ein Key-Value Store mit nativer Unterstützung für JSON, der auch Graphen und SQL “kann”. Der Foliensatz enthält detaillierte Informationen zur Nutzung der Oracle NoSQL DB aus Sicht der Anwendungsentwicklung als auch aus Sicht der Administration / des Betriebs.
Auch nach mehr als 20 Jahren ist Jakarta EE (ehemals Java EE) DER Standard, wenn es um die Entwicklung Java-basierter Enterprise-Computing-Lösungen geht. Das gilt zumindest immer dann, wenn die Anwendung als Monolith in einem Application-Server deployt werden soll. Wie aber steht es mit einer Anwendung, die aus einer Vielzahl autark laufender Microservices besteht? Und wie gut schlägt sich Jakarta EE in der Cloud, in der geringer Speicherbedarf und schnelle Startzeiten gefragt sind? Die Session zeigt, wie es Jakarta EE geschafft hat, mit der Zeit zu gehen und so mit Hilfe von Nebenprojekten wie Eclipse MicroProfile den Anforderungen moderner Cloud-Native-Anwendungen gerecht zu werden. Ein Ausblick das Zusammenspiel mit GraalVM und Quarkus zeigt, das Jakarta EE dabei auch in extrem verteilten Cloud-Szenarien, aka Serverless, eine gute Figur macht.
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfNETWAYS
Skalierbarkeit und Hochverfügbarkeit sind zwei Themen, bei denen Wunschvorstellung und Realität oft weit auseinanderdriften. Nagios und Icinga mitsamt einer ganzen Phalanx an Erweiterungen werden in diesem Vortrag unter die Lupe genommen. Dabei sollen mit Fokus auf genannte Themen deren Möglichkeiten, aber auch deren Grenzen aufgezeigt werden. Vorgestellt werden Szenarien mit und ohne Cluster-Software so wie auch Stolpersteine beim Einsatz selbiger. Unter die Lupe genommen werden Verursacher von Engpässen, System- und I/O-Last. Gezeigt wird dabei, welche Auswirkungen diese in großen Szenarien haben - und wie sich deren Einfluss verringern lässt.
Der Vortrag will nicht zuletzt auch einen Blick über den Tellerrand hinaus wagen, ein Denkanstoß für die weitere Entwicklung sein und auch der Frage nach der Realisierbarkeit von Umgebungen mit Millionen von Servicechecks nachgehen.
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungMongoDB
Im letzten Webinar unserer Back to Basics Reihe zeigte Ihnen Benjamin Lorenz, Senior Solutions Architect bei MongoDB, wie Sie dafür sorgen, dass Ihr MongoDB-System in einer Produktionsumgebung korrekt arbeitet.
Webinar vom 18.12.2013
Amazon DynamoDB ist eine hoch skalierbare NoSQL Datenbank, die konsistente Lese- und Schreibperformance im einstelligen Millisekundenbereich auch für sehr große Anzahlen von Lese- und Schreibvorgängen bietet ohne dass sich der Entwickler um das Aufsetzen und die Wartung des Clusters kümmern muss. In diesem Webinar geben wir einen Überblick, erklären Datenmodelle und Anwendungfälle.
Cloud Native & Java EE: Freund oder Feind?QAware GmbH
JavaLand 2017, Brühl: Vortrag von Josef Adersberger (@adersberger, CTO bei QAware)
Abstract:
Anwendungen nativ für den Betrieb in der Cloud auszulegen, ist der Architekturstil der Stunde: Microservices, 12-Factor Apps und Serverless-Architecturen sind en vogue. Daneben gibt es Java EE, das sich über Jahre bewährt hat beim Bau von Java-Anwendungen fürs Unternehmen. Java-EE-Anwendungen im modernen Cloud-Native-Stil zu entwickeln ist kein Widerspruch, sondern ein Zugewinn: Man kann damit Enterprise-Anwendungen bauen, die reif für die Cloud-Ära sind.
Der Vortrag zeigt am laufenden Beispiel, wie man eine Cloud-Native-Java-EE-Anwendung entwickelt und wie sich Java-EE-APIs wie JAX-RS, CDI und JPA integrieren mit Cloud-Native-Infrastruktur wie DC/OS, Kubernetes, Hystrix, Traefik, Consul und Docker. Dabei wird nicht nur blanke Technologie gezeigt, sondern auch das Thema Cloud Native Java EE auf Architekturebene betrachtet.
Anwendungen nativ für den Betrieb in der Cloud auszulegen, ist der Architekturstil der Stunde: Microservices, 12-Factor Apps und Serverless-Architecturen sind en vogue. Daneben gibt es Java EE, das sich über Jahre bewährt hat beim Bau von Java-Anwendungen fürs Unternehmen. Java-EE-Anwendungen im modernen Cloud-Native-Stil zu entwickeln- ist kein Widerspruch, sondern ein Zugewinn: Man kann damit Enterprise-Anwendungen bauen, die reif für die Cloud-Ära sind.
Der Vortrag zeigt am laufenden Beispiel, wie man eine Cloud-Native-Java-EE-Anwendung entwickelt und wie sich Java-EE-APIs wie JAX-RS, CDI und JPA integrieren mit Cloud-Native-Infrastruktur wie DC/OS, Kubernetes, Hystrix, Traefik, Consul und Docker. Dabei wird nicht nur blanke Technologie gezeigt, sondern auch das Thema Cloud Native Java EE auf Architekturebene betrachtet.
Modell der Zusammenarbeit. Migration von Progress 4GL nach C#.NET Куранкова Татьяна
You will find this presentation in English on the web-site of the company Ispirer Systems
http://www.ispirer.com/products/brochures-white-papers-and-presentations
MariaDB/MySQL pitfalls - And how to come out again...FromDual GmbH
During the last conferences the audience was asking for more war stories than just new features.
In this presentation we have a look at the most often seen problems as a MariaDB/MySQL consultant in field.
MariaDB / MySQL tripping hazard and how to get out again?FromDual GmbH
The document discusses common pitfalls and mistakes when using MariaDB/MySQL databases and how to avoid or recover from them, including issues related to different versions and forks of MariaDB and MySQL not being fully compatible, keeping implementations simple to avoid unnecessary complexity, and problems that can occur from table locking, disk space usage, and other operational concerns.
In this presentation we discuss the New Features of MariaDB 10.4. First we give a short overview of the MariaDB Branches and Forks. Then we talk about the announced IPO. Technically we cover topics like Authentication, Accounts, InnoDB, Optimizer improvements, Application-Time Period Tables the new Backup Stage Galera 4 and other changes...
MariaDB 10.4 became General Available (GA = ready for production) this summer. So it is time to look at the new Features in MariaDB 10.4. After a short intro about history we look for the reason of broad usage of MariaDB nowadays. Most important improvements where in User Authentication, InnoDB improvements, and Optimizer enhancements. A completely New Feature is Application-Time Period Tables. Backup got a new Locking behaviour so LVM snapshots are possible and officially supported now. And last but not least MariaDB 10.4 comes with Galera 4.
MariaDB 10.2 New Features for Developers, Administrators and DevOps. Window Functions, Common Table Expressions, Check Constraints, GeoJSON, GIS, JSON, Oracle compatibility and MariaDB Connectors
Reading MySQL fingerprints
Every MySQL Database has its typical fingerprints. They can be seen with SHOW GLOBAL STATUS;
How you interprete them you will find in this presentation.
This document provides an overview of Galera Cluster for MySQL. It discusses how Galera Cluster allows for highly available, multi-master replication across multiple nodes through synchronous replication. It also covers topics like installation, configuration, operations including rolling restarts, load balancing, and catching node state changes. The document includes demonstrations of these concepts.
This document discusses high availability with Galera Cluster for MySQL. It provides an overview of Galera Cluster, including its advantages like active-active multi-master clusters and automatic node membership control. It also covers Galera Cluster installation, configuration, operations like initial cluster start and rolling restarts, load balancing, and online schema upgrades.
MySQL indexing is one of the areas where you can achieve the most performance gains. In this presentation we have a short look how we can improve MySQL performance with indexing...
The document discusses MySQL indexing and optimization. It provides an overview of indexing in MySQL, including what indexes are, how they are created, and how MySQL uses indexes to optimize queries. The document also discusses best practices for indexing, including identifying missing indexes, avoiding unnecessary indexes, and ensuring indexes have good selectivity to maximize query performance.
MySQL High Availability Solutions: MySQL Replication, MySQL Read-Scaleout, Master/Slave Replication, Master/Master Replication, active/passive fail-over Cluster with SAN or DRBD, Galera Cluster for MySQL, MySQL NDB Cluster
This document discusses MySQL performance tuning. It covers high availability solutions, MySQL system and status variables, memory usage, storage engines like InnoDB and MyISAM, monitoring tools, and the Performance Schema. Tuning levers include configuring variables related to caching, buffers, threads, and storage engines. Monitoring helps identify optimization opportunities.
1. HandlerSocket und ähnliche
Technologien - NoSQL für MySQL
DOAG SIG Development:
DB-Programmierung mal anders
Kassel, 9. Juni 2011
Oli Sennhauser
Senior MySQL Consultant, FromDual GmbH
oli.sennhauser@fromdual.com
www.fromdual.com 1
2. FromDual GmbH
● Wit bieten neutral und Hersteller unabhängig:
● Beratung für MySQL
● Remote-DBA / MySQL Betrieb
● Support (ex. MySQL Basic und Silber)
● Schulung für MySQL
● Wir sind Consulting Partner der Open Database
Alliance (ODBA.org)
● Oracle Silver Partner (OPN)
www.fromdual.com 2
5. Wo liegt das Problem?
Storage Engine Anteil
SQL Overhead
● SQL Overhead ist 70 – 80% für einfache Queries (~ 1
ms)!
● mit NO SQL → könnten wir bis zu 5 x schneller werden
● SQL ist gemacht für komplexe Abfragen
● NoSQL löst typischerweise einfache Abfragen
www.fromdual.com 5
7. Was können wir dagegen tun?
● HandlerSocket (2010)
● NDB-API (1997!)
● PrimeBase Streaming Engine (2008)
● Handler Interface (2001/2011)
● Memcached (ab 2006, 2011)
● OQGRAPH SE (2009)
www.fromdual.com 7
8. HandlerSocket
● 20. Oktober 2010, Yoshinori Matsunobu:
Using MySQL as a NoSQL - A story for ex-
ceeding 750,000 qps on a commodity server
Application / Client
Connection mysqld Connection
Manager Parser Manager
Optimizer
User Au- HandlerSocket
thentication
Plugin
Access Control Table Manager
Command
Dispatcher
Query Cache SE-API Worker
Module Threads
Handler Interface
MyISAM InnoDB Memory NDB PBMS Aria XtraDB Federated-X ...
www.fromdual.com 8
9. SELECT
# SELECT * FROM test.test where id = 42;
use Net::HandlerSocket;
my $args = { host => 'master', port => 9998 };
my $hs = new Net::HandlerSocket($args);
my $res = $hs->open_index(0, 'test', 'test', 'PRIMARY', 'id,data,ts');
$res = $hs->execute_single(0, '=', [ '42' ], 1, 0);
shift(@$res);
for (my $row = 0; $row < 1; ++$row) {
print "$idt$datat$tsn";
}
$hs->close();
www.fromdual.com 9
10. Infos
● Selber compilieren (einfach!)
● 7.5 mal mehr Durchsatz?!?
● Funktioniert mit MySQL 5.5.8 und MariaDB
● Schneller als mem-
cached!?!
● Im Percona-Server
12.3
www.fromdual.com 10
11. Features / Funktionalität
● Ermöglicht ganz andere Abfragemuster (siehe auch Handler
Interface)
● Viele concurrent Connections
● Hochperformant (200 – 700%)
● Keinen doppelten Cache (vs. MySQL und memcached)
● Keine Dateninkonsistenz (vs. MySQL und memcached)
● Crash-safe
● SQL Zugriff ebenfalls möglich (z. B. für komplexe
Reportingabfragen)
● MySQL muss nicht modifiziert/neu gebaut werden?!?
● Funktioniert theoretisch auch für andere Storage Engines (ich
hab's nicht ausprobiert).
www.fromdual.com 11
12. NDB-API
● 1997, Mikael Ronström:
The NDB Cluster – A parallel data server for
telecommunications applications
● 25. November 2008, Jonas Oreland:
950'000 reads per second on 1 datanode
www.fromdual.com 12
13. MySQL Cluster
Application Application Application Application Application
NDB-API NDB-API
Load balancer
SQL Node 1 SQL Node 2 SQL Node 3
...
Mgm Node 1
Mgm Node 2
Data Node 1 Data Node 2
Sw.
Sw.
Data Node 3 Data Node 4
www.fromdual.com 13
16. Benchmarks und Zahlen
● ./flexAsynch -ndbrecord -temp -con 4 -t
16 -p 312 -l 3 -a 2 -r 2
● Aus der MySQL Cluster Test-Suite
(src/storage/ndb/test/ndbapi)
● 16 number of concurrent threads (-t) ● 4 concurrent connections (-con)
● 312 number of parallel operation per ● 2 number of records (-r ?)
thread ● 1 32-bit word per attribute
● 3 iterations (-l)
● 1 ndbmtd (1 NoOfRepl.)
● 2 attributes per table (8 bytes) (-a)
insert average: 506506/s min: 497508/s max: 522613/s stddev: 2%
update average: 503664/s min: 495533/s max: 507833/s stddev: 1%
delete average: 494225/s min: 474705/s max: 518272/s stddev: 3%
read average: 980386/s min: 942242/s max: 1028006/s stddev: 2%
www.fromdual.com 16
17. Lehren
● Beobachtungen:
● CPU's sind nicht am Limit. "Igendwo" ist noch Potential !?!
● Wenn übertrieben wird: CPU ist überlastet und Performance
fällt auf 14%!
● Schummeleien:
● Schau die Parameter genau an!
● Mit allen anderen Konfigurationen erhielt ich schlechteren
Duchrsatz!
● Sobald eine IP anstatt localhost verwendet wird: 89%
Durchsatz
● Lehren:
● Traue keinen Benchmarks, die Du nicht selber manipuliert
hast!
www.fromdual.com 17
18. Neuere Resultate
● Michael Ronström, April/Mai 2011:
● 6.82M reads per second
●
2.46M updates per second
MySQL Cluster Performance
8000000
7000000
6000000
5000000
4000000 Read / s
ops
Update / s
3000000
2000000
1000000
0
4 8 16 32
# data nodes
● Mehr als lineares Skalieren scheint möglich (Caching-Effekte)!
www.fromdual.com 18
19. Und wenn wir uns das nicht antun
wollen?
● Ab MySQL Cluster 7.1 (7.0)
www.fromdual.com 19
20. BLOB Streaming Projekt
● April 2008, Paul McCullagh: Introduction to
the BLOB Streaming Project
● 5. März 2010, Barry Leslie: Upload 1000+
BLOB's per second!
www.fromdual.com 20
21. Vorteile von BLOB's in der
Datenbank
● alt: RDBMS sind nicht schnell mit dem Speichern von
BLOB's → BLOB's NICHT in der Datenbank speichern
● neu: Mit NoSQL Technologien wird es viel besser!
● Mit PBSE: atomare Transaktionen → Keine ins
Nirgendwo zeigende Referenzen.
● BLOB's im normalen Datenbank-Backup !?!
● BLOB's können repliziert werden
● BLOB's in der DB skallieren besser. Die meisten
Filesysteme performen schlecht mit mehr als 2
Millionen Dateien ?
www.fromdual.com 21
22. Das Handler Interface
● Oktober 2001, MySQL Handbuch: A new
HANDLER interface to MyISAM tables
● 27. Dezember 2010, Stephane Varoqui:
Using MySQL as a NoSQL: a story for
exceeding 450'000 qps with MariaDB
● 10. Januar 2011, Stephane Varoqui: 20% to
50% improvement in MariaDB 5.3 Handler
Interface using prepared statement
www.fromdual.com 22
23. Überspringen des Overheads mit
dem Handler Interface
Application / Client
Thread Connection mysqld
Cache Manager Parser
Optimizer
User Au-
thentication
Access Control
Command Table Open
Logging
Dispatcher Cache (.frm, fh)
Table Manager
Query Query Cache Table Definition
Cache Module Cache (tbl def.)
Handler Interface
MyISAM InnoDB Memory NDB PBXT Aria XtraDB Federated-X ...
www.fromdual.com 23
24. HANDLER Beispiel
# MySQL
# SELECT * FROM family;
HANDLER tbl OPEN
HANDLER family OPEN;
HANDLER tbl READ idx (..., ..., …)
HANDLER family
WHERE ... LIMIT ...
READ `PRIMARY` = (id)
WHERE id = 1;
HANDLER tbl READ idx FIRST
HANDLER family CLOSE;
WHERE ... LIMIT ...
HANDLER tbl READ idx NEXT
WHERE ... LIMIT ...
# With MariaDB 5.3
HANDLER tbl READ idx PREV
WHERE ... LIMIT ...
HANDLER family OPEN;
HANDLER tbl READ idx LAST
PREPARE stmt
WHERE ... LIMIT ...
FROM 'HANDLER family
READ `PRIMARY` = (id)
HANDLER tbl READ FIRST
WHERE id = ?';
WHERE ... LIMIT ...
set @id=1;
HANDLER tbl READ NEXT
EXECUTE stmt USING @id;
WHERE ... LIMIT ...
DEALLOCATE PREPARE stmt;
HANDLER family CLOSE;
HANDLER tbl CLOSE
Use persistent connections!!!
www.fromdual.com 24
25. Charakteristik des Handler
Interfaces
● HANDLER ist schneller als SELECT:
● Weniger Parsing
● Kein Optimizer Overhead
● Weniger Query-Checking Overhead
● Die Tabelle muss zwischen zwei Handler-Anfragen nicht
gelocket werden
● KEINE konsistente Sicht auf die Daten (dirty reads sind
erlaubt)
● Optimierungen sind möglich, welche SELECT nicht zulässt
● Traversieren der Daten auf eine Art, welche schwierig bis
unmöglich mit SELECT zu erlangen ist
www.fromdual.com 25
26. Neu aus den MySQL Labs
● Memcached Plugin für InnoDB (5.6)
www.fromdual.com 26
27. Neu aus den MySQL Labs
● Memcached API für MySQL Cluster (7.2)
www.fromdual.com 27
28. Eine Graphen Storage Engine
● 5. Mai 2009, Arjen Lentz: OQGRAPH
Computation Engine for MySQL, MariaDB &
Drizzle
● In MariaDB 5.1 ff.
● Verfügbar für MySQL 5.0 ff.
www.fromdual.com 28
29. Wie fühlt sich das an?
● Es ist ähnlich wie die MEMORY SE (Persistenz, Locking,
trx)
Node
● Wir sprechen in:
● Node/Item/Vertex und
● Edge/Connection/Link
● Edges haben eine Richtung Edge
● Wir können Netzwerke und Hierarchien abbilden
● (Familienbeziehungen, Freunde von Freunden, kürzeste
Strecke von A nach B)
● Um mit der OQGRAPH SE zu sprechen brauchen wir
“latches” (welcher Algorithmus zu verwenden ist)
● Es ist eine “computational engine” nicht eine Storage
Engine!
www.fromdual.com 29
33. Übersicht
Technologie r/w Trx Sprachen
MySQL ja / ja ja “alle”, SQL
HandlerSocket ja / ja nein C++, Perl, Ruby, PHP,
Java, Pyhton, ...
NDB-API (MySQL Cluster) ja / ja ja C++, Java, (SQL)
PBSE ja / ja ja C++, SQL
Handler Interface ja / nein nein “alle”, SQL
OQGRAPH SE ja / ja nein “alle”, SQL
Memcached-API ja / ja nein C++, Perl, Ruby, PHP,
Java, Pyhton, ...
www.fromdual.com 33
34. Zusammenfassung
● SQL ist gut für komplexe Abfragen
● NoSQL üblicherweise für einfache Abfragen
● Vorsicht mit Performance-Zahlen!
● Architektur / Programmierung wird
komplexer
● Bessere Performance ist möglich
● Aber es ist verdammt interessant!
www.fromdual.com 34
35. Literatur
● Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity
server: http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-
nosql-story-for.html
● 950k reads per second on 1 datanode:
http://jonasoreland.blogspot.com/2008/11/950k-reads-per-second-on-1-
datanode.html
● Scalable BLOB Streaming Infrastructure for MySQL and Drizzle:
http://www.blobstreaming.org/
● HandlerSocket: Why did our version not take off?
http://pbxt.blogspot.com/2010/12/handlersocket-why-did-out-version-did.html
● Using MySQL as a NoSQL: a story for exceeding 450000 qps with MariaDB:
http://varokism.blogspot.com/2010/12/using-mysql-as-nosql-story-for_27.html
● HANDLER Syntax: http://dev.mysql.com/doc/refman/5.5/en/handler.html
● GRAPH Computation Engine – Documentation:
http://openquery.com/graph/doc
www.fromdual.com 35
36. Q&A
Fragen ?
Diskussion?
Wir haben noch Zeit für persönliche und
indviduelle Beratungen...
www.fromdual.com 36