Für viele Unternehmen sind sie elementar wichtig, für Benutzer von Smartphones, Social Media-Anwendungen, Online-Shops sowie diverser Plattformen sind sie dagegen nicht von großer Bedeutung. Die Rede ist von "Daten". Da Daten aus Unternehmenssicht wichtige Informationen, wie zum Beispiel das Kaufverhalten eines Kunden reflektieren, spielen sie heutzutage eine wichtige Rolle bei der Gewinngenerierung. Beispielsweise versuchen Unternehmen anhand von verschiedenen BI-Lösungen, diese gespeicherten Daten auszuwerten, um eine Gewinnmaximierung zu erzielen.
Laut der Digital-Universe-Studie von IDC verdoppelt sich der komplette Datenbestand alle zweieinhalb Jahre und soll im Jahre 2020 in Westeuropa auf fünf Zetabyte anwachsen. Die Studie besagt zudem, dass das Datenvolumen 2020 auf dem gesamten Globus 44 Zetabyte betragen wird.
An einigen Beispielen lässt sich der explosiv wachsende Datenbestand aufzeigen: (1) Derzeit wären acht Jahre nötig, um alle Videos in YouTube, die täglich hochgeladen werden, anzuschauen. (2) Es werden in Facebook pro Minute 2,46 Millionen Inhalte geteilt. (3) Die Summe der Datensätze ist aktuell größer als die Zahl aller Sterne im Universum.
Solch große Datenansammlungen, die aufgrund des Web 2.0 entstanden sind, brachten vor einigen Jahren das Trendwort "BIG DATA" hervor. Die Entwicklung von Big Data brachte vielen Unternehmen nicht nur profitable Informationen, sondern ließ auch deren Datenbanken und Datenbank-Management-Systeme an ihre Grenzen stoßen. Herausforderungen, wie z. B. die schnelle Verarbeitung vieler Datensätze, sind aufgrund der Komplexität und der Datenstruktur von relationalen Datenbank-Management-Systemen nicht mehr leicht zu bewältigen. Diese Herausforderungen stießen den Durchbruch der NoSQL-Datenbanken an.
Diese Bachelorarbeit befasst sich mit folgendem Thema: Implementation und Test einer kleinen Videodatenbank mit CouchDB.
Inhaltsverzeichnis
- 1 Einleitung
- 2 Einführung in die NoSQL-Datenbanken
- 2.1 Definition NoSQL-Datenbanken
- 2.2 Historischer Rückblick
- 2.3 Typen von NoSQL-Datenbanken
- 3 Apache CouchDB
- 3.1 Dokumentbasiert
- 3.2 Attachment
- 3.3 RESTful JSON API
- 3.4 Futon
- 4 Installation von CouchDB
- 4.1 Installationsanleitung
- 4.2 Installation von cURL
- 5 CRUD-Operationen
- 5.1 Anzeigen der Datenbanken
- 5.2 Anlegen einer Datenbank
- 5.3 Anlegen von Dokumenten
- 5.4 Anzeigen von Dokumenten
- 5.5 Update von Dokumenten
- 5.6 Löschen eines Dokuments
- 5.7 Weitere CRUD-Tests
- 6 Importieren der Videodatenbank
- 6.1 Aktuelles Datenformat
- 6.2 Bereinigung der Daten
- 6.3 Laden der Daten in die Zieldatenbank
- 6.4 Weitere Importtests
- 7 Standardabfragen
- 7.1 UND- sowie ODER-Operationen
- 7.2 Array-Abfragen
- 7.3 Anzeigen von Datentypen
- 8 MapReduce
- 8.1 Daten summieren
- 8.2 Daten zusammenzählen
- 8.3 Ermittlung von Durchschnitten
- 8.4 Stats-Funktion
- 9 Fazit
Zielsetzung und Themenschwerpunkte
Diese Bachelorarbeit befasst sich mit der Implementierung und dem Test einer kleinen Videodatenbank mithilfe von CouchDB, einer NoSQL-Datenbank. Ziel ist es, die Funktionalität von CouchDB zu demonstrieren und die Eignung für die Speicherung und Abfrage von Videodaten zu evaluieren.
- Einführung in NoSQL-Datenbanken und CouchDB
- Installation und Konfiguration von CouchDB
- Durchführung von CRUD-Operationen (Create, Read, Update, Delete)
- Import und Verarbeitung von Videodaten
- Standardabfragen und MapReduce-Funktionen in CouchDB
Zusammenfassung der Kapitel
1 Einleitung: Dieses Kapitel dient als Einführung in die Thematik der Arbeit und beschreibt kurz den Hintergrund und die Zielsetzung des Projekts, nämlich die Implementierung und den Test einer Videodatenbank mit CouchDB. Es skizziert den Aufbau der Arbeit und die behandelten Themen.
2 Einführung in die NoSQL-Datenbanken: Dieses Kapitel gibt einen umfassenden Überblick über NoSQL-Datenbanken. Es definiert den Begriff, beleuchtet die historische Entwicklung und unterscheidet verschiedene Typen von NoSQL-Datenbanken. Die Darstellung der verschiedenen Datenbanktypen bietet einen wichtigen Kontext für die spätere Wahl von CouchDB als Datenbanklösung.
3 Apache CouchDB: Hier wird die gewählte NoSQL-Datenbank CouchDB detailliert vorgestellt. Es werden die Kernkonzepte wie die dokumentbasierte Architektur, die Handhabung von Attachments, die RESTful JSON API und das verwaltungs-Tool Futon erläutert. Diese Beschreibung bildet die Grundlage für das Verständnis der späteren Implementierung und der durchgeführten Tests.
4 Installation von CouchDB: Dieses Kapitel beschreibt den Installationsprozess von CouchDB, inklusive einer detaillierten Installationsanleitung und der Installation von cURL als benötigtes Werkzeug. Die detaillierte Anleitung gewährleistet die Reproduzierbarkeit der Ergebnisse und bietet einen wichtigen Schritt für die praktische Umsetzung der Arbeit.
5 CRUD-Operationen: Dieses Kapitel behandelt die grundlegenden Datenbankoperationen (CRUD: Create, Read, Update, Delete) im Kontext von CouchDB. Es werden detaillierte Anweisungen und Beispiele für das Anlegen, Lesen, Aktualisieren und Löschen von Dokumenten gegeben und die Ergebnisse werden dokumentiert und analysiert. Dieser Abschnitt demonstriert die praktische Anwendung von CouchDB.
6 Importieren der Videodatenbank: Hier wird der Prozess des Importierens der Videodaten in die CouchDB-Datenbank beschrieben. Es werden die Herausforderungen bei der Datenaufbereitung (Datenbereinigung und Anpassung an das CouchDB-Format) detailliert dargestellt und die Lösungen erläutert. Dieser Teil zeigt die praktische Anwendung der Datenbank für die angestrebte Aufgabe.
7 Standardabfragen: Dieses Kapitel konzentriert sich auf die Durchführung von Standardabfragen in CouchDB. Es werden verschiedene Abfragetechniken, einschließlich UND- und ODER-Operationen sowie Array-Abfragen, erklärt und an Beispielen demonstriert. Die Fähigkeit zur effizienten Datenabfrage wird hier evaluiert.
8 MapReduce: In diesem Kapitel wird die Anwendung von MapReduce-Funktionen in CouchDB zur Datenanalyse vorgestellt. Es werden konkrete Beispiele für die Summierung, das Zählen und die Ermittlung von Durchschnittswerten präsentiert. Die Leistungsfähigkeit von MapReduce zur Datenverarbeitung wird hier aufgezeigt.
Schlüsselwörter
CouchDB, NoSQL-Datenbank, Videodatenbank, CRUD-Operationen, Datenimport, Datenbereinigung, JSON, RESTful API, MapReduce, Datenabfrage.
Häufig gestellte Fragen zur Bachelorarbeit: Implementierung einer Videodatenbank mit CouchDB
Was ist der Gegenstand dieser Bachelorarbeit?
Die Bachelorarbeit befasst sich mit der Implementierung und dem Test einer kleinen Videodatenbank unter Verwendung von CouchDB, einer NoSQL-Datenbank. Ziel ist die Demonstration der CouchDB-Funktionalität und die Evaluierung ihrer Eignung für die Speicherung und Abfrage von Videodaten.
Welche Themen werden in der Arbeit behandelt?
Die Arbeit umfasst eine Einführung in NoSQL-Datenbanken und CouchDB, die Installation und Konfiguration von CouchDB, die Durchführung von CRUD-Operationen (Create, Read, Update, Delete), den Import und die Verarbeitung von Videodaten sowie Standardabfragen und MapReduce-Funktionen in CouchDB.
Welche Kapitel umfasst die Arbeit?
Die Arbeit gliedert sich in folgende Kapitel: Einleitung, Einführung in NoSQL-Datenbanken, Apache CouchDB, Installation von CouchDB, CRUD-Operationen, Importieren der Videodatenbank, Standardabfragen, MapReduce und Fazit. Jedes Kapitel behandelt einen spezifischen Aspekt der Implementierung und des Tests der Videodatenbank.
Was wird im Kapitel "Einführung in NoSQL-Datenbanken" behandelt?
Dieses Kapitel bietet einen umfassenden Überblick über NoSQL-Datenbanken. Es beinhaltet die Definition des Begriffs, einen historischen Rückblick und eine Unterscheidung verschiedener NoSQL-Datenbanktypen. Dies schafft den Kontext für die spätere Wahl von CouchDB.
Was wird im Kapitel "Apache CouchDB" erläutert?
Hier wird die gewählte Datenbank CouchDB detailliert vorgestellt, einschließlich der dokumentbasierten Architektur, der Handhabung von Attachments, der RESTful JSON API und des Verwaltungs-Tools Futon. Dieses Kapitel legt die Grundlage für das Verständnis der Implementierung und der durchgeführten Tests.
Wie wird der Import der Videodaten in CouchDB beschrieben?
Das Kapitel "Importieren der Videodatenbank" beschreibt den Prozess des Datenimports, inklusive der Herausforderungen bei der Datenaufbereitung (Datenbereinigung und Anpassung an das CouchDB-Format) und der Lösungen dafür. Es zeigt die praktische Anwendung der Datenbank für die Projektaufgabe.
Welche Abfragetechniken werden in der Arbeit behandelt?
Das Kapitel "Standardabfragen" konzentriert sich auf verschiedene Abfragetechniken in CouchDB, darunter UND- und ODER-Operationen sowie Array-Abfragen. Die Effizienz der Datenabfrage wird evaluiert.
Wie werden MapReduce-Funktionen in der Arbeit eingesetzt?
Das Kapitel "MapReduce" behandelt die Anwendung von MapReduce-Funktionen in CouchDB zur Datenanalyse mit Beispielen für Summierung, Zählung und die Ermittlung von Durchschnittswerten. Die Leistungsfähigkeit von MapReduce wird aufgezeigt.
Welche Schlüsselwörter beschreiben die Arbeit am besten?
Wichtige Schlüsselwörter sind: CouchDB, NoSQL-Datenbank, Videodatenbank, CRUD-Operationen, Datenimport, Datenbereinigung, JSON, RESTful API, MapReduce und Datenabfrage.
Wo finde ich eine detaillierte Installationsanleitung für CouchDB?
Eine detaillierte Installationsanleitung für CouchDB, inklusive der Installation von cURL, findet sich im Kapitel "Installation von CouchDB".
- Quote paper
- Taylan Basmara (Author), 2015, Implementation und Test einer kleinen Videodatenbank mit CouchDB, Munich, GRIN Verlag, https://www.grin.com/document/389033