Oráculo

Oracle não é o banco de dados mais popular, mas é o mais famoso. Embora se possa argumentar que o mais popular. Veja como contar . Se você olhar apenas para o número de empresas, o MySQL é o banco de dados mais popular: é muito bom e totalmente gratuito :)

Mas também pode ser considerado de forma diferente. Se houver uma empresa com um milhão de clientes que usa Oracle e 5 empresas com cem clientes que usam MySQL, a Oracle tem um milhão de clientes e o MySQL apenas 500 pessoas.

Em geral, se você pegar grandes empresas que têm dinheiro e observar qual DBMS elas escolhem, cerca de um terço de todas as empresas do mundo estão sentadas no Oracle. Algo assim.

Como programador, é mais provável que você trabalhe no futuro com Oracle do que com MySQL. Há um excelente vídeo na Internet que demonstra como a popularidade do DBMS mudou nos últimos 20 anos.

MySQL

O segundo mais popular entre todos os DBMS é o MySQL. E é o primeiro em popularidade entre todos os DBMS gratuitos. Agora você entende por que aprendemos SQL com o exemplo dela. Hype é hype e os negócios são bastante conservadores na escolha da infraestrutura.

Em princípio, já falamos sobre o MySQL. Uma vez eles foram comprados pela Sun , depois pela Oracle . O que, bem, é muito difícil chamar de corporação do bem.

São eles que, após a aquisição da Sun, estão constantemente tentando tornar o Java pago.

Sim, a Sun possuía Java e MySQL antes de a Oracle comprá-los.

Esse fato e a reputação da Oracle assustaram um pouco os desenvolvedores do MySQL, que decidiram bifurcar o projeto MySQL e chamá-lo de MariaDB.

O MariaDB é, na verdade , um clone do MySQL com algumas peculiaridades de implementação que permitem contornar as nuances de patentes e licenças.

No entanto, a Oracle também não é tola. Para evitar que clientes e desenvolvedores vazem para o MariaDB, a Oracle continua a financiar o desenvolvimento e desenvolvimento do MySQL, que continua sendo gratuito.

E para sentar em duas cadeiras, foi lançado um MySQL Enterprise pago para clientes corporativos , que não é diferente do MySQL Community Edition , mas cujas licenças são mais adequadas para negócios.

PostgreSQLName

Outro DBMS interessante é o PostgreSQL (pronuncia-se "postgres cue").

Este é outro DBMS gratuito que vem ganhando popularidade muito rapidamente nos últimos anos. Embora ainda esteja longe do MySQL.

O PostgreSQL é focado principalmente no trabalho distribuído. Seus pontos fortes são:

  • Mecanismos de transação e replicação confiáveis ​​e de alto desempenho
  • Sistema extensível de linguagens de programação integradas: PL SQL, PL JS, PL Python, …
  • Herança de tabela
  • Capacidade de indexar objetos geométricos (em particular, geográficos)
  • Suporte integrado para dados semiestruturados no formato JSON com a capacidade de indexá-los
  • Extensibilidade (a capacidade de criar novos tipos de dados, tipos de índice, linguagens de programação, módulos de extensão, conectar quaisquer fontes de dados externas)

Você sabe por que é chamado assim? Aqui está como foi…

Há cerca de 50 anos, no início dos anos 70, a Universidade de Berkeley começou a desenvolver seu próprio DBMS relacional e o chamou de Ingres .

No início dos anos 80, o professor Michael Stonebreaker deixou o projeto e decidiu escrever seu próprio DBMS com blackjack e cortesãs. Ele e seus alunos começaram a escrever seu próprio DBMS, que eles chamaram simplesmente de Post Ingres , abreviado para Postgres no futuro .

E como o nome Postgres não significava nada para ninguém, decidiu-se adicionar o sufixo SQL a ele. Foi assim que surgiu o PostgreSQL, que imediatamente perdeu o duplo S e passou a ser escrito como PostgreSQL. Mas você diz o nome, precisa ler como PostgresQL.

NoSQL

Se você está interessado em bancos de dados, com certeza já ouviu falar sobre bancos de dados NoSQL . Apresso-me a aborrecê-lo: NoSQL é puramente um nome de marketing e o SQL está lá. Ele é apenas truncado.

Com o que se parece? Imagine uma bela página web escrita em HTML, CSS e JavaScript... que foi aberta em um navegador de 1995. Funciona com 10% de CSS e não suporta JavaScript. E esse novo padrão simplificado é chamado… NoHtml .

Por exemplo, JOINs entre tabelas podem não ser suportados em NoSQL, e então você deve emular isso no nível do código Java no programa ou armazenar todos os dados de tabelas relacionadas em uma tabela enorme.

E se no caso do NoHtml parece que retrocedemos 20 anos atrás, no caso do NoSQL, o retrocesso ocorre em torno de 40 anos.

Veja, por exemplo, o banco de dados Cassandra NoSQL que o Facebook usa para armazenar os dados de bilhões de usuários. Na verdade, eles o desenvolveram e o publicaram como um projeto OpenSource.

Vamos começar com o mais interessante - todo o código do DBMS é escrito em Java . O código C++ provavelmente rodaria mais rápido, mas haveria mais bugs. E o código Java é mais fácil de manter e desenvolver.

O formato geral das requisições ao SGBD Casandra parece bem familiar:

  SELECT columns  
  FROM table 
  WHERE condition
  GROUP BY columns 
  ORDER BY sorting 
  LIMIT quantity

Como você pode ver, o SQL está lá. Sabe o que está faltando aqui? PARTICIPE ! Você só pode selecionar dados de uma tabela :)

Aqui está uma citação da documentação oficial:

Você não pode realizar junções no Cassandra . Se você projetou um modelo de dados e descobre que precisa de algo como uma junção, terá que fazer o trabalho no lado do cliente ou criar uma segunda tabela desnormalizada que represente os resultados da junção para você.