Please use this identifier to cite or link to this item:
https://hdl.handle.net/10216/137426| Author(s): | Rafael Araújo Moura |
| Title: | Graph databases for HR relationships |
| Issue Date: | 2021-10-11 |
| Abstract: | Human Resources data modeling makes heavy use of graph like structure to hold objects (positions, contracts, jobs, cost centers, org units, etc.) and their relationships (an org unit reports to another org unit, a position belongs to an org unit and reports to another position, etc.). Traditionally, Human Resources' databases are relational, and querying graph data stored on a relational database is highly inefficient. The main objective of this dissertation is the comparison, in terms of performance and flexibility, between a relational and a graph database, when both have highly-connected data as it is the case with Human Resources' data. It was then required to model a database based on a real scenario of a company who deals these types of data on a daily basis. Queries were also formulated and they enabled the interaction with all stored entities and relationships between them while allowing the retrieval of performance results for both databases. Written queries were also compared, in terms of readability and expressability, with the objetive of determining which case is easier to understand what is being queried and how much simpler it is to formulate such query. When executing queries that traverse almost completely a data structure, the graph database performed much better than a relational database, even getting execution time values 200 times smaller than those obtained in SQL. As for hierarchical queries, only when we increased the amount of manager relationships per employee, by a factor of ten, were we able to see that Neo4j performed up to 3.5 times faster than SQL. These results regard databases with a maximum of one million employees and it is safe to believe that the differences in performance would grow larger for even bigger and more connected databases. Furthermore, it was concluded that the database modeling in graphs is more intuitive and immediate, and as for queries, its formulation is faster, simpler and more readable in the case of Cypher language when in contrast to its writing in SQL. This is due to the fact that the analysed Cypher queries had half the lines of their SQL query equivalents while also making use of ASCII characters for node and relationship representation when pattern matching. More concise queries result in a lower probability of errors occurring while also making it easier for new developers to catch up, understand and work with previously written queries. |
| Description: | A modelação de dados de Recursos Humanos usa intensivamente estruturas em grafo para armazenar objetos (posições, contratos, tarefas, centros de custo, unidades organizacionais, etc.) e as suas relações (uma unidade organizacional reporta a outra unidade organizacional, uma posição pertence a uma unidade organizacional e também reporta a outra posição, etc.). Tradicionalmente, bases de dados com dados de Recursos Humanos são relacionais, e a consulta de dados orientados a grafos armazenados numa base de dados relacional é muito ineficiente. O objetivo principal desta dissertação é a comparação, em termos de performance e flexibilidade, entre uma base de dados relacional e outra baseada em grafos, quando ambas contêm dados fortemente relacionados, tal como é o caso de dados de Recursos Humanos. Foi então necessário modelar uma base de dados com base num cenário real de uma empresa que lida diariamente com esse tipo de dados. Foram também formuladas interrogações que serviram de suporte para interagir com as entidades e respetivas relações armazenadas, e que permitiram obter resultados indicativos da performance de cada base de dados. Para além de uma análise desses resultados foram também comparadas as próprias interrogações, em termos de legibilidade e expressividade, com o objetivo de determinar qual dos casos é mais fácil de interpretar o que se pretende com a interrogação e quão mais simples é de a formular. Ao executar interrogações que percorrem, quase que por completo, uma estrutura de dados, a base de dados baseada em grafos teve um desempenho muito melhor do que a base de dados relacional, obtendo até valores de tempos de execução 200 vezes menores do que os obtidos em SQL. Quanto às consultas hierárquicas, somente quando aumentamos a quantidade de relações de gerentes por funcionário, num fator de dez, pudemos constatar que Neo4j teve um desempenho até 3.5 vezes mais rápido que SQL. Estes resultados referem-se a bases de dados com, no máximo um milhão de funcionários, e seria expectável que estas diferenças de desempenho fossem superiores para bases de dados de maior dimensão e com dados ainda mais relacionados. Para além disso, concluiu-se que a modelação da base de dados em grafos é mais intuitiva e imediata, e quanto às interrogações, a sua formulação é mais rápida, simples e legível no caso da linguagem Cypher quando em contraste com a sua escrita em SQL. Tal deve-se ao facto de todas as interrogações escritas em Cypher terem ocupado metade das linhas da mesma interrogação escrita em SQL, recorrendo também a caracteres ASCII para representação de nós e relações na correspondência de padrões. Consultas mais concisas resultam numa menor probabilidade de ocorrência de erros e ao mesmo tempo tornam mais fácil para novos desenvolvedores acompanharem, entenderem e trabalharem com interrogações previamente escritas. |
| Subject: | Engenharia electrotécnica, electrónica e informática Electrical engineering, Electronic engineering, Information engineering |
| Scientific areas: | Ciências da engenharia e tecnologias::Engenharia electrotécnica, electrónica e informática Engineering and technology::Electrical engineering, Electronic engineering, Information engineering |
| DOI: | 10.34626/9rrs-r191 |
| TID identifier: | 202827780 |
| URI: | https://hdl.handle.net/10216/137426 |
| Document Type: | Dissertação |
| Rights: | openAccess |
| Appears in Collections: | FEUP - Dissertação |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| 512721.pdf | Graph databases for HR relationships | 1.26 MB | Adobe PDF | ![]() View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
