Connect with us

Leak

MongoDB VS MySQL

Pedro Magalhães

Publicado a

MySQL

O MySQL é um sistema de gerenciamento de uma base de dados relacional opensource (RDBMS) desenvolvida, distribuída e suportada pela Oracle Corporation. Como outros sistemas relacionais, o MySQL armazena dados nas tabelas e usa a linguagem de consulta estruturada (SQL) para aceder á base de dados. No MySQL,  é pré elaborado o esquema da base de dados com base nos seus requisitos e configura as regras necessárias para gerir as relações entre os campos nas tabelas. No MySQL, as informações relacionadas podem ser guardadas em tabelas separadas, mas associadas através do uso de associações. Desta forma, a duplicação de dados é minimizada.

MongoDB

MongoDB é uma base de dados opensource desenvolvida pela MongoDB, Inc. MongoDB armazena os dados em documentos semelhantes ao formato de dados JSON, que pode variar na sua estrutura. As informações relacionais são guardadas em conjunto para existir um rápido acesso ás consultas através do linguagem de consulta do MongoDB. MongoDB usa esquemas dinâmicos, o que significa que se pode criar registos sem primeiro definir a estrutura, como os campos ou os tipos dos seus valores. Pode-se alterar a estrutura dos registos (que chamamos de documentos) simplesmente adicionando novos campos ou excluindo os existentes. Este modelo de dados oferece a capacidade de representar relacionamentos hierárquicos, armazenar arrays e outras estruturas mais complexas de uma forma mais simplificada. Os documentos numa coleção não precisam de ter um conjunto de campos idêntico e a desnormalização de dados é comum. O MongoDB também foi projetado com alta disponibilidade e escalabilidade em mente.

 

Terminologias e Conceitos

Esta tabela descreve alguns dos conceitos comuns entre MySQl e MongoDB.

MySQLMongoDB
TableCollection
RowDocument
ColumnField
JoinsEmbedded documents, linking

 

Comparação

Como o MySQL, o MongoDB oferece um rico conjunto de recursos e funcionalidades muito superiores ás key-value databases. O MongoDB possui uma linguagem de consulta, índices secundários altamente funcionais (incluindo procura de texto e geoespacial), uma poderosa estrutura de agregação para análise de dados e muito mais. Com o MongoDB, também se pode usar esses recursos em tipos de dados mais diversos do que com uma base de dados relacional e em escala.

MySQLMongoDB
Rich Data ModelNoYes
Dynamic SchemaNoYes
Typed DataYesYes
Data LocalityNoYes
Field UpdatesYesYes
Easy for ProgrammersNoYes
Complex TransactionsYesNo
AuditingYesYes
Auto-ShardingNoYes

 

Query Language

Tanto o MySQL quanto o MongoDB possuem uma linguagem de consulta bastante rica e elaborada.

MySQLMongoDB
INSERT INTO utilizadores (utilizador_id, idade, estado)
VALUES ('teste001', 40, 'B')
db.utilizadores.insert({
  utilizador_id: 'teste001',
  idade: 40,
  estado: 'B'
})
SELECT * FROM utilizadores
db.utilizadores.find()
UPDATE utilizadores SET estado = 'C'
WHERE idade > 25
db.utilizadores.update(
  { idade: { $gt: 25 } },
  { $set: { estado: 'C' } },
  { multi: true }
)

 

MongoDB ao invés MySQL

Várias organizações estão a optar pela base de dados MongoDB porque permite que eles criem aplicações mais rapidamente, manipulem os mais diversos tipos de dados e possam gerir as aplicações de forma mais eficiente e em escala.

O desenvolvimento é simplificado, pois os documentos MongoDB são desenhados para linguagens de programação modernas e orientadas a objetos. O uso do MongoDB remove a complexa camada de Object-relational mapping (ORM) que traduz objetos no código para tabelas relacionais.

O modelo de dados flexível do MongoDB também significa que o seu esquema de base de dados pode evoluir com os requisitos do projeto. Por exemplo, as mudanças de esquematização que levam dias da semanas nas bases de dados MySQL do Weather Channel podem ser feitas em apenas algumas horas com o MongoDB.

O MongoDB também pode ser dimensionado dentro e entre vários centros de dados distribuídos, fornecendo novos níveis de disponibilidade e escalabilidade anteriormente impossíveis de serem alcançados com base de dados relacionais como o MySQL. À medida que as suas implementações crescem em termos de volume de dados e throughput, o MongoDB é escalado facilmente sem tempo de inatividade e sem alterar a aplicação. Em contraste, alcançar o escalonamento com o MySQL requer frequentemente um trabalho elaborado por especialistas em base de dados e que demora bastante tempo. Um caso real, o Baidu migrou do MySQL para o MongoDB para suportar o seu negócio que está a ter um rápido crescimento. O gigante chinês , provedor de serviços de internet agora possui mais de 100 aplicações e gere mais de 1PB de dados com seu cluster MongoDB.

Saber mais…

Outras notícias de hoje:

Estudante de Engenharia Informática no Instituto Politécnico de Leiria e Membro do IEEE IPLeiria Student Branch .

Clique para comentar

Leave a Reply

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.

PUB Banner ESET

Últimas Notícias

Hardware56 mins atrás

Os novos APU AMD Ryzen 3000U já foram benchmarked!

A AMD está neste momento a tratar dos últimos detalhes, dos seus novos APUs para portáteis e ultra-portáteis, Ryzen 3000U!...

Caça-promoções1 hora atrás

Oh Oh Oh… Quer um smartwatch no Natal? Veja os nossos descontos!

Quer um Smartwatch no Natal? – O smartwatch é sem dúvida um dos ‘brinquedos’ mais interessantes para o ‘clássico’ entusiasta...

Android2 horas atrás

Samsung Galaxy S10: As variantes, os preços e as datas de lançamento!

Com o ano a terminar e 2019 a chegar é inevitável falarmos do novo Samsung Galaxy S10! Afinal de contas, este...

Android2 horas atrás

WhatsApp recebe modo PiP no Android. Já pode atualizar!

A funcionalidade Picture in Picture, ou PiP, que tão bem já conhecemos dos televisores tem vindo a ganhar popularidade nos...

Jogos3 horas atrás

O novo jogo Artifact da Valve pode estar prestes a ficar ‘Free’!

O Artifact é o mais recente jogo desenvolvido pela Valve, sendo um jogo de cartas colecionáveis, com o grande objetivo...

Apple4 horas atrás

A Qualcomm está a tentar banir a venda do iPhone XS e XR na China!

Apesar da Qualcomm ter dito nos últimos dias, que tenciona reatar a sua relação com a Apple… As coisas não...

Jogos5 horas atrás

League of Legends vai deixar de suportar os Windows XP e Vista em 2019

O suporte ao Windows XP e Windows Vista começa finalmente a desaparecer aos poucos! Afinal de contas, as últimas atualizações...

Hardware16 horas atrás

LG Gram 17 ‘UltraLight’ com apenas 1.33KG já foi anunciado!

Para todos os amantes de portáteis finos e leves, a LG já nos apresentou os seus modelos do LG Gram!...