Show simple item record

dc.contributor.authorNoguera, Viviana Elizabeth Romero
dc.date.accessioned2018-04-10T22:32:33Z
dc.date.available2018-04-10T22:32:33Z
dc.date.issued2018-04-02
dc.identifier.citationNOGUERA, Viviana Elizabeth Romero. Extensão de uma álgebra ER para execução de consultas em bancos de dados NoSQL orientados a documentos. 2018. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2018. Disponível em: https://repositorio.ufscar.br/handle/ufscar/9716.*
dc.identifier.urihttps://repositorio.ufscar.br/handle/ufscar/9716
dc.description.abstractNon-relational databases, also called as NoSQL (``Not Only SQL''), have emerged from the need for new mechanisms for storing, retrieving and processing for large amounts of data produced mainly from the coming of Web 2.0 applications. There are different models of non-relational data, each with its own characteristics and applicability. There are also hundreds of non-relational database management systems, each with a different query language,and its own API. Due to the lack of a standard for data manipulation languages (DML) in this type of database, it is a challenge for the Software Engineer to deal with the learning and development of queries.In addition, by prioritizing performance, non-relational databases often adopt denormalized schemas, generating a large diversity in stored data structures, which also makes it difficult to develop and reuse queries. Faced with these two challenges, this work aimed to define a generic approach to queries, independent of the database type and also independent of the schema in which the data is stored. For this, extended an existent algebra, based on Entities and Relationships for data manipulation, with an operational semantics driven by models (Model-Driven Engineering - MDE). More specifically, metamodels have been developed so that the Software Engineer can: (i) model the persistent entities (Entity-Relationship); (ii) model queries about the entities and relationships according to the algebra being used; and (iii) model the mapping between the entities and the types of documents stored. Based on these specifications, an algorithm was implemented that automatically generates JavaScript queries to be executed in the MongoDB database, according to the mapping model. If the database schema needs to be modified throughout the lifecycle, only the mapping model (model ``iii'') needs to be modified. The conceptual model and the queries (``i'' and ``ii'' models) remain completely independent of the storage schema and can be developed and reused more easily. Two evaluations were carried out, using an example of an academic system and a real system, trying to exhaustively test the different possibilities of mapping between entities and documents. The results obtained with these systems show that it is possible that the generated queries always return the same results, independent of the mapping, thus reaching the objective of this work.eng
dc.description.sponsorshipConselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)por
dc.language.isoporpor
dc.publisherUniversidade Federal de São Carlospor
dc.rights.uriAcesso abertopor
dc.subjectNoSQLpor
dc.subjectBancos de dadospor
dc.subjectConsultaspor
dc.subjectMapeamentopor
dc.subjectMDEpor
dc.subjectDatabaseeng
dc.subjectQuerieseng
dc.subjectMappingeng
dc.subjectEntidade relacionamentopor
dc.subjectEntity relationshipeng
dc.titleExtensão de uma álgebra ER para execução de consultas em bancos de dados NoSQL orientados a documentospor
dc.title.alternativeExtension of an ER algebra to execute queries on documents-oriented NoSQL databaseseng
dc.typeDissertaçãopor
dc.contributor.advisor1Lucrédio, Daniel
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/9090396559596221por
dc.description.resumoBancos de dados não relacionais, também chamados de NoSQL (``Not Only SQL''), surgiram da necessidade de contar com novos mecanismos de armazenamento, recuperação e processamento de grandes volumes de dados produzidos principalmente a partir da chegada das aplicações Web 2.0. Existem diferentes modelos de dados não relacionais, cada um com suas próprias características e aplicabilidade. Existem também centenas de sistemas gerenciadores de bancos de dados não relacionais, cada um com uma linguagem de consulta diferente e sua própria API. Devido à falta de um padrão para as linguagens de manipulação de dados (DML) nesse tipo de bancos de dados, torna-se um desafio para o Engenheiro de Software lidar com o aprendizado e o desenvolvimento das consultas. Além disso, por priorizar o desempenho, bancos de dados não relacionais frequentemente adotam esquemas desnormalizados, gerando uma grande diversidade nas estruturas dos dados armazenados, o que também dificulta o trabalho de desenvolvimento e reutilização das consultas. Frente a esses dois desafios, este trabalho teve como objetivo a definição de uma abordagem genérica para consultas, independente do tipo do banco de dados e também independente do esquema no qual os dados são armazenados. Para isso, estendeu-se uma álgebra existente, baseada em Entidades e Relacionamentos para manipulação de dados, com uma semântica operacional dirigida por modelos (Model-Driven Engineering - MDE). Mais especificamente, foram desenvolvidos metamodelos para que o Engenheiro de Software possa: (i) modelar as entidades persistentes (Entidade-Relacionamento); (ii) modelar consultas sobre as entidades e relacionamentos conforme a álgebra sendo utilizada; e (iii) modelar o mapeamento entre as entidades e os tipos de documentos armazenados. Com base nessas especificações, foi implementado um algoritmo que gera automaticamente consultas JavaScript para serem executadas no banco de dados MongoDB, de acordo com o modelo de mapeamento. Caso o esquema do banco precise ser modificado ao longo do ciclo de vida, apenas o modelo do mapeamento (modelo ``iii'') precisa ser modificado. O modelo conceitual e as consultas (modelos ``i'' e ``ii'') permanecem completamente independentes do esquema de armazenamento, podendo ser desenvolvidos e reutilizados mais facilmente. Foram realizadas duas avaliações, utilizando um exemplo de um sistema acadêmico e um sistema real, buscando testar exaustivamente as diferentes possibilidades de mapeamento entre entidades e documentos. Os resultados obtidos com esses sistemas demonstram ser possível que as consultas geradas retornem sempre os mesmos resultados, independente do mapeamento, alcançando assim o objetivo deste trabalho.por
dc.publisher.initialsUFSCarpor
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computação - PPGCCpor
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::BANCO DE DADOSpor
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWAREpor
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::SISTEMAS DE INFORMACAOpor
dc.description.sponsorshipIdCNPq: 132206/2016-1por
dc.ufscar.embargoOnlinepor
dc.publisher.addressCâmpus São Carlospor
dc.contributor.authorlatteshttp://lattes.cnpq.br/2452374458203874por


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record