Nowak, R. (2013). Towards providing unified access to cloud data storage services [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2013.21987
Die Menge an Daten die von heutigen Applikationen verwaltet werden muss, hat durch die steigende Zahl an Geräten, die diese Anwendungen benutzen, zugenommen. Das bedeutet natürlich, dass die Skalierbarkeit der zugrunde liegenden Datenbanken immer wichtiger wird. In den letzten Jahren sind daher neben den weit verbreiteten relationalen Datenbanken sogenannte NoSQL Datenbanken populär geworden, da diese wesentlich leichter auf verschiedene Server verteilt werden können. Das Problem dabei ist, dass die verschiedenen Datenbanken unterschiedliche Arten benutzen um die Daten zu verwalten und auch verschiedene Schnittstellen bereitstellen um diese verfügbar zu machen. Dieser Umstand macht es Entwicklern schwer diese neue Technologie in ihren Anwendungen zu verwenden. Um also die verschiedenen Arten der Speicherung wie im Model der Polyglot Persistence beschrieben umsetzen zu können, ist eine Menge Code erforderlich. Die voliegende Arbeit beschreibt und präsentiert eine Lösung um die verschiedenen Arten von Datenbanken, über eine einheitliche Schnittstelle, verwenden zu können. Dafür werden zuerst die Unterschiede in der Verwaltung und Speicherung beschrieben und diskutiert. Auf Basis dieser Diskussion wird anschließend die gemeinsame Schnittstelle definiert. Da eine gemeinsame Schnitstelle natürlich nicht alle Funktionen der einzelnen Datenbanken abedecken kann, wird eine Möglichkeit geschaffen um es den Entwicklern zu ermöglichen, auf spezifischere Schnitstellen zu zu greifen. Dadurch wird es möglich Daten dort zu speichern, wo diese am besten passen ohne dabei irgendeine Funktionalität oder Flexibilität ein zu büßen. In einigen Fällen kann es auch notwendig sein, dass Daten von einer Datenbank direkt in eine andere verschoben werden müssen. Dazu ist es oft notwendig, eine Menge an Code zu schreiben der die Daten zuerst liest und anschließend wieder schreibt. In der vorliegenden Arbeit wird auch für dieses Problem eine Lösung beschrieben und ein Prototyp implementiert.
de
With an increasing number of devices using applications, the amount of data that has to be managed has grown rapidly. This means, that scalability of databases gets more and more important. So in the last years so called not only SQL (NoSQL) databases have become popular because they can be distributed more easy than traditional relational databases.The problem is, that different data stores use different ways to manage their data and provide specific interfaces to persist and load this data sets. This makes it hard for application developers to use this new technologies in their applications. So using different types of persistence, as described in the polyglot persistence model, means that a lot of code has to be written for covering the different APIs. The following thesis describes and presents a solution to access different types of data storage through one interface. Therefore, the differences between the management and storage of data are described and discussed. Based on this discussion, a common interface will be designed. Because the API can not cover all different functionalities, developers will also get the possibility to access specific libraries, to use special functions for a data store. This means, that data can be stored where it fits best, without losing any functionality or flexibility. In some cases, it is useful to move data from one data store to another. This often requires a lot of migration code to read and write data. In this thesis, we will also present a solution for this problem and a prototype implementation of this feature will be discussed.
en
Additional information:
Abweichender Titel laut Übersetzung der Verfasserin/des Verfassers Zsfassung in dt. Sprache