Vitess nutzt MySQL als Backend.
Vitess nutzt MySQL als Backend. (Bild: MySQL)

Vitess Google will MySQL beschleunigen

Google hat mit Vitess ein Projekt gestartet, das MySQL in typischen Webszenarien beschleunigen und so eine Alternative zu NoSQL-Systemen darstellen soll. Mit Vitess soll MySQL besser skalieren.

Anzeige

Es muss nicht immer NoSQL sein, wenn sehr große Datenbanken in Webapplikationen zu verarbeiten sind, meint Google und macht sich mit dem Projekt Vitess (vitesse - französisch für Geschwindigkeit) daran, MySQL für den Einsatz in solchen Szenarien fit zu machen.

Vitess arbeitet wie eine Art Proxy, bildet aber nur ein vereinfachtes SQL-Interface ab und bündelt MySQL-Verbindungen. Selbst verzichtet Vitess auf Sessions, so dass sich Verbindungen schneller aufbauen lassen.

Vitess verzichtet auch auf die ACID-Kriterien Atomicity und Consistency. Atomarität werde für die meisten Webanwendungen nicht benötigt. Stattdessen garantiert Vitess die Atomarität nur für einzelne Entitäten anhand eines Schlüssels, was es beispielsweise ermöglicht, Daten anhand von User-IDs auf mehrere Server zu verteilen. Zudem ist Vitess nur "Eventually Consistent", wie man es von vielen NoSQL-Datenbanken kennt. Dadurch lassen sich Lesezugriffe leichter auf viele Systeme verteilen. Es ist aber möglich, Daten explizit vom Master-Server abzufragen, wenn es auf Konsistenz ankommt.

Für einen schnell Zugriff auf einzelne Zeilen soll ein Row-Cache sorgen. MySQLs Buffer-Cache ist hingegen eher für Situationen geeignet, in denen Indizes und Tabellen durchsucht werden sollen. Der Zeilencache von Vitess erlaubte es, bestimmte Tabellen für einen schnellen Random-Zugriff auszuwählen.

Sharding vereinfacht

Das Sharding, bei dem eine Datenbank anhand eines Schlüssel auf mehrere Server verteilt wird, soll Vitess vereinfachen. Dazu werden alle Tabellen anhand mehrerer Schlüssel indexiert und so entsteht eine logische Repräsentation der gesamten Datenbank. Die Shard-Map kann so durch einen einfachen In-Memory-Aufruf gelesen werden. Erhält ein Shard zu viele Anfragen, kann Vitess ihn in zwei Shards aufsplitten. Zudem kann Vitess Shards zusammenführen.

Administratoren können dabei einen Replikationsfaktor für einen Keyspace angeben. Vitess sorgt dann dafür, dass ausreichend viele Replikationen der Master-Datenbank vorliegen. Vitess unterstützt auch Setups, die sich über mehrere Rechenzentren erstrecken, wobei alle Master-Datenbanken in einem Rechenzentrum stehen müssen. Bei Ausfällen oder Wartungsarbeiten kann Vitess automatisch einen neuen Master bestimmen.

Vitess wurde in Googles Programmiersprache Go umgesetzt und steht unter der BSD-Lizenz. Der Code des Projekts findet sich auf Github.


Kommentieren



Anzeige

  1. Account Manager / Teamkoordinator IT Service Management (m/w)
    TUI InfoTec GmbH, Hannover
  2. Senior Auditor IT (m/w)
    Bertelsmann SE & Co. KGaA, Gütersloh
  3. Senior Data Architect Heating- and Building Systems (m/w)
    Bosch Thermotechnik GmbH, Lollar
  4. Test-Spezialist/in für Automotive IT-Systeme
    ESG Elektroniksystem- und Logistik-GmbH, München

 

Detailsuche


Folgen Sie uns
       


  1. Linshof

    Die gut versteckte Firma hinter dem Wunder-Smartphone

  2. Gericht

    Entscheidung über Haft für Dotcom kommende Woche

  3. Star Wars Episode VII

    The Force Awakens im ersten Teaser

  4. Speedport Hybrid

    Hybrid-Tarif der Telekom ohne LTE-Drosselung

  5. Docker-Alternative

    Spoon bietet virtualisierte Container für Windows

  6. Überbewertete Superrechner

    Quantencomputer hätten kaum was zu tun

  7. FAA

    Privatdrohnen gefährden Flugverkehr

  8. Großbritannien

    Pink Floyd und Arctic Monkeys sorgen für Vinyl-Boom

  9. Raumfahrt

    Hayabusa 2 startet in wenigen Tagen

  10. Winter is coming

    Game of Thrones ab Anfang Dezember 2014



Haben wir etwas übersehen?

E-Mail an news@golem.de



Smarthome: Das intelligente Haus wird nie fertig
Smarthome
Das intelligente Haus wird nie fertig
  1. Smart Home Das vernetzte Zuhause hilft beim Energiesparen
  2. Leuchtmittel Die Leuchtdiode kommt aus dem 3D-Drucker
  3. Agora, Energy@home und EEBus Einheitliche Sprache für europäische Smart Homes

Star Wars X-Wing (DOS): Flugsimulation mit R2D2 im Nacken
Star Wars X-Wing (DOS)
Flugsimulation mit R2D2 im Nacken

Android-ROM: Slimkat - viele Einstellungen und viel Schwarz
Android-ROM
Slimkat - viele Einstellungen und viel Schwarz

    •  / 
    Zum Artikel