För- och nackdelar med NoSQL i motsats till MySQL
Ollas, Johan (2018)
Ollas, Johan
Yrkeshögskolan Arcada
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018121922372
https://urn.fi/URN:NBN:fi:amk-2018121922372
Tiivistelmä
Arbetets mål är att ta reda på vad NoSQL-databaser är och hur de strukturerar data och att jämföra deras prestanda mot relationsbaserade varianter. För att utföra arbetet har re olika NoSQL-databaser valts ut: kolumnbaserade Cassandra, dokumentbaserade MongoDB och grafbaserade Neo4j. Relationsdatabasen som behandlas i arbetet är MySQL. Arbetet börjar med att ta upp allmän information om alla de olika databaserna som behandlas för att skapa en bild av hur de fungerar, hur de är utvecklade och för att ge exempel på möjliga användningsområden. Sedan tas varje databas upp i detalj. Först berättar arbetet hur de olika databaserna strukturerar data för att lyfta upp eventuella skillnader. Sedan tas det upp hur det i praktiken går till att installera och konfigurera varje databas samt hur data matas in och sedan behandlas. Arbetet tar också upp alterna-tiva verktyg för administrering av databaserna. Prestandajämförelserna baserar sig på analytisk genomgång av existerande forskningslitteratur. Arbetet tar upp ett flertal olika belastningstest där varje NoSQL-databas testas mot en relationsbaserad variant i olika miljöer. Testerna bevisar att NoSQL-databaserna fungerar bra inom sina specifika an-vändningsområden samt när det handlar om att hantera stora mängder data. Testerna visar också att relationsdatabaser i de flesta fall presterar bättre på traditionell server-hårdvara. Arbetet avslutas med en spekulation om att NoSQL kommer att ha en mycket stor plats i framtiden, speciellt eftersom mängden data som måste sparas och behandlas hela tiden ökar vilket sätter en stor belastning på relationsdatabaser. En annan orsak som pekar på en ljus framtid för NoSQL är att de är mer kostnadseffektiva för att det går att sprida ut dem med hjälp av t.ex. molnteknologi. The goal of this thesis is to find out what NoSQL is and how they structure data and to compare their effectiveness against relational variants. Three different NoSQL-databases have been chosen: column based Cassandra, document based MongoDB and graph based Neo4j. The relational database used is MySQL. The thesis first goes through general information about the databases to paint a picture about how they work, how they’re developed and to give examples of possible areas of use. After this we go more into detail. First, we go through data structure in order to find differences, then it shows how to install and configure each of the databases and how to save and process data. The thesis also shows alternative tools for database administration. Performance comparisons are based on existing literature. The thesis goes through several different stress tests where each NoSQL-database is tested against a relational variant. The tests show that NoSQL-databases work well in their intended areas of use and when the amount of data that needs to be processed becomes large. The tests also show that rela-tional databases perform well on more traditional server hardware. The thesis concludes with a speculation that NoSQL will have a large place in the future especially because the amount of data that needs to be saved and processed is growing each day. Another reason would be that NoSQLis cheaper to use when using cloud technology