SimpleVOC-Yetanother. Bausteine für eine Key/Value- Datenbank



Ähnliche Dokumente
Professionelle Seminare im Bereich MS-Office

Was meinen die Leute eigentlich mit: Grexit?

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Die Invaliden-Versicherung ändert sich

Anleitung über den Umgang mit Schildern

Speicher in der Cloud

Leichte-Sprache-Bilder

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Eigenen Farbverlauf erstellen

Die Post hat eine Umfrage gemacht

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Was bedeutet Inklusion für Geschwisterkinder? Ein Meinungsbild. Irene von Drigalski Geschäftsführerin Novartis Stiftung FamilienBande.

Professionelle Seminare im Bereich MS-Office

Einfügen von Bildern innerhalb eines Beitrages

1. Weniger Steuern zahlen

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Outlook Express: Einrichtung Account

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

4D Server v12 64-bit Version BETA VERSION

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Was ist Leichte Sprache?

Solar Dorf Projekt. Von. Arthegan Sivanesan & Tieu Long Pham

Kommunikations-Management

Dow Jones am im 1-min Chat

Alle gehören dazu. Vorwort

Wir machen neue Politik für Baden-Württemberg

SJ OFFICE - Update 3.0

Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Die Erstellung eigener Strukturprofile

! " # $ " % & Nicki Wruck worldwidewruck

So richten Sie ihre s unter Outlook Express 5 / 6 ein

Bewertung des Blattes

Hardware - Software - Net zwerke

iphone-kontakte zu Exchange übertragen

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Technische Analyse der Zukunft

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Website freiburg-bahai.de

Der Kalender im ipad

Überblick und Vergleich von NoSQL. Datenbanksystemen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Big Data Mythen und Fakten

Erklärung zu den Internet-Seiten von

Reporting Services und SharePoint 2010 Teil 1

Primzahlen und RSA-Verschlüsselung

Professionelle Seminare im Bereich MS-Office

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

DER SELBST-CHECK FÜR IHR PROJEKT

Updatehinweise für die Version forma 5.5.5

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Anleitung zur Erstellung und Bearbeitung von Seiten in Typo3. Typo3. Anleitung. Wenpas Informatik

Wie können Sie eine Client Lizenz wieder freigeben?

Qualitätsbedingungen schulischer Inklusion für Kinder und Jugendliche mit dem Förderschwerpunkt Körperliche und motorische Entwicklung

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Das Leitbild vom Verein WIR

Repetitionsaufgaben Wurzelgleichungen

Windows 10 > Fragen über Fragen

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Fotostammtisch-Schaumburg

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Geld Verdienen im Internet leicht gemacht

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Der Support für Windows Server 2003 endet endgültig alles was Ihnen dann noch bleibt ist diese Broschüre.

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Es gilt das gesprochene Wort. Anrede

EINFACHES HAUSHALT- KASSABUCH

Wie oft soll ich essen?

Anspruchsvolle Dreierausdrücke zum selbstständigen Lernen

SAP Memory Tuning. Erfahrungsbericht Fritz Egger GmbH & Co OG. Datenbanken sind unsere Welt

Anleitung zur Nutzung des SharePort Utility

Oracle APEX Installer

I. Allgemeine Zugangsdaten für den neuen Server: II. Umstellung Ihres Windows Arbeitsplatzrechners

Berufsunfähigkeit? Da bin ich finanziell im Trockenen.

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: :: WINTERSEMESTER 08 09

Internet-Wissen. Browser:

Informationsblatt Induktionsbeweis

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Was ich als Bürgermeister für Lübbecke tun möchte

Personalisierte versenden

mysoftfolio360 Handbuch

Drucken von Webseiten Eine Anleitung, Version 1.0

Fotos verkleinern mit Paint

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Monitoring mit Graphite

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Gutes Leben was ist das?

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

Das muss drin sein. Hallo, wir sind die Partei: DIE LINKE.

Übung: Netzwerkmanagement mit SNMP

GRUNDLEGENDES ZUM EINRICHTEN DES LAPTOP-ABGLEICHS

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Transkript:

SimpleVOC-Yetanother Memcached? Bausteine für eine Key/Value- Datenbank

SimpleVOC Yet another memcached? Bausteine für eine Key/Value Datenbank. Theorie (Martin Schönert) Praxis (Frank Celler)

Eine Weisheit zum Anfang Simple things should be simple, complex things should be possible. Alan Kay, 2001

Ich finde folgendes abgeleitetes Bewertungsschema ziemlich hilfreich: In System X sind: einfache Dinge: mittelschwere Dinge: schwierige Dinge:

Da gibt es dann einige interessante Kandidaten (Beispiel total subjektiv): In Hibernate sind: mittelschwere Dinge: einfach gemacht einfache Dinge: vergleichsweise mittelschwer schwierige Dinge: praktisch unmöglich

Die Geburt einer nosql Datenbank 19:42: "Hmm, ich habe hier diese vielen Key/Value Paare. Die muss ich häufig speichern und ändern und sehr häufig abzufragen." 19:44: "Ok, ich schreibe die einfach in diese Oracle Tabelle mit einer VARCHAR2 Spalte Key und einer VARCHAR2 Spalte Value." 21:31: "Schade, dass ist nicht performant genug, und 4000 Buchstaben als Limit für Value wird auch nicht immer reichen." 21:32: "Jetzt müsste ich vermutlich die Spaltentypen ändern und dann einen Index anlegen." 21:33: "Ich glaube es ist schneller ich baue mir eine In-Memory Datenbank, dazu muss ich ja nur wenig programmieren, einen Hash-Table, einen Event-gesteuerten TCP/IP Server, einen HTML Parser, etc. Wie schwer kann das schon sein?"

Die Geburt einer nosql Datenbank Ein Entwickler hat ein einfaches Problem. Die Lösung mit einer relationalen Datenbank wird als zu schwierig empfunden. Der Entwickler schafft eine einfache Lösung für das einfache Problem. Seine Lösung ist erfolgreich und wird folglich für immer neuer Probleme eingesetzt. Und jetzt muss sie auch schwierige Dinge möglich machen.

Die Lösung... Verteile die Datenbank auf mehrere Rechner

für verschiedene Probleme Verfügbarkeit wenn ein Server abstürzt soll die DB verfügbar bleiben Zuverlässigkeit wenn ein Server abstürzt sollen keine Daten verloren gehen Performance (genauer Durchsatz) die Anzahl der Requests ist zu gross für einen Server Volumen die Datenmenge ist zu gross für einen Server die ersten drei führen in manchen Fällen nicht nur zu einer Verteilung über Server, sondern zu einer Verteilung über Standorte.

Die beste Lösung... Die Datenbank zusammen mit einer API liefern für einen Clienten die Abstraktion einer Datenbank die immer verfügbar ist und immer die richtigen Daten liefert.

ist unmöglich: Eric Brewer's CAP Theorem Von den drei Eigenschaften Consistency (ständige Konsistens der Daten für alle Clienten) Availibility (ständige Verfügbarkeit der DB für alle Clienten) Partitionability (tolerant in einer Split-Brain Situation) sind alle Paare (CA, CP, AP) zu realisieren; jedoch nie alle drei Eigenschaften zusammen. bewiesen von Gilbert & Lynch, 2002 0

Das ist für nosql Datenbanken eine Chance Denn die perfekte Lösung ist zwar nicht möglich, aber es gibt viele theoretisch mögliche Lösungen die der perfekten auf verschiedene Arten nahekommen von denen einige die Kooperation der Applikation einsetzen (welche immer mehr Wissen darüber hat wie die Daten aussehen können) und in der relationalen Welt werden nur wenige mögliche Lösungen angeboten (und dabei keine die Kooperation benötigen)

Datenbankreplikation / Log-Shipping /... Read Write Sync Async

Datenbankreplikation / Log-Shipping /... Read Write Read Sync Async

Datenbankreplikation / Log-Shipping /... Read Write Read Write Sync

Doppeltes Schreiben und Lesen (passt besonders gut zu kooperierenden Apps) API Library eventually consistent

Vielfaches Schreiben und Lesen bietet eine Art Tuning zwischen AP und CP (siehe W. Vogels, Dynamo) N Server R + W > N API Library R Reads W Writes

Consistent Hashing kann gut mit Veränderungen des Serverpools umgehen API Library berechne Hash verteile entsprechend

Fazit Es gibt viele Möglichkeiten eine nosql Datenbank auf mehrere Rechner zu verteilen, die in verschiedenen Situationen jeweil optimal sind.

Anwendungsbeispiel Research Dokumente aus vier Abteilungen Voting aller Benutzer Dokument CP Master / Slave Master / Slave Master / Slave Master / Slave Voting AP

Datenspeicher memcached: LRU Cache, weit verbreitet Amazon Dynamo: CAP Theorem Cassandra Voldemort Riak Berkeley DB: In-Process Datenbank Tokyo Cabinet& Tyrant: In-Process& Server Redis: Key/Value Datenbank

Warum SimpleVOC? einfach HTTP Interface Zuverlässigkeit Snapshots Transaktionslogs CAP Theorem

I / O Library libev JSON.org HTTP Interface Apache Lighttpd Key / Value Store STL Memory Blocks Komponenten

Vielen Dank und eine Frage Man/frau sieht sich auf Welche Plattform? sourceforge.net berlios.de Savannah.gnu.org www.simplevoc.org

Vielen Dank triagens GmbH Brüsseler Strasse 89-93 50672 Köln