Memcached Interface für MySQL

Neues PHP mysqlnd Plugin für die MySQL 5.6 Not-Only-SQL Interfaces
Kommentare

Vor einigen Monaten stellte Oracle neue Interfaces zum Zugriff auf MySQL
5.6 vor [1]. Daten, die in InnoDB-Tabellen oder im MySQL-Cluster gespeichert sind können fortan nicht nur über das SQL-Interface sondern auch per Memcache-Protokoll abgefragt werden. Bei Verwendung des Memcache-Protokoll entfällt die Notwendigkeit SQL zu parsen. Dies verbessert die Performanz beim Datenzugriff, sofern ein einfacher Key-Value-Zugriff ausreichend ist, um die gewünschten Daten zu erhalten.

MySQL verbindet damit das Beste aus zwei Welten: besonders schnelle aber wenig leistungsfähige Key-Value-Anfragen werden in Ergänzung zur bekannten und leistungsfähigen Anfragesprache SQL angeboten. Alle Vorteile eines ausgereiften relationalen Datenbanksystems bleiben unverändert erhalten.

Mit PECL/mysqlnd_memcache[2] stellt das MySQL-Connectors Team ein Plugin für die mysqlnd-Bibliothek vor. Wie alle anderen mysqlnd-Plugins ist es kompatibel mit allen PHP MySQL Erweiterungen (ext/mysqli, PDO_MySQL, ext/mysql).

Das Plugin übersetzt automatisch bestimmte SQL-Anfragen in Key-Value-Zugriffe. In der ersten Version wird ein konfigurierbarer regulärer Ausdruck verwendet, um zu erkennen ob ein Zugriff in der Form SELECT spalten FROM tabelle WHERE primaerschluessel = wert vorliegt. Ist dies der Fall, dann erfolgt ein hochperformanter Zugriff auf MySQL unter Verwendung des Memcache-Protokolls anstatt einer SQL-Anfrage mittels MySQL-Client-Server Protokoll.

Anfragen der genannten Form sind in vielen Anwendungen populär, beispielsweise in objekt-relationalen Mappern. Viele Standardprodukte und Frameworks beinhalten Abstraktionen, die zu einer großen Menge von Primärschlüssel basierten Abfragen einzelner Tabellen führen.

PECL/mysqlnd_memcache benötigt PHP 5.4. Die Übersetzung von SQL in Memcache-Zugriffe sollte ebenfalls mit PECL/mysqlnd_uh möglich sein, welches derzeit nur PHP 5.3 unterstützt. PECL/mysqlnd_uh erlaubt es mysqlnd-Plugins in PHP zu schreiben: Monitoring, Auditing, Caching, Query Rewriting oder auch eine Emulation von PECL/mysqlnd_memcache sind denkbar.

Dokumentation für PECL/mysqlnd_memcache ist für die nächsten Wochen angekündigt.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -