Quantitative Analysis of Scalable Nosql Databases

Total Page:16

File Type:pdf, Size:1020Kb

Quantitative Analysis of Scalable Nosql Databases QUANTITATIVE ANALYSIS OF SCALABLE NOSQL DATABASES by SURYA NARAYANAN SWAMINATHAN Presented to the Faculty of the Graduate School of The University of Texas at Arlington in Partial Fulfillment of the Requirements for the Degree of MASTER OF SCIENCE IN COMPUTER SCIENCE THE UNIVERSITY OF TEXAS AT ARLINGTON December 2015 Copyright c by SURYA NARAYANAN SWAMINATHAN 2015 All Rights Reserved To my professor Dr. Ramez Elmasri ACKNOWLEDGEMENTS I express my sincere gratitude to my advisor Dr. Ramez Elmasri. I would also like to thank Dr. Leonidas Fegaras for his support. Special thanks to Professor David Levine for taking a special interest in my research beyond the call of duty. I am grateful to Professor Ronald Cross for his support, motivation and guid- ance. I would also like to thank my research mates Mr. Mohammadhani Fouladgar, Mr. Upa Gupta, Mr. Neelabh Pant and Mr. Vivek Sharma for their support and camaraderie. Finally, I extend my gratitude towards everyone in Computer Science depart- ment for the memorable experiences I had during my masters November 20, 2015 iv ABSTRACT QUANTITATIVE ANALYSIS OF SCALABLE NOSQL DATABASES SURYA NARAYANAN SWAMINATHAN, M.S. The University of Texas at Arlington, 2015 Supervising Professor: Ramez Elmasri NoSQL databases are rapidly becoming the customary data platform for big data applications. These databases are emerging as a gateway for more alternative approaches outside traditional relational databases and are characterized by efficient horizontal scalability, schema-less approach to data modeling, high performance data access, and limited querying capabilities. The lack of transactional semantics among NoSQL databases has made the application determine the choice of a particular con- sistency model. Therefore, it is essential to examine methodically, and in detail, the performance of different databases under different workload conditions. In this work, three of the most commonly used NoSQL databases: MongoDB, Cassandra and Hbase are evaluated. Yahoo Cloud Service Benchmark, a popular benchmark tool, was used for performance comparison of different NoSQL databases. The databases are deployed on a cluster and experiments are performed with different numbers of nodes to assess the impact of the cluster size. A benchmark suite is presented on the performance of the databases on its capacity to scale horizontally and v on the performance of each database based on various types of workload operations (create, read, write, scan) on varying dataset sizes. vi TABLE OF CONTENTS ACKNOWLEDGEMENTS . iv ABSTRACT . v LIST OF ILLUSTRATIONS . xi LIST OF TABLES . xiii Chapter Page 1. INTRODUCTION . 1 2. BACKGROUND . 4 2.1 Distributed databases . 4 2.2 Neologism . 5 2.3 Evolution . 6 2.4 Brewer's Conjecture . 7 2.4.1 CAP theorem . 8 2.4.2 CAP in NoSQL systems . 9 2.4.3 Issues in CAP . 9 2.4.4 CAP - an alternate view . 10 3. SQL vs. NOSQL SYSTEMS . 12 3.1 ACID vs. BASE . 12 3.2 Scalability . 14 3.2.1 Vertical scalability . 15 3.2.2 Horizontal scalability . 15 3.2.3 Elastic scalability . 17 3.3 Speed vs. Features . 17 vii 3.3.1 SQL region . 17 3.3.2 NoSQL region . 19 3.4 Data Replication . 20 3.4.1 Types of replication . 21 3.4.2 Replication strategies . 22 3.4.3 Replication in SQL and NoSQL systems . 24 3.5 Fragmentation . 25 3.5.1 Fragmentation schemes . 26 3.5.2 Fragmentation in SQL systems . 27 3.5.3 Fragmentation in NoSQL systems . 28 3.6 Query Languages . 29 3.6.1 Query languages in relational databases . 30 3.6.2 Query languages in NoSQL databases . 31 4. CATEGORIES OF NOSQL SYSTEMS . 33 4.1 Document-store . 33 4.1.1 MongoDB . 34 4.1.2 CouchDB . 35 4.2 Key-value stores . 36 4.2.1 DynamoDB . 36 4.2.2 Redis . 38 4.3 Tabular stores . 38 4.3.1 Hbase . 39 4.4 Graph stores . 40 4.5 Heterogeneous data stores . 41 4.5.1 DynamoDB . 41 4.5.2 OrientDB . 41 viii 4.5.3 Cassandra . 41 4.6 Other NoSQL databases . 42 4.6.1 Object databases . 42 4.6.2 XML databases . 43 5. EXPERIMENTAL SETUP . 44 5.1 Implementation details . 44 5.2 Database configurations . 45 5.2.1 MongoDB . 45 5.2.2 Cassandra . 45 5.2.3 Hbase . 46 5.3 Benchmarking Tool . 47 5.3.1 Architecture . 47 5.3.2 Workload properties . 49 5.3.3 Workloads definition . 50 5.4 Test cases . 50 5.4.1 Size of the database . 50 5.4.2 Operation count . 51 5.4.3 Cluster size . 51 5.4.4 Comprehensive view . 52 6. RESULTS . 54 6.1 MongoDB . 54 6.1.1 50% Read - 50% Write . 54 6.1.2 100% Read . 57 6.1.3 100% Blind Write . 58 6.1.4 100% Read-Modify-Write . 59 6.1.5 100% Scan . 59 ix 6.2 Cassandra . 61 6.2.1 50% Read - 50% Write . 61 6.2.2 100% Read . 62 6.2.3 100% Blind Write . 64 6.2.4 100% Read-Modify-Write . 65 6.2.5 100% Scan . 66 6.3 Hbase . 67 6.3.1 50% Read - 50% Write . 67 6.3.2 100% Read . 68 6.3.3 100% Blind Write . 69 6.3.4 100% Read-Modify-Write . 71 6.3.5 100% Scan . 72 6.4 MongoDB vs. Cassandra vs. Hbase . 73 6.4.1 50% Read - 50% Write . 74 6.4.2 100% Read . 75 6.4.3 100% Blind Write . 76 6.4.4 100% Read-Modify-Write . 77 6.4.5 100% Scan . 77 6.4.6 Summary . 78 7. CONCLUSION AND FUTURE WORK . 80 7.1 Conclusion . 80 7.2 Future Work . 80 REFERENCES . 82 BIOGRAPHICAL STATEMENT . 86 x LIST OF ILLUSTRATIONS Figure Page 3.1 Vertical scalability vs. Horizontal scalability . 16 3.2 Scaling with Single server (scaling-up) and Multiple servers (scaling-out) 16 3.3 Speed and Scalability vs. Features . 18 5.1 Architecture of YCSB client, adapted from [3] . 48 5.2 Sample data generated by YCSB in Cassandra . 51 5.3 Scope of the operation count and definition of throughput . 52 5.4 Scope of the cluster size . 53 5.5 Comprehensive view of the scope of the experiments . 53 6.1 MongoDB : 50% Read - 50% Write . 56 6.2 MongoDB : 100% Read . ..
Recommended publications
  • Socrates: the New SQL Server in the Cloud
    Socrates: The New SQL Server in the Cloud Panagiotis Antonopoulos, Alex Budovski, Cristian Diaconu, Alejandro Hernandez Saenz, Jack Hu, Hanuma Kodavalla, Donald Kossmann, Sandeep Lingam, Umar Farooq Minhas, Naveen Prakash, Vijendra Purohit, Hugh Qu, Chaitanya Sreenivas Ravella, Krystyna Reisteter, Sheetal Shrotri, Dixin Tang, Vikram Wakade Microsoft Azure & Microsoft Research ABSTRACT 1 INTRODUCTION The database-as-a-service paradigm in the cloud (DBaaS) The cloud is here to stay. Most start-ups are cloud-native. is becoming increasingly popular. Organizations adopt this Furthermore, many large enterprises are moving their data paradigm because they expect higher security, higher avail- and workloads into the cloud. The main reasons to move ability, and lower and more flexible cost with high perfor- into the cloud are security, time-to-market, and a more flexi- mance. It has become clear, however, that these expectations ble “pay-as-you-go” cost model which avoids overpaying for cannot be met in the cloud with the traditional, monolithic under-utilized machines. While all these reasons are com- database architecture. This paper presents a novel DBaaS pelling, the expectation is that a database runs in the cloud architecture, called Socrates. Socrates has been implemented at least as well as (if not better) than on premise. Specifically, in Microsoft SQL Server and is available in Azure as SQL DB customers expect a “database-as-a-service” to be highly avail- Hyperscale. This paper describes the key ideas and features able (e.g., 99.999% availability), support large databases (e.g., of Socrates, and it compares the performance of Socrates a 100TB OLTP database), and be highly performant.
    [Show full text]
  • Not ACID, Not BASE, but SALT a Transaction Processing Perspective on Blockchains
    Not ACID, not BASE, but SALT A Transaction Processing Perspective on Blockchains Stefan Tai, Jacob Eberhardt and Markus Klems Information Systems Engineering, Technische Universitat¨ Berlin fst, je, [email protected] Keywords: SALT, blockchain, decentralized, ACID, BASE, transaction processing Abstract: Traditional ACID transactions, typically supported by relational database management systems, emphasize database consistency. BASE provides a model that trades some consistency for availability, and is typically favored by cloud systems and NoSQL data stores. With the increasing popularity of blockchain technology, another alternative to both ACID and BASE is introduced: SALT. In this keynote paper, we present SALT as a model to explain blockchains and their use in application architecture. We take both, a transaction and a transaction processing systems perspective on the SALT model. From a transactions perspective, SALT is about Sequential, Agreed-on, Ledgered, and Tamper-resistant transaction processing. From a systems perspec- tive, SALT is about decentralized transaction processing systems being Symmetric, Admin-free, Ledgered and Time-consensual. We discuss the importance of these dual perspectives, both, when comparing SALT with ACID and BASE, and when engineering blockchain-based applications. We expect the next-generation of decentralized transactional applications to leverage combinations of all three transaction models. 1 INTRODUCTION against. Using the admittedly contrived acronym of SALT, we characterize blockchain-based transactions There is a common belief that blockchains have the – from a transactions perspective – as Sequential, potential to fundamentally disrupt entire industries. Agreed, Ledgered, and Tamper-resistant, and – from Whether we are talking about financial services, the a systems perspective – as Symmetric, Admin-free, sharing economy, the Internet of Things, or future en- Ledgered, and Time-consensual.
    [Show full text]
  • MDA Process to Extract the Data Model from a Document-Oriented Nosql Database Amal Ait Brahim, Rabah Tighilt Ferhat, Gilles Zurfluh
    MDA process to extract the data model from a document-oriented NoSQL database Amal Ait Brahim, Rabah Tighilt Ferhat, Gilles Zurfluh To cite this version: Amal Ait Brahim, Rabah Tighilt Ferhat, Gilles Zurfluh. MDA process to extract the data model from a document-oriented NoSQL database. ICEIS 2019: 21st International Conference on Enterprise Information Systems, May 2019, Heraklion, Greece. pp.141-148, 10.5220/0007676201410148. hal- 02886696 HAL Id: hal-02886696 https://hal.archives-ouvertes.fr/hal-02886696 Submitted on 1 Jul 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Open Archive Toulouse Archive Ouverte OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible This is an author’s version published in: https://oatao.univ-toulouse.fr/26232 Official URL : https://doi.org/10.5220/0007676201410148 To cite this version: Ait Brahim, Amal and Tighilt Ferhat, Rabah and Zurfluh, Gilles MDA process to extract the data model from a document-oriented NoSQL database. (2019) In: ICEIS 2019: 21st International Conference on Enterprise Information Systems, 3 May 2019 - 5 May 2019 (Heraklion, Greece).
    [Show full text]
  • MDA Process to Extract the Data Model from Document-Oriented Nosql Database
    MDA Process to Extract the Data Model from Document-oriented NoSQL Database Amal Ait Brahim, Rabah Tighilt Ferhat and Gilles Zurfluh Toulouse Institute of Computer Science Research (IRIT), Toulouse Capitole University, Toulouse, France Keywords: Big Data, NoSQL, Model Extraction, Schema Less, MDA, QVT. Abstract: In recent years, the need to use NoSQL systems to store and exploit big data has been steadily increasing. Most of these systems are characterized by the property "schema less" which means absence of the data model when creating a database. This property brings an undeniable flexibility by allowing the evolution of the model during the exploitation of the base. However, query expression requires a precise knowledge of the data model. In this article, we propose a process to automatically extract the physical model from a document- oriented NoSQL database. To do this, we use the Model Driven Architecture (MDA) that provides a formal framework for automatic model transformation. From a NoSQL database, we propose formal transformation rules with QVT to generate the physical model. An experimentation of the extraction process was performed on the case of a medical application. 1 INTRODUCTION however that it is absent in some systems such as Cassandra and Riak TS. The "schema less" property Recently, there has been an explosion of data offers undeniable flexibility by allowing the model to generated and accumulated by more and more evolve easily. For example, the addition of new numerous and diversified computing devices. attributes in an existing line is done without Databases thus constituted are designated by the modifying the other lines of the same type previously expression "Big Data" and are characterized by the stored; something that is not possible with relational so-called "3V" rule (Chen, 2014).
    [Show full text]
  • What Is Nosql? the Only Thing That All Nosql Solutions Providers Generally Agree on Is That the Term “Nosql” Isn’T Perfect, but It Is Catchy
    NoSQL GREG SYSADMINBURD Greg Burd is a Developer Choosing between databases used to boil down to examining the differences Advocate for Basho between the available commercial and open source relational databases . The term Technologies, makers of Riak. “database” had become synonymous with SQL, and for a while not much else came Before Basho, Greg spent close to being a viable solution for data storage . But recently there has been a shift nearly ten years as the product manager for in the database landscape . When considering options for data storage, there is a Berkeley DB at Sleepycat Software and then new game in town: NoSQL databases . In this article I’ll introduce this new cat- at Oracle. Previously, Greg worked for NeXT egory of databases, examine where they came from and what they are good for, and Computer, Sun Microsystems, and KnowNow. help you understand whether you, too, should be considering a NoSQL solution in Greg has long been an avid supporter of open place of, or in addition to, your RDBMS database . source software. [email protected] What Is NoSQL? The only thing that all NoSQL solutions providers generally agree on is that the term “NoSQL” isn’t perfect, but it is catchy . Most agree that the “no” stands for “not only”—an admission that the goal is not to reject SQL but, rather, to compensate for the technical limitations shared by the majority of relational database implemen- tations . In fact, NoSQL is more a rejection of a particular software and hardware architecture for databases than of any single technology, language, or product .
    [Show full text]
  • Daten Als Objekte Speichern Mit Db4o, Eine Objektorientierte Datenbank
    Daten als Objekte speichern mit db4o, eine objektorientierte Datenbank Matthias Bordach Universitaet Siegen [email protected] ABSTRACT 2. DER ODMG STANDARD[1] Die Hausarbeit befasst sich mit der Datenbanktechnologie Verschiedene Ans¨atze fur¨ eine Datenbank auf objektorientier- db4o. Das objektorientierte Speicherkonzept zeichnet sie als ter Basis erforderten einen Standard. Diesen Standard ent- einen Vertreter der NO-SQL-Familie aus. Auf eine theoreti- wickelte eine Arbeitsgruppe der Object Management Group sche Einfuhrung¨ in den Standard ODMG folgt eine praktische (OMG). 1993 wurde die erste Version ver¨offentlicht mit dem Vorstellung der Datenbankfunktionalit¨at. Die Funktionen Namen The Object Data Standard ODMG. Die Arbeitsgrup- werden mit Beispielen gestutzt,¨ die in Java geschrieben sind. pe uberarbeitete¨ und erweiterte das Dokument in den fol- Abfrage- und Speichermethoden werden ebenso erkl¨art wie genden Jahren. Inhalt und Ziel des Dokuments ist eine Stan- die Realisierung von Beziehungen zwischen Objekten und darddefinition von Konzepten fur¨ die Anbindung eines objek- das Handling von Schema Evolution. Der Leser wird nach torientierten Datenbankmanagementsystems an die gew¨ahlte der Lekture¨ in der Lage sein, eine einfache Datenbank mit Programmiersprache. In Version 3 wird den Sprachen C++, db4o zu programmieren. Smalltalk und Java jeweils ein eigenes Kapitel fur¨ die Schnitt- stellenumsetzung gewidmet. Generell definiert die ODMG das Object Model, Objektspezifikationssprachen und die an die 1. EINLEITUNG SQL angelehnte Object Query Language (OQL). Es werden Die Idee einer Datenbank, die Objekte ohne ein aufwendiges Standardausdrucke¨ festgelegt fur¨ die Datenbankinstanziie- Mapping in ein anderes Datenmodell speichern kann, wurde rung, -nutzung (open, close), Transaktionen (commit) und erstmals in den 80er Jahren des letzten Jahrhunderts in kon- Mehrfachzugriff (Locks).
    [Show full text]
  • Nosql Database Technology
    NoSQL Database Technology Post-relational data management for interactive software systems NOSQL DATABASE TECHNOLOGY Table of Contents Summary 3 Interactive software has changed 4 Users – 4 Applications – 5 Infrastructure – 5 Application architecture has changed 6 Database architecture has not kept pace 7 Tactics to extend the useful scope of RDBMS technology 8 Sharding – 8 Denormalizing – 9 Distributed caching – 10 “NoSQL” database technologies 11 Mobile application data synchronization 13 Open source and commercial NoSQL database technologies 14 2 © 2011 COUCHBASE ALL RIGHTS RESERVED. WWW.COUCHBASE.COM NOSQL DATABASE TECHNOLOGY Summary Interactive software (software with which a person iteratively interacts in real time) has changed in fundamental ways over the last 35 years. The “online” systems of the 1970s have, through a series of intermediate transformations, evolved into today’s web and mobile appli- cations. These systems solve new problems for potentially vastly larger user populations, and they execute atop a computing infrastructure that has changed even more radically over the years. The architecture of these software systems has likewise transformed. A modern web ap- plication can support millions of concurrent users by spreading load across a collection of application servers behind a load balancer. Changes in application behavior can be rolled out incrementally without requiring application downtime by gradually replacing the software on individual servers. Adjustments to application capacity are easily made by changing the number of application servers. But database technology has not kept pace. Relational database technology, invented in the 1970s and still in widespread use today, was optimized for the applications, users and inf- rastructure of that era.
    [Show full text]
  • SQL Vs Nosql: a Performance Comparison
    SQL vs NoSQL: A Performance Comparison Ruihan Wang Zongyan Yang University of Rochester University of Rochester [email protected] [email protected] Abstract 2. ACID Properties and CAP Theorem We always hear some statements like ‘SQL is outdated’, 2.1. ACID Properties ‘This is the world of NoSQL’, ‘SQL is still used a lot by We need to refer the ACID properties[12]: most of companies.’ Which one is accurate? Has NoSQL completely replace SQL? Or is NoSQL just a hype? SQL Atomicity (Structured Query Language) is a standard query language A transaction is an atomic unit of processing; it should for relational database management system. The most popu- either be performed in its entirety or not performed at lar types of RDBMS(Relational Database Management Sys- all. tems) like Oracle, MySQL, SQL Server, uses SQL as their Consistency preservation standard database query language.[3] NoSQL means Not A transaction should be consistency preserving, meaning Only SQL, which is a collection of non-relational data stor- that if it is completely executed from beginning to end age systems. The important character of NoSQL is that it re- without interference from other transactions, it should laxes one or more of the ACID properties for a better perfor- take the database from one consistent state to another. mance in desired fields. Some of the NOSQL databases most Isolation companies using are Cassandra, CouchDB, Hadoop Hbase, A transaction should appear as though it is being exe- MongoDB. In this paper, we’ll outline the general differences cuted in iso- lation from other transactions, even though between the SQL and NoSQL, discuss if Relational Database many transactions are execut- ing concurrently.
    [Show full text]
  • IBM Cloudant: Database As a Service Fundamentals
    Front cover IBM Cloudant: Database as a Service Fundamentals Understand the basics of NoSQL document data stores Access and work with the Cloudant API Work programmatically with Cloudant data Christopher Bienko Marina Greenstein Stephen E Holt Richard T Phillips ibm.com/redbooks Redpaper Contents Notices . 5 Trademarks . 6 Preface . 7 Authors. 7 Now you can become a published author, too! . 8 Comments welcome. 8 Stay connected to IBM Redbooks . 9 Chapter 1. Survey of the database landscape . 1 1.1 The fundamentals and evolution of relational databases . 2 1.1.1 The relational model . 2 1.1.2 The CAP Theorem . 4 1.2 The NoSQL paradigm . 5 1.2.1 ACID versus BASE systems . 7 1.2.2 What is NoSQL? . 8 1.2.3 NoSQL database landscape . 9 1.2.4 JSON and schema-less model . 11 Chapter 2. Build more, grow more, and sleep more with IBM Cloudant . 13 2.1 Business value . 15 2.2 Solution overview . 16 2.3 Solution architecture . 18 2.4 Usage scenarios . 20 2.5 Intuitively interact with data using Cloudant Dashboard . 21 2.5.1 Editing JSON documents using Cloudant Dashboard . 22 2.5.2 Configuring access permissions and replication jobs within Cloudant Dashboard. 24 2.6 A continuum of services working together on cloud . 25 2.6.1 Provisioning an analytics warehouse with IBM dashDB . 26 2.6.2 Data refinement services on-premises. 30 2.6.3 Data refinement services on the cloud. 30 2.6.4 Hybrid clouds: Data refinement across on/off–premises. 31 Chapter 3.
    [Show full text]
  • Relational and Object-Oriented Databases
    Relational and Object-Oriented Databases by Willi-Hans Steeb International School for Scientific Computing Contents 1 What is a table? 1 1.1 Introduction . 1 1.2 Examples . 5 1.3 Tables in Programs . 8 1.4 Table and Relation . 33 2 Structured Query Language 35 2.1 Introduction . 35 2.2 Integrity Rules . 38 2.3 SQL Commands . 39 2.3.1 Introduction . 39 2.3.2 Aggregate Function . 40 2.3.3 Arithmetic Operators . 40 2.3.4 Logical Operators . 40 2.3.5 SELECT Statement . 41 2.3.6 INSERT Command . 45 2.3.7 DELETE Command . 46 2.3.8 UPDATE Command . 47 2.3.9 CREATE TABLE Command . 48 2.3.10 DROP TABLE Command . 51 2.3.11 ALTER TABLE Command . 52 2.4 Set Operators . 53 2.5 Views . 60 2.6 Primary and Foreign Keys . 62 2.7 Datatypes in SQL . 63 2.8 Joins . 66 2.9 Stored Procedure . 71 2.10 MySQL Commands . 72 2.11 Cursors . 73 2.12 PL and SQL . 75 2.13 ABAP/4 and SQL . 76 2.14 Query Processing and Optimization . 77 i 3 Normal Forms 83 3.1 Introduction . 83 3.2 Anomalies . 87 3.3 Example . 89 3.4 Fourth and Fifth Normal Forms . 93 4 Transaction 101 4.1 Introduction . 101 4.2 Data Replication . 107 4.3 Locks . 108 4.4 Deadlocking . 111 4.5 Threads . 117 4.5.1 Introduction . 117 4.5.2 Thread Class . 119 4.5.3 Example . 121 4.5.4 Priorities . 123 4.5.5 Synchronization and Locks .
    [Show full text]
  • The O/R Problem: Mapping Between Relational and Object-Oriented
    The O/R Problem: Mapping Between Relational and Object-Oriented Methodologies CIS515 Strategic Planning for Database Systems Ryan Somma StudenID: 9989060874 [email protected] Introduction Relational databases are set of tables defining the columns of the rows they contain, which are also conceptualized as relations defining the attributes of the tuples they store. Relational Database Management Systems (RDBMS) abstract the normalized relational structures underlying the system away from the user, allowing them to focus on the specific data they wish to extract from it. Through queries, they provide users the capability of joining sets in relations into reports, transforming data into information. Through normalization, they eliminate redundancy, ensuring there is only one source for each data element in the system, and improve integrity through relationships based on data keys and validation (Rob and Coronel, 2009). Although there are alternatives to RDBMS‟s, the top five database management systems for 2004 to 2006 were all relational (Olofson, 2007). Object orientation is a “set of design and development principles based on conceptually autonomous computer structures known as objects.” Object-oriented programming (OOP) takes related data elements and functions, known as properties and methods, and encapsulates them into objects that may interact with other objects via messaging or act upon themselves. This strategy reduces complexity in the system, hiding it within objects that are easier to understand as concepts rather than exposing their workings within a morass of procedural code. Additionally, OOP promotes reuse of coding solutions with classes, which are built to model a generalized set of properties and methods that are implemented in object instances, which reuse the class code.
    [Show full text]
  • Nosql – Factors Supporting the Adoption of Non-Relational Databases
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Trepo - Institutional Repository of Tampere University NoSQL – Factors Supporting the Adoption of Non-Relational Databases Olli Sutinen University of Tampere Department of Computer Sciences Computer Science M.Sc. thesis Supervisor: Marko Junkkari December 2010 University of Tampere Department of Computer Sciences Computer science Olli Sutinen: NoSQL – Factors Supporting the Adoption of Non-Relational Databases M.Sc. thesis November 2010 Relational databases have been around for decades and are still in use for general data storage needs. The web has created usage patterns for data storage and querying where current implementations of relational databases fit poorly. NoSQL is an umbrella term for various new data stores which emerged virtually simultaneously at the time when relational databases were the de facto standard for data storage. It is claimed that the new data stores address the changed needs better than the relational databases. The simple reason behind this phenomenon is the cost. If the systems are too slow or can't handle the load, the users will go to a competing site, and continue spending their time there watching 'wrong' advertisements. On the other hand, scaling relational databases is hard. It can be done and commercial RDBMS vendors have such systems available but it is out of reach of a startup because of the price tag included. This study reveals the reasons why many companies have found existing data storage solutions inadequate and developed new data stores. Keywords: databases, database scalability, data models, nosql Contents 1.
    [Show full text]