Scalability patterns for distributed NoSQL databases

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: Costa, Caio Holanda
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Estadual do Ceará
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://siduece.uece.br/siduece/trabalhoAcademicoPublico.jsf?id=82841
Resumo: <div style="">Para lidar com a crescente demanda de armazenamento e provimento de dados das atuais aplicações on-line, empresas como Amazon e Google desenvolveram bancos de dados não relacionais verdadeiramente distribuídos que se tornaram conhecidos como bancos de dados NoSQL. A fim de prover de maneira simples uma grande capacidade de escalabilidade horizontal, esses bancos de dados têm como modelo de dados o domínio da aplicação e abrem mão de alguns princípios de bancos de dados relacionais. No entanto, adotar um banco de dados NoSQL distribuído e comprometer-se com seu modelo de dados pode não fornecer o nível de escalabilidade necessário para alguns cenários. Nesses casos, é necessário implementar a abordagem de modelagem de dados correta para alavancar a escalabilidade do banco de dados. Portanto, este trabalho cataloga quatro padrões de modelagem de dados que visam melhorar a escalabilidade de aplicativos baseados em bancos de dados NoSQL distribuídos: UUID Key, Index Table, Enumerable Keys e Fan-out on Write. Os padrões propostos incluem testes baseados em cargas de trabalho que comparam o desempenho dos padrões com abordagens mais intuitivas e menos escaláveis, a fim de proporcionar uma melhor compreensão das melhorias e desvantagens dos padrões. O código-fonte das cargas de trabalho e das ferramentas desenvolvidas para executar os testes dos padrões estão compartilhados em um repositório público de forma que estudantes e desenvolvedores possam personalizá-los e testá-los em seus próprios ambientes. Palavras-chave: NoSQL. banco de dados. padrões. escalabilidade. benchmark. cargas de trabalho. YCSB.</div>
id UECE-0_82f9491aecad291cd6defc92569383a4
oai_identifier_str oai:uece.br:82841
network_acronym_str UECE-0
network_name_str Repositório Institucional da UECE
repository_id_str
spelling Scalability patterns for distributed NoSQL databasesBanco de dados Benchmarks Ciência da computação NoSQL<div style="">Para lidar com a crescente demanda de armazenamento e provimento de dados das atuais aplicações on-line, empresas como Amazon e Google desenvolveram bancos de dados não relacionais verdadeiramente distribuídos que se tornaram conhecidos como bancos de dados NoSQL. A fim de prover de maneira simples uma grande capacidade de escalabilidade horizontal, esses bancos de dados têm como modelo de dados o domínio da aplicação e abrem mão de alguns princípios de bancos de dados relacionais. No entanto, adotar um banco de dados NoSQL distribuído e comprometer-se com seu modelo de dados pode não fornecer o nível de escalabilidade necessário para alguns cenários. Nesses casos, é necessário implementar a abordagem de modelagem de dados correta para alavancar a escalabilidade do banco de dados. Portanto, este trabalho cataloga quatro padrões de modelagem de dados que visam melhorar a escalabilidade de aplicativos baseados em bancos de dados NoSQL distribuídos: UUID Key, Index Table, Enumerable Keys e Fan-out on Write. Os padrões propostos incluem testes baseados em cargas de trabalho que comparam o desempenho dos padrões com abordagens mais intuitivas e menos escaláveis, a fim de proporcionar uma melhor compreensão das melhorias e desvantagens dos padrões. O código-fonte das cargas de trabalho e das ferramentas desenvolvidas para executar os testes dos padrões estão compartilhados em um repositório público de forma que estudantes e desenvolvedores possam personalizá-los e testá-los em seus próprios ambientes. Palavras-chave: NoSQL. banco de dados. padrões. escalabilidade. benchmark. cargas de trabalho. YCSB.</div><div style="">In order to cope with the ever increasing storage service demand of current online applications, companies like Amazon and Google have developed truly distributed non-relational datastores that become known as NoSQL databases. Those databases rely on a domain driven data model and give up some principles of relational databases in order to provide an easy and great scalingout capacity. However, adopting a distributed NoSQL database and committing to its data model may not provide the scalability level required for some scenarios. In those cases it is necessary to employ the correct data modeling approach in order to leverage database scalability. Therefore, this work catalogs four data modeling patterns that aim to improve the scalability of applications based on distributed NoSQL databases: UUID Key, Index Table, Enumerable Keys e Fan-out on Write. The proposed patterns include workload-based tests that compare the performance of the patterns against more intuitive and less scalable approaches in order to provide a better understanding of the improvements and drawbacks of the patterns. The source code of the workloads and tools developed to support the patterns tests are available in a public repository so students and developers can customize and test them in their own scenarios. Keywords: NoSQL. database. pattern. scalability. benchmark. workload. YCSB.</div>Universidade Estadual do CearáNabor das Chagas MendonçaCosta, Caio Holanda2019-04-22T15:07:42Z2017info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://siduece.uece.br/siduece/trabalhoAcademicoPublico.jsf?id=82841info:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UECEinstname:Universidade Estadual do Cearáinstacron:UECE2019-04-22T15:07:42Zoai:uece.br:82841Repositório InstitucionalPUBhttps://siduece.uece.br/siduece/api/oai/requestopendoar:2019-04-22T15:07:42Repositório Institucional da UECE - Universidade Estadual do Cearáfalse
dc.title.none.fl_str_mv Scalability patterns for distributed NoSQL databases
title Scalability patterns for distributed NoSQL databases
spellingShingle Scalability patterns for distributed NoSQL databases
Costa, Caio Holanda
Banco de dados
Benchmarks
Ciência da computação
NoSQL
title_short Scalability patterns for distributed NoSQL databases
title_full Scalability patterns for distributed NoSQL databases
title_fullStr Scalability patterns for distributed NoSQL databases
title_full_unstemmed Scalability patterns for distributed NoSQL databases
title_sort Scalability patterns for distributed NoSQL databases
author Costa, Caio Holanda
author_facet Costa, Caio Holanda
author_role author
dc.contributor.none.fl_str_mv Nabor das Chagas Mendonça
dc.contributor.author.fl_str_mv Costa, Caio Holanda
dc.subject.por.fl_str_mv Banco de dados
Benchmarks
Ciência da computação
NoSQL
topic Banco de dados
Benchmarks
Ciência da computação
NoSQL
description <div style="">Para lidar com a crescente demanda de armazenamento e provimento de dados das atuais aplicações on-line, empresas como Amazon e Google desenvolveram bancos de dados não relacionais verdadeiramente distribuídos que se tornaram conhecidos como bancos de dados NoSQL. A fim de prover de maneira simples uma grande capacidade de escalabilidade horizontal, esses bancos de dados têm como modelo de dados o domínio da aplicação e abrem mão de alguns princípios de bancos de dados relacionais. No entanto, adotar um banco de dados NoSQL distribuído e comprometer-se com seu modelo de dados pode não fornecer o nível de escalabilidade necessário para alguns cenários. Nesses casos, é necessário implementar a abordagem de modelagem de dados correta para alavancar a escalabilidade do banco de dados. Portanto, este trabalho cataloga quatro padrões de modelagem de dados que visam melhorar a escalabilidade de aplicativos baseados em bancos de dados NoSQL distribuídos: UUID Key, Index Table, Enumerable Keys e Fan-out on Write. Os padrões propostos incluem testes baseados em cargas de trabalho que comparam o desempenho dos padrões com abordagens mais intuitivas e menos escaláveis, a fim de proporcionar uma melhor compreensão das melhorias e desvantagens dos padrões. O código-fonte das cargas de trabalho e das ferramentas desenvolvidas para executar os testes dos padrões estão compartilhados em um repositório público de forma que estudantes e desenvolvedores possam personalizá-los e testá-los em seus próprios ambientes. Palavras-chave: NoSQL. banco de dados. padrões. escalabilidade. benchmark. cargas de trabalho. YCSB.</div>
publishDate 2017
dc.date.none.fl_str_mv 2017
2019-04-22T15:07:42Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://siduece.uece.br/siduece/trabalhoAcademicoPublico.jsf?id=82841
url https://siduece.uece.br/siduece/trabalhoAcademicoPublico.jsf?id=82841
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Estadual do Ceará
publisher.none.fl_str_mv Universidade Estadual do Ceará
dc.source.none.fl_str_mv reponame:Repositório Institucional da UECE
instname:Universidade Estadual do Ceará
instacron:UECE
instname_str Universidade Estadual do Ceará
instacron_str UECE
institution UECE
reponame_str Repositório Institucional da UECE
collection Repositório Institucional da UECE
repository.name.fl_str_mv Repositório Institucional da UECE - Universidade Estadual do Ceará
repository.mail.fl_str_mv
_version_ 1828296373120794624