whitepaper NoSQL Not only... but also SQL: Flexibilität und Vielfalt in der Persistenz

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "whitepaper NoSQL Not only... but also SQL: Flexibilität und Vielfalt in der Persistenz"

Transkript

1 whitepaper NoSQL Not only... but also SQL: Flexibilität und Vielfalt in der Persistenz

2 NoSQL Not only... but also SQL: Flexibilität und Vielfalt in der Persistenz Dieses Dokument soll die Technologien, die sich inzwischen unter dem Sammelbegriff NoSQL vereinigen, vorstellen. Die Autoren stellen fest, dass ein relationales Datenbanksystem nicht zwangsläufig die optimale Lösung ist und es sich für so manchen Anwendungsfall durchaus lohnt, auf eine Alternative zu setzen. Und das nicht nur bei verteilten Hochverfügbarkeitssystemen, deren Infrastruktur sich über die Kontinente dieser Erde erstreckt. NoSQL? Jahrzehntelang dominierten relationale Datenbanken die Persistenzschicht in nahezu allen Softwaresystemen. Kein Paradigmenwechsel konnte sie von ihrem Platz an der Spitze verdrängen. Zuletzt wurde ihr Niedergang mit dem Siegeszug objektorientierter Programmiersprachen prophezeit. Wenige Jahre später war klar, dass das Gegenteil geschehen war: Objektrelationales Mapping war die Antwort und damit eine noch stärkere Position der relationalen Datenbanksysteme. Diese unumschränkte Dominanz wird nun durch einen neuen Begriff herausgefordert: NoSQL! Der Begriff NoSQL umfasst eine Reihe von Technologien, die teilweise schon sehr lange bestehen, aber durch die neue, zusammenfassende Bezeichnung, die Kombination mit aktuellen Technologien und veränderter Anforderung an Persistenzlösungen in verteilten Systemen stark an Bedeutung gewonnen haben. NoSQL! Doch was soll dieser Begriff des NoSQL eigentlich bedeuten? Entgegen dem (sicherlich absichtlich erzeugten) Eindruck, dass er sich gegen die Abfragesprache SQL und damit gegen relationale Datenabbildungen wendet, bedeutet NoSQL einfach nur Not only SQL. Mit anderen Worten geht es also darum, Alternativen zu den etablierten relationalen Systemen aufzuzeigen. Diese Alternativen sind untereinander nicht ansatzweise so homogen, wie es die Welt der relationalen Datenbank ist. Einige Gemeinsamkeiten gibt es dennoch. NoSQL- Datenbanken haben kein relationales Datenmodell und damit kein in dem Sinne strikt festgelegtes Schema. eignen sich für den Einsatz in verteilten Systemen, da sie horizontal skalierbar 1 sind. Daher sind sie auch gut geeignet für die Verarbeitung großer Datenmengen. 1 Das bedeutet, dass sich die Leistungsfähigkeit durch das Hinzufügen weiterer Server steigern lässt. sind meistens Open Source bzw. ohne Lizenzkosten benutzbar. Hintergrund Fragt man sich nun, was zu dieser Entwicklung geführt hat, heißt eine kurze und bündige Antwort: Das Web!. Auch das Stichwort Big Data sollte in diesem Zusammenhang genannt werden: In vielen verschiedenen Gesellschaftsbereichen wie Forschung, Wirtschaft und Verwaltung wurden und werden ständig mehr Daten gesammelt, die natürlich im gleichen Maße nach innovativen Persistenzlösungen verlangen. Viele Unternehmen haben sich weltweit verteilte Systeme geschaffen, in denen relationale Datenbanken nicht die alleinige Persistenzlösung darstellen können. Branchen-Schwergewichte wie Amazon, Google und Facebook mussten sich neue Strategien überlegen, um der Herausforderung riesiger Datenmengen, hoher Last durch weltweit verteilte Anfragen und hohen Geschwindigkeitsanforderungen begegnen zu können. Relationale Datenbanken sind angesichts dieser Anforderungen längst nicht so dominant wie bisher, was an einer zentralen Eigenschaft relationaler Datenbanken liegt ACID. Das bedeutet: Atomicity: Entweder werden alle oder gar keine Operation einer Transaktion durchgeführt Consistency: der Datenbestand ist nach Abschluss einer Transaktion in einem konsistenten Zustand Isolation: nebenläufige Datenzugriffe sind voneinander isoliert Durability: alle Daten werden am Ende einer Transaktion dauerhaft persistiert Zwar ist jede dieser Parameter wünschenswert, doch es gibt ein Problem: Es ist nicht möglich, diese Eigenschaften in einem verteilten System aufrecht zu erhalten, bei dem die Verbindungen zwischen den einzelnen Instanzen (also das Netzwerk) nicht immer vollständig zuverlässig Seite 2/9 NoSQL whitepaper

3 ist, ohne die Verfügbarkeit des Systems einzuschränken. Diese Aussage ist Teil des sog. CAP-Theorems, dass nicht nur in der akademischen Welt für Furore gesorgt hat. CAP-Theorem Das CAP-Theorem 2 beschreibt keine Unzulänglichkeit aktueller Datenbanken, sondern vielmehr eine mathematisch bewiesene Einschränkung aller verteilten Systeme. Es besagt, dass bei einer verteilten Datenbank, deren Instanzen durch ein Netzwerk verbunden sind, das nicht immer zu 100% verfügbar ist, niemals die ständige Erreichbarkeit des Systems mit der gleichzeitigen ständigen Konsistenz der Daten vereinbar sind. Vielmehr muss man sich dafür entscheiden, welche der beiden Eigenschaften die höhere Priorität hat. Da Netzwerke in der Praxis nie vollständig zuverlässig sind, als bekanntes Beispiel mögen die Fallacies of Distributed Computing 3 dienen ist die Aussage des CAP-Theorems eindeutig: Angesichts eines potenziell unzuverlässigen Netzwerks ist das unbedingte Festhalten an der Datenkonsistenz nur mit Kompromissen bei der Verfügbarkeit des Systems zu realisieren. Die Vielfalt der NoSQL-Welt Die Welt der klassischen relationalen Datenbanken stellt sich gegenüber der Vielzahl an verschiedenen Projekten aus dem NoSQL-Umfeld relativ homogen dar. Allerdings kann man in all der Heterogenität mittlerweile Gruppen von Datenbanken unterscheiden, die viele Eigenschaften teilen. In der Folge stellen wir die wichtigsten Gruppen und einige ihrer Vertreter vor. Key/Value Store Die Key/Value Stores sind der Beweis dafür, dass alternative Datenbanken schon seit langem bekannt sind: Einer ihrer älteren Vertreter ist DBM, das bereits 1979 für UNIX entwickelt wurde. Die Datenstruktur ist durch den Namen schon weitgehend beschrieben: Ein Schlüssel, der auf einen (im einfachsten Fall) primitiven Wert zeigt. Zwischen den einzelnen Key/Value-Paaren gibt es dabei keine Relationen, weshalb diese Art von Datenbanken sehr gut horizontal skalierbar ist und klare Geschwindigkeitsvorteile gegenüber anderen Datenbanken hat. Genau diese Einschränkung der Verfügbarkeit war und ist für viele Anwendungen nicht denkbar. Dagegen sind phasenweise nicht konsistente Daten durchaus akzeptabel. Ein gutes Beispiel dafür sind große Webangebote wie Facebook, Amazon und Google. Daraus folgt ein anderes Transaktionsmodell. Als Gegenpol zu ACID hat sich hier der Begriff BASE etabliert. BASE (Basic Availability, Soft State, Eventually Consistent) BASE bezeichnet ein Transaktionsmodell, bei dem die Verfügbarkeit oberste Priorität hat (Basic Availability). Konsistenz ist untergeordnet, und die Verantwortung hierfür wird ggf. den zugreifenden Applikationen übertragen (Soft State). Nicht alle Datenbankknoten weisen nach Beendigung einer Transaktion zwingend einen konsistenten Stand auf, jedoch ist gewährleistet, dass eine Datenänderung zum nächstmöglichen Zeitpunkt vollständig an alle relevanten Knoten propagiert wird (Eventually Constistent). ACID und BASE kann man sich als zwei Endpunkte einer Dimension denken, auf der sich die verschiedenen Datenbanken verorten lassen. Die bekannten relationalen Datenbanken sind dabei eher an ACID gelagert, während viele NoSQL-Datenbanken näher an BASE liegen. 2 Das Theorem ist nach den drei Eigenschaften verteilter Systeme benannt, die darin in Beziehung gesetzt werden: Consistency, Availability und Partition Tolerance. 3 Peter Deutsch, The Eight Fallacies of Distributed Computing, Abbildung 1: Key/Value Store Der Einsatz eines solchen Systems bietet sich also immer dann an, wenn das Datenmodell sehr einfach ist und die Geschwindigkeitsanforderungen hoch sind. Mögliche konkrete Einsatzfelder wären damit zum Beispiel das Erfassen von statistischen Daten, wie z.b. der Zeitdauer für die Bearbeitung einer Anfrage in einer Webapplikation oder die Benutzungshäufigkeit von Features. Genauso gut ließe sich aber auch ein einfacher Twitter-Klon oder eine Lesezeichenfunktion im Browsermit einem Key/ Value Store umsetzen. Der bekannteste Vertreter dieser Zunft ist zur Zeit Redis. n Redis Dieser Key/Value-Store ist ein Open Source-Projekt unter BSD-Lizenz und wird mittlerweile maßgeblich durch die für ihre Virtualisierungslösungen bekannte Firma VMWare unterstützt. Neben einfachen Strings kann der für einen Key gespeicherte Wert in Redis auch aus Sets Seite 3/9 NoSQL whitepaper

4 oder Listen bestehen. Das Tool ist sehr flexibel einsetzbar, da es zwei Persistenzmodi unterstützt. Entweder werden die Daten zunächst nur im RAM gehalten und je nach Konfiguration in bestimmten Abständen auf der Festplatte gespeichert, oder es wird direkt auf die Festplatte geschrieben. So lässt sich flexibel bestimmen, wie wichtig die Geschwindigkeit im Vergleich zur Datensicherheit gewichtet werden soll. mehreren Rechnern oder durch mehrere Prozessorkerne auf einem Rechner. Document Stores können besonders dann ihre Stärken ausspielen, wenn Daten strukturiert gespeichert werden müssen, aber ein allgemeingültiges, striktes Schema n Scalaris Ein sehr interessantes, EU-gefördertes Projekt, das gemeinsam durch das Berliner Zuse-Institut und die Firma onscale entwickelt wird. Scalaris besticht durch seine weitgehende Unterstützung von Transaktionen sowie seine Geschwindigkeit. Ein Grund für diese Leistungsfähigkeit ist, dass es sich um einen In-Memory-Datastore handelt. Der Ausfall einzelner Knoten bedeutet hierbei keinen Datenverlust, da die Daten immer auf mehrere Knoten repliziert werden. Scalaris sollte also eingesetzt werden, wenn sehr viele Anfragen schnell über viele Instanzen mit gleichzeitig hohen Anforderungen an die Konsistenz abgearbeitet werden müssen. Das Projekt steht unter der Apache 2.0-Lizenz. Abbildung 2: Document Store Document Store Innerhalb eines Document Stores werden Daten in Strukturen organisiert, die durchaus Ähnlichkeit mit Dokumenten haben, die wir aus dem Alltag kennen. Es gibt nicht viele Vertreter dieser Kategorie, dafür aber mit CouchDB und MongoDB zwei Projekte mit sehr hohem Bekanntheitsgrad. Als Format für die Dokumente verwendet man meist JSON oder dessen binäre Version BSON. JSON hat in der Welt der Webapplikationen XML den Rang abgelaufen und ist ein sehr geeignetes Format für diesen Zweck. Jedes Dokument erhält dabei eine eindeutige Kennung (ID), die den Zugriff auf das Dokument ermöglicht. Anders als in relationalen Datenbanken sind Daten in einem Document Store zunächst nicht miteinander verbunden. Für Abfragen wird daher oft ein Map/Reduce- Ansatz 4 benutzt: in der Map-Phase extrahiert man Ergebnisse aus den einzelnen Dokumenten, die dann in der Reduce-Phase aggregiert werden. Vorteilhaft hierbei ist, dass man die erste Phase parallelisieren kann. auf 4 Map-Reduce-Verfahren zur Datenanalyse und -aggregation finden sich in sehr vielen NoSQL-Datenbanken. Eine Definition und ein erster Einblick finden sich hier: Reduce eher hinderlich wäre. Beispiele hierfür sind CMS-Systeme und E-Commerce-Anwendungen. Ein festes Schema für den gesamten verwalteten Inhalt oder alle angebotenen Produkte wirkt sich hier schlecht auf die Wartbarkeit der Software aus. Mit einem Document Store hingegen lässt sich jedes Produkt beipielsweise als Dokument verwalten, was eine flexiblere Lösung darstellt. Nun aber zu den bereits genannten zwei Platz hirschen unter den Document Stores: CouchDB und MongoDB. n CouchDB Das Motto dieses Systems ist Relax - der Entwickler darf sich also entspannen. Dies fängt schon bei der API an: Sie setzt sehr stark auf die Architektur des Webs und wird somit von Kennern als RESTful 5 bezeichnet. Mit anderen Worten: Wer sich mit Webapplikationen bzw. -technologien auskennt, wird sich hier sehr schnell zurechtfinden. Neben diesem klaren Fokus auf das Web gibt es eine andere Auffälligkeit: CouchDB hat eine herausragende Unterstützung für die Synchronisation zwischen verschiedenen Instanzen. So genügt ein einziger Befehl, um 5 Mehr Informationen zu diesem Programmierparadigma finden sich hier: Seite 4/9 NoSQL whitepaper

5 die Dokumente einer Instanz mit einer anderen Instanz zur synchronisieren. Konflikte werden dabei automatisch erkannt; die Anwendung kann sie dann prüfen und auflösen. Dieses interessante Feature verdankt CouchDB der Vergangenheit des Projektgründers und Hauptentwicklers Damien Katz, der früher zum Lotus Notes Team gehörte. Gerade diese Eigenschaft macht CouchDB in Zeiten mobiler Endgeräte, deren Anbindung an das Internet oft schlecht oder gar nicht gegeben ist, zu einer sehr interessanten Möglichkeit, Daten nach einer unabhängigen Überarbeitung zu synchronisieren. Das sehen die Entwickler hinter dem Projekt genauso und daher gibt es für die zwei populärsten Betriebssysteme für Smartphones und Tablets ios und Android jeweils eine Version von CouchDB, die treffend Couchbase Mobile heißt. Wer Couchbase in eine Applikation integrieren möchte, wird mit hoher Wahrscheinlichkeit eine API in seiner bevorzugten Programmiersprache finden. Darüber hinaus gibt es mit ActiveCouch ein ORM-Framework für Ruby, das vor allem für Rails-Applikationen interessant sein dürfte. Eine Unterstützung innerhalb des Spring Data- Projekts ist geplant. Die Entwicklung von CouchDB wird wesentlich von der Firma Couchbase vorangetrieben, die auch Support und Hosting-Services rund um CouchDB anbietet. n MongoDB Eine der bekanntesten NoSQL-Lösungen ist sicherlich MongoDB, das sich einer großen Popularität innerhalb der Entwicklergemeinde erfreut. Die Zielsetzung der Entwickler ist es, eine einfach zu nutzende, skalierbare, schnelle und flexible Persistenzlösung anzubieten. Wie bei CouchDB werden Daten in Dokumenten gespeichert, und zwar im Format BSON. Diese Dokumente werden in Collections organisiert, die man mit Tabellen in relationalen Systemen vergleichen kann. MongoDB bietet darüber hinaus einige Features an, die in der relationalen Welt sehr beliebt sind: Indizes, dynamische Abfragen, Upserts und einfache Datenaggregation. Gleichzeitig ist es hoch skalierbar und unterstützt fast jede erdenkliche Plattform und Programmiersprache. MongoDB bietet, wie auch CouchDB, mit einer REST-API eine Webtechnologie-affine Schnittstelle. Darüber hinaus besteht eine umfangreiche Unterstützung durch das Spring Data- Projekt und ebenso für Ruby Anwendungen durch MongoMapper. Die Entwicklung von MongoDB wird durch die Firma 10gen geleistet, die Datenbank selbst jedoch steht unter der GNU AGPL 3.0-Lizenz. 10gen bietet kommerzielle Lizenzen, Trainings und Beratung an. Wide Column Stores Wide Column Stores erinnern an die bereits seit Ende der 80er Jahre bekannten spaltenorientierten Datenbanken. Anstatt, wie in relationalen Datenbanken üblich, die Daten eines Datensatzes nebeneinander zu speichern, erfolgt dort die Speicherung der einzelnen Attributausprägungen in spaltenorientierten Datenbanken untereinander. In einer Tabelle, die das Alter von Personen erfasst, würden also die verschiedenen Geburtstage nebeneinander stehen und nicht etwa zeilenorientiert: Name, Geburtstag; Name, Geburtstag; usw. Name, Name; Geburtstag, Geburtstag; Beispiele für solche Datenbanken sind Sybase IQ oder MonetDB. Der Vorteil dieser Datenorganisation liegt auf der Hand: Sie eignet sich hervorragend für die Aggregation von Daten, und spaltenorientierte Datenbanken sind daher vor allem im Data Warehouse- und Data Mining- Umfeld zu finden. Wide Column Stores besitzen eine gewisse Ähnlichkeit zu diesen Datenbanken. Ihr Vorbild ist BigTable, eine Datenbank, die hinter fast allen bekannten Google-Angeboten steht. Diese Technologie ist zwar nur indirekt über die Google App Engine für Dritte nutzbar, wurde aber von Google 2006 in einem wissenschaftlichen Vortrag vorgestellt. Dort wird BigTable als sparse, distributed, persistent multidimensional sorted map beschrieben. Jeder Wert in dieser Map wird einem Spalten- und Zeilenschlüssel zugeordnet. Das von den Google-Mitarbeitern gewählte Beispiel ist die Speicherung von Informationen über Webseiten: Der (invertierte) Name der Website stellt den Zeilenschlüssel dar. Zu dieser Webseite können in Spalten Eigenschaften gespeichert werden, wie z.b. deren Inhalt (eine sogenannte Column Family). Diesen Werten wird dann noch ein Zeitstempel zugewiesen: In diesem Fall der Zeitpunkt, an dem der Crawler diese Information gespeichert hat. Das Design von BigTable ist darauf ausgelegt, einer Vielzahl von Anforderungen gerecht zu werden. Eine konstante Anforderung deutet schon der Name an: Es geht um die horizontale Skalierung sehr großer Datenmengen. n HBase Hierbei handelt es sich um ein Open Source-Projekt unter Apache 2.0-Lizenz, dessen Hauptentwickler mittlerweile für Microsoft arbeiten. HBase orientiert sich sehr stark an BigTable und kann für die dazu nötigen Komponenten auf schon etablierte Open Source-Projekte wie Seite 5/9 NoSQL whitepaper

6 Abbildung 3: Wide Column Store das verteilte Dateisystem Hadoop zurückgreifen. HBase wird bei vielen großen Firmen wie z.b. Yahoo intensiv genutzt und gilt als sehr stabil. Durch die Orientierung an BigTable ist das System sehr einfach horizontal skalierbar. Allerdings sind Installation und Betrieb aller Komponenten aufwändig, was für kleine Installationen eher unrentabel ist. Entschließt man sich trotzdem für HBase, findet man mit MassiveRecord ORM-Support für Ruby- Anwendungen vor. Auch eine Integration in das Spring Data-Projekt ist geplant. n Amazon Simple DB Falls ein Wide Column Store die richtige Lösung für ein Persistenzproblem darstellt, aber die Datenmenge oder sonstige Rahmenbedingungen nicht den Aufbau eines solchen Systems lohnen, ist die Product-as-a-Service-Lösung Amazon Simple DB eine gute Alternative. Hier zahlt man rein nach Nutzung (belegter Speicher, Übertragungsvolumen und Rechenzeit für Abfragen) und kann festlegen, in welchen Rechenzentren die Daten vorgehalten werden. Die Daten lassen sich über ein einfaches Interface via REST oder SOAP abfragen, und es werden Schnittstellenbibliotheken für viele gängige Programmiersprachen zur Verfügung gestellt. Amazon Simple DB ist vor allem dann interessant, wenn man für dasselbe Projekt bereits andere Amazon Web Services-Dienste verwendet, da die Produkte über eine gute Integration verfügen. AWS stellt für alle gängigen Programmiersprachen entsprechende SDKs bereit. Graph DBs Viele Leser werden sich bei dem Begriff des Graphen sofort an das Studium erinnert fühlen: Das Königsberger Brückenproblem oder Traveling Salesman stellen meist erste Berührungspunkte mit dem Ansatz dar, ein komplexes Problem auf die abstrakte Form von Knoten und deren Relationen, den sogenannten Kanten, anzuwenden. Praktische Erfahrungen, die aus diesem Ansatz resultieren, werden erfolgreich in Logistik, technischen und sozialen Netzwerken sowie in vielen anderen Berei- Seite 6/9 NoSQL whitepaper

7 chen eingesetzt. objektorientierte oder XML-Datenbanken. Darüber hinaus entstehen ständig neue Projekte, und bestehende Lösungen werden fortentwickelt, so dass jede Beschreibung zwangsläufig nur eine Momentaufnahme darstellen kann. Orientierung in der neuen Datenbankwelt Die Vielfalt der schönen neuen Datenbankwelt erscheint zu Anfang überwältigend. Aber die zur Verfügung stehenden Möglichkeiten sind nicht nur zahlreicher, sondern auch deutlich vielfältiger geworden. Darum fällt die Analyse leichter, als sie im ersten Moment vielleicht erscheint. Es sind zwar viele neue Datenbanken verfügbar, aber diese sind wesentlich differenzierter und das machtauch die Auswahl einfacher. Abbildung 4: Wide Column Store Die Entwicklung von Graph DBs begründet sich darin, dass sich die genannten Strukturen nur sehr schlecht mit anderen Datenbanken abbilden lassen. Darüber hinaus bieten Graph DBs spezialisierte Interfaces an, die die Arbeit mit der Datenstruktur wesentlich erleichtern. Graphen, die in diesen Datenbanken verarbeitet werden, werden weithin Property Graphs genannt und bieten vielfältige Möglichkeiten zur Abbildung komplexer Beziehungen. n Neo4J Im vergleichsweise jungen Feld der Graph DBs ist Neo4J das auffälligste Projekt, da es schon seit einigen Jahren im Produktiveinsatz ist. Neo4J ist eine Entwicklung der Neo Technology, die das Projekt unter der AGPL v3 freigegeben hat und auch kommerzielle Lizenzen anbietet. Neo4J zeichnet eignet sich sowohl für den eingebetteten Betrieb als auch für den Einsatz als Server. Für den Fall, dass die Kapazität eines Servers nicht ausreicht, bietet Neo4J die Möglichkeit der Replizierung durch einen Master auf mehrere Slaves. Wenn auch Schreibvorgänge auf mehrere Maschinen verteilt werden sollen, gibt es nur die von relationalen Datenbanken bekannte Lösung des Shardings als mögliches Mittel. Neo4J ist in Java implementiert und bietet neben einer Java-Schnittstelle auch eine API für viele andere Programmiersprachen und via REST an. Mit Spring Data Neo4J steht auch ein weitergehende Integration für Java-Projekte bereit. Und sonst? Neben den beschriebenen Kategorien gibt es noch eine Vielzahl anderer Gruppen von NoSQL-Vertretern, wie No more SQL? In jeder IT-Landschaft dürfte es eine große Anzahl von Persistierungsaufgaben geben, für die im Moment relationale Datenbanken eingesetzt werden. Müssen diese nun alle auf den Prüfstand gestellt werden? Die klare Antwort lautet: Jein! Man kann getrost der Prämisse folgen, dass man keine Probleme lösen sollte, die man nicht hat: Wenn die implementierten Lösungen gut funktionieren, gibt es schließlich keinen Grund, sie abzulösen, selbst wenn eine relationale Datenbank nicht mehr die perfekte Lösung zu sein scheint, wenn man sich die neuen Möglichkeiten vor Augen hält. Völlig anders stellt sich die Situation dar, wenn bestehende Systeme durch wiederkehrende Probleme auf sich aufmerksam machen oder neue Projekte in Angriff genommen werden. In diesen Fällen ist es durchaus sinnvoll, die klassische relationale Datenbank gegen die NoSQL-Alternative abzuwägen. In diesem Zusammenhang sollte man sich einer Reihe einfacher Fragen beantworten: Welche Mindestanforderungen bestehen an das Transaktionsmodell: Kann auf ein bestimmtes Maß an Konsistenz verzichtet werden und wie wichtig ist dagegen die Verfügbarkeit der Datenbank? Wie hoch ist die zu erwartende oder aktuelle Datenmenge? Zwar werden nur wenige Unternehmen mit Daten im Petabytebereich konfrontiert, aber die Leistungsgrenze eines einzelnen Servers ist schon deutlich unterhalb dieser Marke erreicht. Wie viele Anfragen welcher Art sind zu erwarten? Neben einer hohen Datenmenge kann eine sehr hohe Zahl an Abfragen dazu führen, dass horizontale Skalierbarkeit wünschenswert ist. Seite 7/9 NoSQL whitepaper

8 Ebenso ist die Struktur der Abfragen interessant, da dies einen Hinweis darauf geben kann, inwieweit man von Caching profitieren kann. Während relationale Datenbanken hier meist auf einen eingebauten Query Cache setzen, kann man bei den meisten NoSQL-Alternativen auf die schon aus dem Web bewährten Lösungen innerhalb des HTTP-Protokolls zurückgreifen, was wesentlich flexibler ist. Ist das strenge, relationale Datenbankschema ein Vorteil oder ein Nachteil bei der Lösung des vorliegenden Problems? Werden eine Vielzahl von Constraints festgelegt und man ist froh sich über deren Einhaltung sicher zu sein, oder führen häufige Downtimes wegen Schemaänderungen bereits zu Kopfzerbrechen und Denormalisierung der Tabellenstruktur? Entsprechen die Daten im Wesentlichen einem relationalen Modell oder müssen die Daten mühsam diesem Modell angepasst werden? Falls Letzteres zutrifft, ist es wahrscheinlich, dass einer der bisher beschriebenen NoSQL-Vertreter das Problem besser lösen kann. Also NoSQL und nun? Wenn sich als Ergebnis einer ersten Analyse eine relationale Datenbank als eher ungeeignetes Werkzeug erweist, ist zwar ein erster Schritt getan, aber nun steht man vor der nächsten Entscheidung: Welche NoSQL- Familie ist die richtige? Auch hier hilft die Vielfalt der verschiedenen Ansätze weiter: Zunächst ist es sehr hilfreich, die Struktur der zu persistierenden Daten zu betrachten und sich zu vergegenwärtigen, wie auf diese zugegriffen werden muss. In vielen Fällen wird man dadurch schnell eine der oben beschriebenen Kategorien ausmachen, denn was liegt z.b. näher als eine Struktur, die sich durch einen Graphen abbilden lässt, auch in einer entsprechenden Graph DB zu speichern? Dies gilt vor allem, wenn sich die Operationen auf den Daten sehr gut durch Operationen auf dem Graphen umsetzen lassen. Dabei ist es wichtig, einen Trade-off zu beachten: Je komplizierter das Datenmodell, desto komplexer werden auch die umsetzenden Datenbanken und deren Skalierung. Wenn mal also mit einem simplen Key/Value-Store auskommen kann, so ist es unbedingt empfehlenswert, dies auch zu tun. Der letzte Schritt Im letzten Schritt muss noch zwischen den verschiedenen Vertretern einer Familie gewählt werden. An dieser Stelle gibt es eine Reihe von einfach prüfbaren Kriterien, die in vielen Fällen nur noch einen oder wenige ausgesuchte Kandidaten übrig lassen dürften: In vielen Organisationen können Technologien nur eingesetzt werden, wenn hierfür auch Support geboten wird. Bei einigen Open Source-Projekten ist dies noch nicht der Fall, weshalb diese dann keine Alternativen darstellen. Die meisten NoSQL-Projekte verwenden Lizenzen, die den Nutzern sehr weitgehende Rechte einräumen. Trotzdem ist natürlich im einzelnen zu prüfen, ob die rechtlichen Voraussetzungen für den Einsatz gegeben sind. Falls das Betriebssystem, auf dem die Datenbank installiert werden soll, nicht frei wählbar ist, kann es sich dabei um ein einfaches Ausschlusskriterium handeln: Während Linux kaum ein Problem darstellt, ist es durchaus möglich, dass einige der Kandidaten unter Windows oder seltener eingesetzten Unix- Varianten nicht unterstützt werden. Der Tool-Support ist ein weiteres Kriterium, das unter Umständen im ersten Moment vergessen wird, aber dennoch sehr relevant sein kann. So bieten die meisten der vorgestellten Datenbanken sehr guten Support für Backups, bei der Unterstützung von dynamischen Abfragen und der Rechteverwaltung gibt es aber deutliche Unterschiede. Ein starkes Argument kann auch der Vergleich des Einarbeitungsaufwandes sein. Finden Entwickler und Administratoren viele vertraute Technologien wieder oder sind die verwendeten Ansätze zum großen Teil fremd und damit der Einarbeitungsaufwand entsprechend hoch? Neben diesen Kriterien kann man natürlich noch viele weitere anführen, aber die erwähnten Punkte sind eine gute Unterstützung bei der ersten Orientierung in der wachsenden NoSQL-Welt. Zusammenfassung NoSQL ist ein Sammelbegriff, unter dem die verschiedenen nicht relationalen Datenbanksysteme versammelt werden. Jede von ihnen dient vornehmlich einem einzigen Zweck: eine hochspezialisierte Lösung für ein sehr spezifisches Problem bereitzustellen. Das bedeutet im Umkehrschluss, dass andererseits jeder Datenbanktyp in seinen Anwendungsmöglichkeiten limitiert ist, wenn man bei optimalen Lösungsansätzen bleibt und keine Kompromisse eingehen möchte. Wer sich die Mühe macht, seine Anforderungen genau zu analysieren und seine Möglichkeiten sorgfältig zu prüfen, wird mit einer idealen Persistenzlösung belohnt werden. Seite 8/9 NoSQL whitepaper

9 Die Autoren Carl Anders Düvel ist Consultant bei der Holisticon AG, dabei arbeitet er vor allem im JavaEE-, Spring- und Webprojekten. Er hat zusammen mit seinen Kollegen ein Buch über EJB 3.1 geschrieben und bloggt regelmäßig unter blog.holisticon.de und carlduevel.net. Enno Thieleke arbeitet als Berater bei der Holisticon AG. Als Architekt und Entwickler unterstützt er Unternehmen u.a. bei der Einführung und Umsetzung von Geschäftsprozessen und deckt dabei ein breites Spektrum von Technologien ab, wobei sein Schwerpunkt auf J2EE/JEE liegt. Kontakt Holisticon AG Griegstraße 75 / Haus Hamburg Seite 9/9 NoSQL whitepaper

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik

ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik ARFA ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten

Mehr

Überblick und Vergleich von NoSQL. Datenbanksystemen

Überblick und Vergleich von NoSQL. Datenbanksystemen Fakultät Informatik Hauptseminar Technische Informationssysteme Überblick und Vergleich von NoSQL Christian Oelsner Dresden, 20. Mai 2011 1 1. Einführung 2. Historisches & Definition 3. Kategorien von

Mehr

NoSQL. Was Architekten beachten sollten. Dr. Halil-Cem Gürsoy adesso AG. Architekturtag @ SEACON 2012 Hamburg

NoSQL. Was Architekten beachten sollten. Dr. Halil-Cem Gürsoy adesso AG. Architekturtag @ SEACON 2012 Hamburg NoSQL Was Architekten beachten sollten Dr. Halil-Cem Gürsoy adesso AG Architekturtag @ SEACON 2012 Hamburg 06.06.2012 Agenda Ein Blick in die Welt der RDBMS Klassifizierung von NoSQL-Datenbanken Gemeinsamkeiten

Mehr

Stefan Edlich Achim Friedland Jens Rampe Benjamin Brauer. NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken HANSER

Stefan Edlich Achim Friedland Jens Rampe Benjamin Brauer. NoSQL. Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken HANSER Stefan Edlich Achim Friedland Jens Rampe Benjamin Brauer NoSQL Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken HANSER Geleitwort 1 Vorwort 1 1 Einführung 1 1.1 Historie 1 1.2 Definition und

Mehr

NoSQL HANSER. Einstieg in die Web 2.0 Datenbanken. Stefan Edlich Achim Friedland Jens Hampe Benjamin Brauer Markus Brückner

NoSQL HANSER. Einstieg in die Web 2.0 Datenbanken. Stefan Edlich Achim Friedland Jens Hampe Benjamin Brauer Markus Brückner Stefan Edlich Achim Friedland Jens Hampe Benjamin Brauer Markus Brückner NoSQL Einstieg in die Web 2.0 Datenbanken 2., akutalisierte und erweiterte Auflage HANSER Geleitwort Vorwort Vorwort zur 2. Auflage

Mehr

Datenbanksysteme Kapitel 6: Neue Konzepte der Datenbanktechnologie

Datenbanksysteme Kapitel 6: Neue Konzepte der Datenbanktechnologie Datenbanksysteme Kapitel 6: Neue Konzepte der Datenbanktechnologie Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter

Mehr

Oracle Big Data Technologien Ein Überblick

Oracle Big Data Technologien Ein Überblick Oracle Big Data Technologien Ein Überblick Ralf Lange Global ISV & OEM Sales NoSQL: Eine kurze Geschichte Internet-Boom: Erste Ansätze selbstgebauter "Datenbanken" Google stellt "MapReduce"

Mehr

25.09.2014. Zeit bedeutet eine Abwägung von Skalierbarkeit und Konsistenz

25.09.2014. Zeit bedeutet eine Abwägung von Skalierbarkeit und Konsistenz 1 2 Dies ist ein Vortrag über Zeit in verteilten Anwendungen Wir betrachten die diskrete "Anwendungszeit" in der nebenläufige Aktivitäten auftreten Aktivitäten in einer hochgradig skalierbaren (verteilten)

Mehr

Aktuelle SE Praktiken für das WWW

Aktuelle SE Praktiken für das WWW Aktuelle SE Praktiken für das WWW SQL vs. NoSQL W. Mark Kubacki 23.06.2010 Gliederung Zusammenfassung Entstehungsgeschichte SQL vs. NoSQL Systemarchitekturen und Wachstumsmuster SQL NoSQL Überblick und

Mehr

ISBN: 978-3-8428-0679-5 Herstellung: Diplomica Verlag GmbH, Hamburg, 2011

ISBN: 978-3-8428-0679-5 Herstellung: Diplomica Verlag GmbH, Hamburg, 2011 Nils Petersohn Vergleich und Evaluation zwischen modernen und traditionellen Datenbankkonzepten unter den Gesichtspunkten Skalierung, Abfragemöglichkeit und Konsistenz Diplomica Verlag Nils Petersohn Vergleich

Mehr

SQL- & NoSQL-Datenbanken. Speichern und Analysen von großen Datenmengen

SQL- & NoSQL-Datenbanken. Speichern und Analysen von großen Datenmengen SQL- & NoSQL-Datenbanken Speichern und Analysen von großen Datenmengen 1 04.07.14 Zitat von Eric Schmidt (Google CEO): There was 5 exabytes of information created between the dawn of civilization through

Mehr

NoSQL & Big Data. NoSQL Databases and Big Data. NoSQL vs SQL DBs. NoSQL DBs - Überblick. Datenorientierte Systemanalyse. Gerhard Wohlgenannt

NoSQL & Big Data. NoSQL Databases and Big Data. NoSQL vs SQL DBs. NoSQL DBs - Überblick. Datenorientierte Systemanalyse. Gerhard Wohlgenannt NoSQL & Big Data Datenorientierte Systemanalyse NoSQL Databases and Big Data Gerhard Wohlgenannt Die besprochenen Systeme haben nicht den Anspruch und das Ziel DBS zu ersetzen, sondern für gewisse Anwendungsfälle

Mehr

NoSQL Databases and Big Data

NoSQL Databases and Big Data Datenorientierte Systemanalyse NoSQL Databases and Big Data Gerhard Wohlgenannt NoSQL & Big Data Die besprochenen Systeme haben nicht den Anspruch und das Ziel DBS zu ersetzen, sondern für gewisse Anwendungsfälle

Mehr

Complex Hosting. Whitepaper. Autor.: Monika Olschewski. Version: 1.0 Erstellt am: 14.07.2010. ADACOR Hosting GmbH

Complex Hosting. Whitepaper. Autor.: Monika Olschewski. Version: 1.0 Erstellt am: 14.07.2010. ADACOR Hosting GmbH Complex Hosting Autor.: Monika Olschewski Whitepaper Version: 1.0 Erstellt am: 14.07.2010 ADACOR Hosting GmbH Kaiserleistrasse 51 63067 Offenbach am Main info@adacor.com www.adacor.com Complex Hosting

Mehr

Big Data Mythen und Fakten

Big Data Mythen und Fakten Big Data Mythen und Fakten Mario Meir-Huber Research Analyst, IDC Copyright IDC. Reproduction is forbidden unless authorized. All rights reserved. About me Research Analyst @ IDC Author verschiedener IT-Fachbücher

Mehr

Apache HBase. A BigTable Column Store on top of Hadoop

Apache HBase. A BigTable Column Store on top of Hadoop Apache HBase A BigTable Column Store on top of Hadoop Ich bin... Mitch Köhler Selbstständig seit 2010 Tätig als Softwareentwickler Softwarearchitekt Student an der OVGU seit Oktober 2011 Schwerpunkte Client/Server,

Mehr

Einführung. Kapitel 1 2 / 508

Einführung. Kapitel 1 2 / 508 Kapitel 1 Einführung 2 / 508 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern und Verwalten von Daten. Warum kein herkömmliches Dateisystem verwenden? Ausfallsicherheit und Skalierbarkeit

Mehr

NoSQL-Datenbanken. Kapitel 1: Einführung. Lars Kolb Sommersemester 2014. Universität Leipzig http://dbs.uni-leipzig.de 1-1

NoSQL-Datenbanken. Kapitel 1: Einführung. Lars Kolb Sommersemester 2014. Universität Leipzig http://dbs.uni-leipzig.de 1-1 NoSQL-Datenbanken Kapitel 1: Einführung Lars Kolb Sommersemester 2014 Universität Leipzig http://dbs.uni-leipzig.de 1-1 Inhaltsverzeichnis NoSQL-Datenbanken Motivation und Definition Kategorisierung, Eigenschaften

Mehr

Einführung in CouchDB

Einführung in CouchDB Einführung in CouchDB Zurücklehnen und entspannen! http://slog.io Thomas Schrader (@slogmen) 12/2010 Übersicht Bestandsaufnahme Ansatz Geschichte Technologien Features Skalierbarkeit Kurz & Gut Fazit Relationale

Mehr

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2

Seminar Cloud Data Management WS09/10. Tabelle1 Tabelle2 Seminar Cloud Data Management WS09/10 Tabelle1 Tabelle2 1 Einführung DBMS in der Cloud Vergleich verschiedener DBMS Beispiele Microsoft Azure Amazon RDS Amazon EC2 Relational Databases AMIs Was gibt es

Mehr

Charakteristika und Vergleich von SQL- und NoSQL- Datenbanken

Charakteristika und Vergleich von SQL- und NoSQL- Datenbanken Universität Leipzig Fakultät für Mathematik und Informatik Abteilung Datenbanken Dozent: Prof. Dr. Erhard Rahm Betreuer: Stefan Endrullis Problemseminar NoSQL-Datenbanken Semester: WS 11/12 Charakteristika

Mehr

Algorithmen. Consistent Hashing Bloom Filter MapReduce. Distributed Hash Tables. Einführung 1

Algorithmen. Consistent Hashing Bloom Filter MapReduce. Distributed Hash Tables. Einführung 1 Algorithmen Consistent Hashing Bloom Filter MapReduce Distributed Hash Tables Einführung 1 Consistent Hashing Problem: Wie finde ich den Speicherort für ein Objekt in einem verteilten System mit n Knoten?

Mehr

NoSQL-Databases. Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de

NoSQL-Databases. Präsentation für Advanced Seminar Computer Engineering, Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de NoSQL-Databases Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de Klassische SQL-Datenbanken Anwendungsgebiet: Geschäftsanwendungen Behördenanwendungen

Mehr

Soziotechnische Informationssysteme

Soziotechnische Informationssysteme Soziotechnische Informationssysteme 8. NoSQL Relationale Datenbank NoSQL Datenbank Relationale Datenbank? NoSQL Datenbank RDBM 2 Warum? Skalierbarkeit Riesige Datenmengen Performanz und Elastizität Auslastung

Mehr

Clouds. Erwartungen der Nutzer. Wolkig bis Heiter. (c) 2013, Peter Sturm, Universität Trier. Er ist verwöhnt! Er ist nicht dankbar!

Clouds. Erwartungen der Nutzer. Wolkig bis Heiter. (c) 2013, Peter Sturm, Universität Trier. Er ist verwöhnt! Er ist nicht dankbar! Clouds Wolkig bis Heiter Erwartungen der Nutzer Er ist verwöhnt! Verfügbarkeit Viele Anwendungen Intuitive Interfaces Hohe Leistung Er ist nicht dankbar! Mehr! Mehr! Mehr! Moore 1 Erwartungen der Entwickler

Mehr

Sind Cloud Apps der nächste Hype?

Sind Cloud Apps der nächste Hype? Java Forum Stuttgart 2012 Sind Cloud Apps der nächste Hype? Tillmann Schall Stuttgart, 5. Juli 2012 : Agenda Was sind Cloud Apps? Einordnung / Vergleich mit bestehenden Cloud Konzepten Live Demo Aufbau

Mehr

SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen

SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen Lennart Leist Inhaltsverzeichnis 1 Einführung 2 1.1 Aufgaben einer Datenbank...................... 2 1.2 Geschichtliche Entwicklung

Mehr

Prof. Dr.-Ing. Rainer Schmidt 1

Prof. Dr.-Ing. Rainer Schmidt 1 Prof. Dr.-Ing. Rainer Schmidt 1 Business Analytics und Big Data sind Thema vieler Veröffentlichungen. Big Data wird immer häufiger bei Google als Suchbegriff verwendet. Prof. Dr.-Ing. Rainer Schmidt 2

Mehr

Wide Column Stores. Felix Bruckner Mannheim, 15.06.2012

Wide Column Stores. Felix Bruckner Mannheim, 15.06.2012 Wide Column Stores Felix Bruckner Mannheim, 15.06.2012 Agenda Einführung Motivation Grundlagen NoSQL Grundlagen Wide Column Stores Anwendungsfälle Datenmodell Technik Wide Column Stores & Cloud Computing

Mehr

Der Cloud-Dienst Windows Azure

Der Cloud-Dienst Windows Azure Der Cloud-Dienst Windows Azure Master-Seminar Cloud Computing Wintersemester 2013/2014 Sven Friedrichs 07.02.2014 Sven Friedrichs Der Cloud-Dienst Windows Azure 2 Gliederung Einleitung Aufbau und Angebot

Mehr

Die Grundbegriffe Die Daten Die Informationen

Die Grundbegriffe Die Daten Die Informationen Die Grundbegriffe Die Daten sind diejenigen Elemente, die vom Computer verarbeitet werden. Die Informationen sind Wissenselemente, welche durch die Analyse von Daten erhalten werden können. Die Daten haben

Mehr

EHCache und Terracotta. Jochen Wiedmann, Software AG

EHCache und Terracotta. Jochen Wiedmann, Software AG EH und Terracotta Jochen Wiedmann, Software AG Autor Perl-Contributor DBD::mySQL 2, DBI::Proxy, DBI::Shell, DBD::CSV, Net::Daemon, RPC::Pl(Client Server) (Autor) DBI (Developer) ASF-Member (Apache Software

Mehr

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering Azure und die Cloud Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat Institut für Informatik Software & Systems Engineering Agenda Was heißt Cloud? IaaS? PaaS? SaaS? Woraus besteht

Mehr

Peter Dikant mgm technology partners GmbH. Echtzeitsuche mit Hadoop und Solr

Peter Dikant mgm technology partners GmbH. Echtzeitsuche mit Hadoop und Solr Peter Dikant mgm technology partners GmbH Echtzeitsuche mit Hadoop und Solr ECHTZEITSUCHE MIT HADOOP UND SOLR PETER DIKANT MGM TECHNOLOGY PARTNERS GMBH WHOAMI peter.dikant@mgm-tp.com Java Entwickler seit

Mehr

Institut für Verteilte Systeme

Institut für Verteilte Systeme Institut für Verteilte Systeme Prof. Dr. Franz Hauck Seminar: Multimedia- und Internetsysteme, Wintersemester 2010/11 Betreuer: Jörg Domaschka Bericht zur Seminarssitzung am 2011-01-31 Bearbeitet von :

Mehr

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015 Abstrakt zum Vortrag im Oberseminar Graphdatenbanken Gero Kraus HTWK Leipzig 14. Juli 2015 1 Motivation Zur Darstellung komplexer Beziehungen bzw. Graphen sind sowohl relationale als auch NoSQL-Datenbanken

Mehr

Web Technologien NoSQL Datenbanken

Web Technologien NoSQL Datenbanken Web Technologien NoSQL Datenbanken Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00 10:00 a.m. Room HS 021, B4

Mehr

Java Forum Stuttgart 2013 Kai.Spichale@adesso.de twitter.com/kspichale spichale.blogspot.de

Java Forum Stuttgart 2013 Kai.Spichale@adesso.de twitter.com/kspichale spichale.blogspot.de NoSQL für Java-Entwickler Java Forum Stuttgart 2013 Kai.Spichale@adesso.de twitter.com/kspichale spichale.blogspot.de 23.06.2013 Agenda Datengröße Key-value Stores 1. Wide Column 2. Cassandra Document

Mehr

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

Mehr

Eine Einführung in Apache CouchDB. Java-Forum Stuttgart 2011

Eine Einführung in Apache CouchDB. Java-Forum Stuttgart 2011 Eine Einführung in Apache CouchDB Java-Forum Stuttgart 2011 Johannes Schneider, cedarsoft GmbH js@cedarsoft.com http://blog.cedarsoft.com http://cedarsoft.com Vielen Dank CouchDB The VERY Basics Vorerfahrung?

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Mobile: Die Königsfrage

Mobile: Die Königsfrage Mobile: Die Königsfrage - Native App,Mobile Website oder doch Responsive Design? - Native App oder Mobile Website? Wer am Boom der mobilen Anwendungen teilhaben möchte, hat im Prinzip zwei Möglichkeiten:

Mehr

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

SimpleVOC-Yetanother. Bausteine für eine Key/Value- Datenbank 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

Mehr

Vorlesung 30.03.2009 1) Einführung

Vorlesung 30.03.2009 1) Einführung Vorlesung 30.03.2009 1) Einführung Was versteht man unter dem Begriff Datenbank? - Eine Datenbank ist eine Struktur zur Speicherung von Daten mit lesendem und schreibendem Zugriff - Allgemein meint man

Mehr

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de 3.12.09 HKInformationsverarbeitung Kurs: Datenbanken vs. MarkUp WS 09/10 Dozent: Prof. Dr. M. Thaller XINDICE The Apache XML Project Inhalt Native

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

BigTable. 11.12.2012 Else

BigTable. 11.12.2012 Else BigTable 11.12.2012 Else Einführung Distributed Storage System im Einsatz bei Google (2006) speichert strukturierte Daten petabyte-scale, > 1000 Nodes nicht relational, NoSQL setzt auf GFS auf 11.12.2012

Mehr

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Ein Beispiel Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Dipl.-Kfm. Claus Häberle WS 2015 /16 # 42 XML (vereinfacht) visa

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

DATENBANK LÖSUNGEN. mit Azure. Peter Schneider Trainer und Consultant. Lernen und Entwickeln. www.egos.co.at

DATENBANK LÖSUNGEN. mit Azure. Peter Schneider Trainer und Consultant. Lernen und Entwickeln. www.egos.co.at DATENBANK LÖSUNGEN mit Azure Peter Schneider Trainer und Consultant Agenda Cloud Services, Data Platform, Azure Portal Datenbanken in Virtuelle Maschinen Azure SQL Datenbanken und Elastic Database Pools

Mehr

Cloud-Plattform: Appscale Hochschule Mannheim

Cloud-Plattform: Appscale Hochschule Mannheim Florian Weispfenning Cloud-Computing Seminar Hochschule Mannheim WS0910 1/28 Cloud-Plattform: Appscale Hochschule Mannheim Florian Weispfenning Fakultät für Informatik Hochschule Mannheim florian.weispfenning@stud.hs-mannheim.de

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Kein blasses Schema? NoSQL und Big Data mit Hibernate OGM

Kein blasses Schema? NoSQL und Big Data mit Hibernate OGM Kein blasses Schema? NoSQL und Big Data mit Hibernate OGM Thomas Much thomas@muchsoft.com www.muchsoft.com 1 NoSQL und Big Data Herzlich Willkommen in der NoSQL-Welt OnlySQL Not 2 NoSQL und Big Data NoSQL

Mehr

Verteilte Systeme - 5. Übung

Verteilte Systeme - 5. Übung Verteilte Systeme - 5. Übung Dr. Jens Brandt Sommersemester 2011 Transaktionen a) Erläutere was Transaktionen sind und wofür diese benötigt werden. Folge von Operationen mit bestimmten Eigenschaften: Atomicity

Mehr

Hadoop. Eine Open-Source-Implementierung von MapReduce und BigTable. von Philipp Kemkes

Hadoop. Eine Open-Source-Implementierung von MapReduce und BigTable. von Philipp Kemkes Hadoop Eine Open-Source-Implementierung von MapReduce und BigTable von Philipp Kemkes Hadoop Framework für skalierbare, verteilt arbeitende Software Zur Verarbeitung großer Datenmengen (Terra- bis Petabyte)

Mehr

Datenbanken (WS 2015/2016)

Datenbanken (WS 2015/2016) Datenbanken (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

Mehr

NoSQL. Einblick in die Welt nicht-relationaler Datenbanken. Christoph Föhrdes. UnFUG, SS10 17.06.2010

NoSQL. Einblick in die Welt nicht-relationaler Datenbanken. Christoph Föhrdes. UnFUG, SS10 17.06.2010 NoSQL Einblick in die Welt nicht-relationaler Datenbanken Christoph Föhrdes UnFUG, SS10 17.06.2010 About me Christoph Föhrdes AIB Semester 7 IRC: cfo #unfug@irc.ghb.fh-furtwangen.de netblox GbR (http://netblox.de)

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

The R(E)volution of Data Stores

The R(E)volution of Data Stores The R(E)volution of Data Stores Willkommen Schön, dass sie in diese Session kommen, ich bin Dominik Wagenknecht NoSQL Initiative Lead Technology Architect Accenture Wien Mobil: +43 676 8720 33921 dominik.wagenknecht@accenture.com

Mehr

Teil VI. Datenbanken

Teil VI. Datenbanken Teil VI Datenbanken Überblick 1 Grundlegende Begriffe Motivation 2 Relationale Datenbanksysteme Das Relationale Datenmodell SQL 3 Entwurf von Datenbanken Das Enity Relationship (ER) Modell Abbildung von

Mehr

Dokumentenorientierte Datenbanken - MongoDB

Dokumentenorientierte Datenbanken - MongoDB Dokumentenorientierte Datenbanken - MongoDB Jan Hentschel Ultra Tendency UG Übersicht Dokumente sind unabhängige Einheiten Bessere Performance (zusammengehörige Daten werden gemeinsam gelesen) Objektmodell

Mehr

Oracle Warehouse Builder 3i

Oracle Warehouse Builder 3i Betrifft Autoren Art der Info Oracle Warehouse Builder 3i Dani Schnider (daniel.schnider@trivadis.com) Thomas Kriemler (thomas.kriemler@trivadis.com) Technische Info Quelle Aus dem Trivadis Technologie

Mehr

Software as a Service, Cloud Computing und aktuelle Entwicklungen Seminarvorbesprechung

Software as a Service, Cloud Computing und aktuelle Entwicklungen Seminarvorbesprechung Software as a Service, Cloud Computing und aktuelle Entwicklungen Seminarvorbesprechung A. Göbel, Prof. K. Küspert Friedrich-Schiller-Universität Fakultät für Mathematik und Informatik Lehrstuhl für Datenbanken

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Property-Graph-Databases. 20 Jahre praktische Erfahrung

Property-Graph-Databases. 20 Jahre praktische Erfahrung Property-Graph-Databases 20 Jahre praktische Erfahrung Agenda Was sind die Bausteine der Property- Graph-Database Aspekte der Architektur und der Implementierung Möglichkeiten, Vor- und Nachteile von PG-

Mehr

Diplomarbeit: Open Source Rapid Web Development Frameworks - Eine Untersuchung der Skalierungsstrategien

Diplomarbeit: Open Source Rapid Web Development Frameworks - Eine Untersuchung der Skalierungsstrategien Diplomarbeit: Open Source Rapid Web Development Frameworks - Eine Untersuchung der Skalierungsstrategien Ergebnispräsentation Kolloquium Ralf Geschke FOM Köln 27.04.2009 Gliederung Einleitung Vorgehensweise

Mehr

SQL, MySQL und FileMaker

SQL, MySQL und FileMaker SQL, MySQL und FileMaker Eine kurze Einführung in SQL Vorstellung von MySQL & phpmyadmin Datenimport von MySQL in FileMaker Autor: Hans Peter Schläpfer Was ist SQL? «Structured Query Language» Sprache

Mehr

1. Einführung. Datenbanken Grundlagen

1. Einführung. Datenbanken Grundlagen 1. Einführung Datenbanken Grundlagen Wo finden wir Datenbanken? Was sind Datenbanken/ Datenbankensysteme(DBS)? A collection of related data items mit folgenden Eigenschaften: Eine Datebank repräsentiert

Mehr

Extended Abstract Obserseminar: Datenbanksysteme - Aktuelle Trends. Cloud-Datenbanken. Franz Anders 02.07.2015

Extended Abstract Obserseminar: Datenbanksysteme - Aktuelle Trends. Cloud-Datenbanken. Franz Anders 02.07.2015 Extended Abstract Obserseminar: Datenbanksysteme - Aktuelle Trends Cloud-Datenbanken Franz Anders 02.07.2015 Dies ist das erweiterte Abstract zum Vortrag Cloud-Datenbanken für das Oberseminar Datenbanksysteme

Mehr

Datenbanken und SQL. Kapitel 1. Übersicht über Datenbanken. Edwin Schicker: Datenbanken und SQL (1)

Datenbanken und SQL. Kapitel 1. Übersicht über Datenbanken. Edwin Schicker: Datenbanken und SQL (1) Datenbanken und SQL Kapitel 1 Übersicht über Datenbanken Übersicht über Datenbanken Vergleich: Datenorganisation versus Datenbank Definition einer Datenbank Bierdepot: Eine Mini-Beispiel-Datenbank Anforderungen

Mehr

Von Der Idee bis zu Ihrer App

Von Der Idee bis zu Ihrer App Von Der Idee bis zu Ihrer App Solid Apps Von Der Idee bis zu Ihrer App Konzeption, Design & Entwicklung von Applikationen für alle gängigen Smartphones & Tablets Sowie im Web - alles aus einer Hand! In

Mehr

Apache Lucene. Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org

Apache Lucene. Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org Apache Lucene Mach s wie Google! Bernd Fondermann freier Software Architekt bernd.fondermann@brainlounge.de berndf@apache.org 1 Apache Apache Software Foundation Software free of charge Apache Software

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

scmsp SMARTES Content-Management-System Bestimmtes kann und das dafür sehr gut. Bei der Konzeption des blockcms stand die Einfachheit im Vordergrund:

scmsp SMARTES Content-Management-System Bestimmtes kann und das dafür sehr gut. Bei der Konzeption des blockcms stand die Einfachheit im Vordergrund: scmsp SMARTES Content-Management-System blockcms steht für Block Content Management System Wir brauchen kein CMS, das alles kann, sondern eines, das nur Bestimmtes kann und das dafür sehr gut. Bei der

Mehr

Dateisysteme und Datenverwaltung in der Cloud

Dateisysteme und Datenverwaltung in der Cloud Dateisysteme und Datenverwaltung in der Cloud Sebastian Fischer Master-Seminar Cloud Computing - WS 2013/14 Institut für Telematik, Universität zu Lübeck Dateisysteme und Datenverwaltung in der Cloud 1

Mehr

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Begriff DBS Datenbankmodelle Datenbankentwurf konzeptionell, logisch und relational

Mehr

Die Cloud, die für Ihr Unternehmen geschaffen wurde.

Die Cloud, die für Ihr Unternehmen geschaffen wurde. Die Cloud, die für Ihr Unternehmen geschaffen wurde. Das ist die Microsoft Cloud. Jedes Unternehmen ist einzigartig. Ganz gleich, ob im Gesundheitssektor oder im Einzelhandel, in der Fertigung oder im

Mehr

Was ist Windows Azure? (Stand Juni 2012)

Was ist Windows Azure? (Stand Juni 2012) Was ist Windows Azure? (Stand Juni 2012) Windows Azure Microsofts Cloud Plattform zu Erstellung, Betrieb und Skalierung eigener Cloud-basierter Anwendungen Cloud Services Laufzeitumgebung, Speicher, Datenbank,

Mehr

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken Profilbezogene informatische Bildung in den Klassenstufen 9 und 10 Schwerpunktthema Robby Buttke Fachberater für Informatik RSA Chemnitz Fachliche Einordnung Phasen relationaler Modellierung Fachlichkeit

Mehr

MS SharePoint stellt Ihnen ein Intranet Portal zur Verfügung. Sie können Ihre Inhalte weltweit verfügbar machen auch für mobile Endgeräte.

MS SharePoint stellt Ihnen ein Intranet Portal zur Verfügung. Sie können Ihre Inhalte weltweit verfügbar machen auch für mobile Endgeräte. Microsoft SharePoint Microsoft SharePoint ist die Business Plattform für Zusammenarbeit im Unternehmen und im Web. Der MS SharePoint vereinfacht die Zusammenarbeit Ihrer Mitarbeiter. Durch die Verbindung

Mehr

Oracle Big Data Technologien Ein Überblick

Oracle Big Data Technologien Ein Überblick Oracle Big Data Technologien Ein Überblick Jürgen Vester Oracle Deutschland B.V. & Co KG Um was geht es bei Big Data? Bei Big Data sprechen wir eine Klasse von Daten an, die in der

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

Mehr

Big Data Management Thema 14: Cassandra

Big Data Management Thema 14: Cassandra Thema 14: Cassandra Jan Kristof Nidzwetzki Thema 14: Cassandra 1 / 25 Übersicht 1 Grundlagen Überblick Geschichte Datenmodel 2 Architektur Der logische Ring Persistenz der Daten Tunable Consistency Read

Mehr

Neo4J & Sones GraphDB. Graph-Datenbanken. Von Toni Fröschke. Problemseminar NoSQL-Datenbanken (WS 2011/12)

Neo4J & Sones GraphDB. Graph-Datenbanken. Von Toni Fröschke. Problemseminar NoSQL-Datenbanken (WS 2011/12) Neo4J & Sones GraphDB Graph-Datenbanken Von Toni Fröschke Problemseminar NoSQL-Datenbanken (WS 2011/12) Gliederung Neo4J Überblick Neo4J-Komponenten Datenhaltung/ -verwaltung Verfügbarkeit & Recovery I/O

Mehr

sedex-client Varianten für den Betrieb in einer hoch verfügbaren

sedex-client Varianten für den Betrieb in einer hoch verfügbaren Département fédéral de l'intérieur DFI Office fédéral de la statistique OFS Division Registres Team sedex 29.07.2014, version 1.0 sedex-client Varianten für den Betrieb in einer hoch verfügbaren Umgebung

Mehr

Microsoft Cloud Ihr Weg in die Cloud

Microsoft Cloud Ihr Weg in die Cloud Microsoft Cloud Ihr Weg in die Cloud Komfort Informationen flexibler Arbeitsort IT-Ressourcen IT-Ausstattung Kommunikation mobile Endgeräte Individualität Mobilität und Cloud sind erfolgsentscheidend für

Mehr

Kapitel 4 Teil 2 NoSQL-Datenbanksysteme

Kapitel 4 Teil 2 NoSQL-Datenbanksysteme Kapitel 4 Teil 2 NoSQL-Datenbanksysteme Inhalt: CAP (Consistency/Availability/Partition-Tolerance); BASE (Basically Available, Soft State, Eventually Consistent); Datenmodelle: Key-Value-Stores, Spaltenbasierte

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

Business und Enterprise Cloud Sync, Backup- und Sharing-Lösungen

Business und Enterprise Cloud Sync, Backup- und Sharing-Lösungen Business und Enterprise Cloud Sync, Backup- und Sharing-Lösungen Private Cloud Synchronisation Online-Zusammenarbeit Backup / Versionierung Web Zugriff Mobiler Zugriff LDAP / Active Directory Federated

Mehr

Big Data Informationen neu gelebt

Big Data Informationen neu gelebt Seminarunterlage Version: 1.01 Copyright Version 1.01 vom 21. Mai 2015 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

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

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

Definition Informationssystem

Definition Informationssystem Definition Informationssystem Informationssysteme (IS) sind soziotechnische Systeme, die menschliche und maschinelle Komponenten umfassen. Sie unterstützen die Sammlung, Verarbeitung, Bereitstellung, Kommunikation

Mehr

Konzeption und Entwicklung einer an YouTube orientierten Lösung für Video-Streaming auf Basis von Cloud Computing-Diensten

Konzeption und Entwicklung einer an YouTube orientierten Lösung für Video-Streaming auf Basis von Cloud Computing-Diensten Konzeption und Entwicklung einer an YouTube orientierten Lösung für Video-Streaming auf Basis von Cloud Computing-Diensten Sufian Abu-Rab 22 April 2011 Agenda 1. Probleme bei der Nutzung von Video-Portalen

Mehr

1 Die Active Directory

1 Die Active Directory 1 Die Active Directory Infrastruktur Prüfungsanforderungen von Microsoft: Configuring the Active Directory Infrastructure o Configure a forest or a domain o Configure trusts o Configure sites o Configure

Mehr

NoSQL. Hintergründe und Anwendungen. Andreas Winschu

NoSQL. Hintergründe und Anwendungen. Andreas Winschu NoSQL Hintergründe und Anwendungen Andreas Winschu 1 Inhalt 1. Motivation 2. RDBMS 3. CAP Theorem 4. NoSQL 5. NoSql Overview 6. NoSQl Praxis 7. Zusammenfassung und Ausblick 2 1.Motivation Datenbanken Permanente

Mehr

Configuration Management mit Verbosy 17.04.2013 OSDC 2013. Eric Lippmann www.netways.de

Configuration Management mit Verbosy 17.04.2013 OSDC 2013. Eric Lippmann www.netways.de Configuration Management mit Verbosy 17.04.2013 OSDC 2013 Eric Lippmann Kurzvorstellung NETWAYS Expertise OPEN SOURCE SYSTEMS MANAGEMENT OPEN SOURCE DATA CENTER Monitoring & Reporting Configuration Management

Mehr

Analyse und Auswertung großer heterogener Datenmengen

Analyse und Auswertung großer heterogener Datenmengen Analyse und Auswertung großer heterogener Datenmengen Herausforderungen für die IT-Infrastruktur Richard Göbel Inhalt Big Data Was ist das eigentlich? Was nützt mir das? Wie lassen sich solche großen Datenmengen

Mehr

PVFS (Parallel Virtual File System)

PVFS (Parallel Virtual File System) Management grosser Datenmengen PVFS (Parallel Virtual File System) Thorsten Schütt thorsten.schuett@zib.de Management grosser Datenmengen p.1/?? Inhalt Einführung in verteilte Dateisysteme Architektur

Mehr