Análise de desempenho entre as linguagens Java e Scala

Detalhes bibliográficos
Autor(a) principal: Cavalcante, Ana Rute da Silva
Data de Publicação: 2022
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRN
Texto Completo: https://repositorio.ufrn.br/handle/123456789/48733
Resumo: Vivemos atualmente numa era conhecida como "Era das Redes Sociais", onde informações de todo tipo são geradas e consumidas por aplicações quase sempre complexas a todo segundo, havendo a extrema necessidade de processamento quase instantâneo. Esse é um exemplo do que se conhece por Big Data. Big Data refere-se ao grande número de dados em constante movimento e às operações sobre eles. Aplicações como Internet das Coisas, Inteligência Artificial, aplicativos móveis, sensores, transações bancárias e até mesmo e-commerce, além das redes sociais anteriormente citadas, são alguns exemplos do que conseguimos sentir do impacto do Big Data no nosso dia a dia. Para isso, algumas tecnologias e ferramentas precisaram ser criadas ou adaptadas para lidar com a crescente do Big Data. Dentre elas, existem o Java e Scala, nossos objetos de estudo. O objetivo principal deste trabalho consiste em apresentar e estudar as linguagens Java e Scala, suas principais características e estruturas de código, bem como analisar seus comportamentos através de medições de tempo e geração de gráficos em simulações de aplicações Big Data. Os resultados foram coletados a partir da execução de programas desenvolvidos em Java e Scala, assim como, para fins comparativos, utilizando também o framework Spark, uma tecnologia que também dá suporte a aplicações Big Data. Ao final desta dissertação, é esperado que o leitor consiga ter uma boa concepção sobre as principais vantagens e desvantagens de se trabalhar com essas linguagens, e para qual tipo de aplicação elas se saem melhor.
id UFRN_f0eb224a3fd9dd1808fc94f86705e0f9
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/48733
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Cavalcante, Ana Rute da Silvahttp://lattes.cnpq.br/2827756912389100http://lattes.cnpq.br/7987212907837941Leitão, Gustavo Bezerra Pazhttp://lattes.cnpq.br/6766556258983738Abrantes, Joilson Vidalhttp://lattes.cnpq.br/1425242356074089Oliveira, Luiz Affonso Henderson Guedes de2022-07-26T17:06:26Z2022-07-26T17:06:26Z2022-07-15CAVALCANTE, Ana Rute da Silva. Análise de desempenho entre as linguagens Java e Scala. 2022. 67f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2022.https://repositorio.ufrn.br/handle/123456789/48733Vivemos atualmente numa era conhecida como "Era das Redes Sociais", onde informações de todo tipo são geradas e consumidas por aplicações quase sempre complexas a todo segundo, havendo a extrema necessidade de processamento quase instantâneo. Esse é um exemplo do que se conhece por Big Data. Big Data refere-se ao grande número de dados em constante movimento e às operações sobre eles. Aplicações como Internet das Coisas, Inteligência Artificial, aplicativos móveis, sensores, transações bancárias e até mesmo e-commerce, além das redes sociais anteriormente citadas, são alguns exemplos do que conseguimos sentir do impacto do Big Data no nosso dia a dia. Para isso, algumas tecnologias e ferramentas precisaram ser criadas ou adaptadas para lidar com a crescente do Big Data. Dentre elas, existem o Java e Scala, nossos objetos de estudo. O objetivo principal deste trabalho consiste em apresentar e estudar as linguagens Java e Scala, suas principais características e estruturas de código, bem como analisar seus comportamentos através de medições de tempo e geração de gráficos em simulações de aplicações Big Data. Os resultados foram coletados a partir da execução de programas desenvolvidos em Java e Scala, assim como, para fins comparativos, utilizando também o framework Spark, uma tecnologia que também dá suporte a aplicações Big Data. Ao final desta dissertação, é esperado que o leitor consiga ter uma boa concepção sobre as principais vantagens e desvantagens de se trabalhar com essas linguagens, e para qual tipo de aplicação elas se saem melhor.We currently live in an era known as the "Era of Social Media", where information of all kinds is generated and consumed by almost always complex applications every second, with the extreme need for almost instantaneous processing. This is an example of what is known as Big Data. Big Data refers to the large amount of data in constant motion and the operations on it. Applications such as the Internet of Things, Artificial Intelligence, mobile applications, sensors, banking transactions, and even e-commerce, as well as the social networks mentioned above, are some examples of how we can feel the impact of Big Data in our daily lives. For this, some technologies and tools had to be created or adapted to deal with the growth of Big Data. Among them, there are Java and Scala, our objects of study. The main objective of this work is to present and study the Java and Scala languages, their main features and code structures, as well as analyze their behavior through time measurements and graphing in simulations of Big Data applications. The results were collected from the execution of programs developed in Java and Scala, as well as, for comparative purposes, also using the Spark framework, a technology that also supports Big Data applications. At the end of this dissertation, it is expected that the reader will be able to have a good conception of the main advantages and disadvantages of working with these languages, and for what type of application they are better.Universidade Federal do Rio Grande do NorteEngenharia de ComputaçãoUFRNBrasilDepartamento de Engenharia de Computação e AutomaçãoAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessScalaJavaBig DataSparkProcessamento de dadosData ProcessingAnálise de desempenho entre as linguagens Java e ScalaPerformance analysis between Java and Scala languagesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufrn.br/bitstream/123456789/48733/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-81484https://repositorio.ufrn.br/bitstream/123456789/48733/3/license.txte9597aa2854d128fd968be5edc8a28d9MD53ORIGINALAnalisededesempenho_CAVALCANTE_2022.pdfAnalisededesempenho_CAVALCANTE_2022.pdfTrabalho de Conclusão de Curso - Ana Rute da Silva Cavalcanteapplication/pdf730072https://repositorio.ufrn.br/bitstream/123456789/48733/1/Analisededesempenho_CAVALCANTE_2022.pdf43b6c652fca68affeb6d3e1236f353adMD51123456789/487332022-07-26 14:06:27.275oai:https://repositorio.ufrn.br:123456789/48733Tk9OLUVYQ0xVU0lWRSBESVNUUklCVVRJT04gTElDRU5TRQoKCkJ5IHNpZ25pbmcgYW5kIGRlbGl2ZXJpbmcgdGhpcyBsaWNlbnNlLCBNci4gKGF1dGhvciBvciBjb3B5cmlnaHQgaG9sZGVyKToKCgphKSBHcmFudHMgdGhlIFVuaXZlcnNpZGFkZSBGZWRlcmFsIFJpbyBHcmFuZGUgZG8gTm9ydGUgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgb2YKcmVwcm9kdWNlLCBjb252ZXJ0IChhcyBkZWZpbmVkIGJlbG93KSwgY29tbXVuaWNhdGUgYW5kIC8gb3IKZGlzdHJpYnV0ZSB0aGUgZGVsaXZlcmVkIGRvY3VtZW50IChpbmNsdWRpbmcgYWJzdHJhY3QgLyBhYnN0cmFjdCkgaW4KZGlnaXRhbCBvciBwcmludGVkIGZvcm1hdCBhbmQgaW4gYW55IG1lZGl1bS4KCmIpIERlY2xhcmVzIHRoYXQgdGhlIGRvY3VtZW50IHN1Ym1pdHRlZCBpcyBpdHMgb3JpZ2luYWwgd29yaywgYW5kIHRoYXQKeW91IGhhdmUgdGhlIHJpZ2h0IHRvIGdyYW50IHRoZSByaWdodHMgY29udGFpbmVkIGluIHRoaXMgbGljZW5zZS4gRGVjbGFyZXMKdGhhdCB0aGUgZGVsaXZlcnkgb2YgdGhlIGRvY3VtZW50IGRvZXMgbm90IGluZnJpbmdlLCBhcyBmYXIgYXMgaXQgaXMKdGhlIHJpZ2h0cyBvZiBhbnkgb3RoZXIgcGVyc29uIG9yIGVudGl0eS4KCmMpIElmIHRoZSBkb2N1bWVudCBkZWxpdmVyZWQgY29udGFpbnMgbWF0ZXJpYWwgd2hpY2ggZG9lcyBub3QKcmlnaHRzLCBkZWNsYXJlcyB0aGF0IGl0IGhhcyBvYnRhaW5lZCBhdXRob3JpemF0aW9uIGZyb20gdGhlIGhvbGRlciBvZiB0aGUKY29weXJpZ2h0IHRvIGdyYW50IHRoZSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gR3JhbmRlIGRvIE5vcnRlIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdCB0aGlzIG1hdGVyaWFsIHdob3NlIHJpZ2h0cyBhcmUgb2YKdGhpcmQgcGFydGllcyBpcyBjbGVhcmx5IGlkZW50aWZpZWQgYW5kIHJlY29nbml6ZWQgaW4gdGhlIHRleHQgb3IKY29udGVudCBvZiB0aGUgZG9jdW1lbnQgZGVsaXZlcmVkLgoKSWYgdGhlIGRvY3VtZW50IHN1Ym1pdHRlZCBpcyBiYXNlZCBvbiBmdW5kZWQgb3Igc3VwcG9ydGVkIHdvcmsKYnkgYW5vdGhlciBpbnN0aXR1dGlvbiBvdGhlciB0aGFuIHRoZSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkbyBSaW8gR3JhbmRlIGRvIE5vcnRlLCBkZWNsYXJlcyB0aGF0IGl0IGhhcyBmdWxmaWxsZWQgYW55IG9ibGlnYXRpb25zIHJlcXVpcmVkIGJ5IHRoZSByZXNwZWN0aXZlIGFncmVlbWVudCBvciBhZ3JlZW1lbnQuCgpUaGUgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZG8gUmlvIEdyYW5kZSBkbyBOb3J0ZSB3aWxsIGNsZWFybHkgaWRlbnRpZnkgaXRzIG5hbWUgKHMpIGFzIHRoZSBhdXRob3IgKHMpIG9yIGhvbGRlciAocykgb2YgdGhlIGRvY3VtZW50J3MgcmlnaHRzCmRlbGl2ZXJlZCwgYW5kIHdpbGwgbm90IG1ha2UgYW55IGNoYW5nZXMsIG90aGVyIHRoYW4gdGhvc2UgcGVybWl0dGVkIGJ5CnRoaXMgbGljZW5zZQo=Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2022-07-26T17:06:27Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv Análise de desempenho entre as linguagens Java e Scala
dc.title.alternative.pt_BR.fl_str_mv Performance analysis between Java and Scala languages
title Análise de desempenho entre as linguagens Java e Scala
spellingShingle Análise de desempenho entre as linguagens Java e Scala
Cavalcante, Ana Rute da Silva
Scala
Java
Big Data
Spark
Processamento de dados
Data Processing
title_short Análise de desempenho entre as linguagens Java e Scala
title_full Análise de desempenho entre as linguagens Java e Scala
title_fullStr Análise de desempenho entre as linguagens Java e Scala
title_full_unstemmed Análise de desempenho entre as linguagens Java e Scala
title_sort Análise de desempenho entre as linguagens Java e Scala
author Cavalcante, Ana Rute da Silva
author_facet Cavalcante, Ana Rute da Silva
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/2827756912389100
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/7987212907837941
dc.contributor.referees1.none.fl_str_mv Leitão, Gustavo Bezerra Paz
dc.contributor.referees1Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/6766556258983738
dc.contributor.referees2.none.fl_str_mv Abrantes, Joilson Vidal
dc.contributor.referees2Lattes.pt_BR.fl_str_mv http://lattes.cnpq.br/1425242356074089
dc.contributor.author.fl_str_mv Cavalcante, Ana Rute da Silva
dc.contributor.advisor1.fl_str_mv Oliveira, Luiz Affonso Henderson Guedes de
contributor_str_mv Oliveira, Luiz Affonso Henderson Guedes de
dc.subject.por.fl_str_mv Scala
Java
Big Data
Spark
Processamento de dados
Data Processing
topic Scala
Java
Big Data
Spark
Processamento de dados
Data Processing
description Vivemos atualmente numa era conhecida como "Era das Redes Sociais", onde informações de todo tipo são geradas e consumidas por aplicações quase sempre complexas a todo segundo, havendo a extrema necessidade de processamento quase instantâneo. Esse é um exemplo do que se conhece por Big Data. Big Data refere-se ao grande número de dados em constante movimento e às operações sobre eles. Aplicações como Internet das Coisas, Inteligência Artificial, aplicativos móveis, sensores, transações bancárias e até mesmo e-commerce, além das redes sociais anteriormente citadas, são alguns exemplos do que conseguimos sentir do impacto do Big Data no nosso dia a dia. Para isso, algumas tecnologias e ferramentas precisaram ser criadas ou adaptadas para lidar com a crescente do Big Data. Dentre elas, existem o Java e Scala, nossos objetos de estudo. O objetivo principal deste trabalho consiste em apresentar e estudar as linguagens Java e Scala, suas principais características e estruturas de código, bem como analisar seus comportamentos através de medições de tempo e geração de gráficos em simulações de aplicações Big Data. Os resultados foram coletados a partir da execução de programas desenvolvidos em Java e Scala, assim como, para fins comparativos, utilizando também o framework Spark, uma tecnologia que também dá suporte a aplicações Big Data. Ao final desta dissertação, é esperado que o leitor consiga ter uma boa concepção sobre as principais vantagens e desvantagens de se trabalhar com essas linguagens, e para qual tipo de aplicação elas se saem melhor.
publishDate 2022
dc.date.accessioned.fl_str_mv 2022-07-26T17:06:26Z
dc.date.available.fl_str_mv 2022-07-26T17:06:26Z
dc.date.issued.fl_str_mv 2022-07-15
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv CAVALCANTE, Ana Rute da Silva. Análise de desempenho entre as linguagens Java e Scala. 2022. 67f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2022.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/handle/123456789/48733
identifier_str_mv CAVALCANTE, Ana Rute da Silva. Análise de desempenho entre as linguagens Java e Scala. 2022. 67f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, 2022.
url https://repositorio.ufrn.br/handle/123456789/48733
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.publisher.program.fl_str_mv Engenharia de Computação
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Departamento de Engenharia de Computação e Automação
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/48733/2/license_rdf
https://repositorio.ufrn.br/bitstream/123456789/48733/3/license.txt
https://repositorio.ufrn.br/bitstream/123456789/48733/1/Analisededesempenho_CAVALCANTE_2022.pdf
bitstream.checksum.fl_str_mv e39d27027a6cc9cb039ad269a5db8e34
e9597aa2854d128fd968be5edc8a28d9
43b6c652fca68affeb6d3e1236f353ad
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1802117621354594304