Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Investigating NoSQL from a SQL Perspective.
KTH, School of Computer Science and Communication (CSC).
KTH, School of Computer Science and Communication (CSC).
2011 (Swedish)Independent thesis Advanced level (professional degree), 10 credits / 15 HE creditsStudent thesis
Abstract [en]

This report investigates the current branches in the selection of databases available today. What do the new, non-relational databases have to offer? What differentiations can be found? What are their pros and cons?

First off we will cover more specifically what these benefits are, and in this first part of the report cover a broader spectrum of databases. Amongst others, we look at characteristics such as sharding and replication. As examples, we also look specifically at five databases to compare them with each other: Dynamo (Amazon S3), BigTable (Google App Engine), CouchDB, MongoDB and Neo4j.

In the second part we will run a performance test on three of the databases, namely CouchDB, MongoDB and Neo4j. We will for this test use a type of data that most accurately can be described as data found when running a social network, containing persons, blog posts, relations, events and comments.

The purpose of this investigation is to look into who could benefit from putting their SQL database in the attic, and to start using a non-relational database instead.

More than just explaining the different characteristics of non-relational databases, we present a table in the results section where we compare the five different databases with each other. We also have a section under the results chapter covering the general pro's and con's that can be found for using SQL vs NoSQL databases depending on what type of data you store.

The performance test results shows us that MongoDB was the fastest one, because it was the best suited database for our type of data and queries. Neo4j also performed good, especially in regards to execution speed as function of data size. CouchDB produced the slowest execution times since our data and queries suited the database poorly. This ment that CouchDB had to send large amounts of data to our program for external filtering and thus performed worse.

Abstract [sv]

Denna rapport utreder de i dagsläget olika typerna av databaser som finns tillgängliga. Vad har de nya, icke-relationella databaserna att erbjuda? Vilka skillnader finns? Vad är deras respektive för- och nackdelar?

I den första delen av rapporten så kommer vi att mer specifikt undersöka vilka fördelarna är med hjälp av ett bredare spektrum av databaser. Bland annat så tittar vi på egenskaper så som sharding och replication. För vår jämförelse så har vi valt att fokusera på fem databaser: Dynamo (Amazon S3), BigTable (Google App Engine), CouchDB, MongoDB samt Neo4j.

I den andra delen kör vi ett prestandatest på tre av databaserna, nämligen CouchDB, MongoDB och Neo4j. För detta test använder vi en typ av data som bäst kan liknas med den data man stöter på för sociala nätverk. Vi använder oss av: personer, blogginlägg, relationer, evenemang samt kommentarer.

Syftet med denna utredning är att försöka få en bild över vem som faktiskt kan tänkas dra nytta av att lägga undan sin SQL-databas på vinden, och istället börja använda en icke-relationell databas istället.

Utöver att bara förklara skillnaderna sammanställer vi även de olika egenskaperna för de olika databaserna i en tabell för att göra jämförelsen mer lättöverskådlig. Vi förser även läsaren med ett avsnitt i resultatdelen som behandlar olika typer av data och deras lämplighet med olika typer av NoSQL-databaser. Prestandatesterna visade att MongoDB var snabbast eftersom den var bäst lämpad för den data och de frågor som vi testade med. Neo4J gav även goda resultat framför allt med avseende på skillnaden i tidsåtgång beroende på datastorlek. CouchDB visade sig ta längst tid av alla de NoSQL-databaserna vi testade på grund av att den inte lämpade sig för den data och de frågor vi valde. Detta gjorde att CouchDB behövde sända stora mängder data till programmet för extern filtrering, vilket fick längre tidsåtgång som följd.

Place, publisher, year, edition, pages
2011.
Series
Kandidatexjobb CSC, K11103
National Category
Computer Science
Identifiers
URN: urn:nbn:se:kth:diva-130906OAI: oai:DiVA.org:kth-130906DiVA: diva2:654351
Educational program
Master of Science in Engineering - Industrial Engineering and Management
Uppsok
Technology
Supervisors
Examiners
Available from: 2013-10-07 Created: 2013-10-07

Open Access in DiVA

No full text

Other links

http://www.csc.kth.se/utbildning/kandidatexjobb/teknikmanagement/2011/rapport/sodergren_peter_OCH_englund_bjorn_K11103.pdf
By organisation
School of Computer Science and Communication (CSC)
Computer Science

Search outside of DiVA

GoogleGoogle Scholar

urn-nbn

Altmetric score

urn-nbn
Total: 2593 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf