Base de dados
Introdução às bases de dados
Já lidámos com o JSON. Agora passamos ao essencial, às bases de dados. Os dados podem ser armazenados nelas de várias maneiras. Ao mesmo tempo, desenvolveu-se historicamente para que o modelo de base de dados relacional tenha recebido a maior distribuição.
Ao utilizar o modelo relacional, os dados são armazenados sob a forma de tabelas, com um conjunto específico de dados, cuja estrutura é rigidamente especificada na fase de concepção da base de dados. A descrição de uma estrutura de dados em bases de dados relacionais é chamada esquema. Define a composição das tabelas, a estrutura dos campos destas tabelas, assim como as relações entre elas.
SQL
O SGBD (DataBase Management System) utiliza a linguagem SQL para gerir dados com um modelo relacional.
SQL - Linguagem de Consulta Estruturada. Esta é uma linguagem declarativa, o que significa que os seus comandos descrevem apenas a acção necessária (encontrar dados, apagá-los, alterar), e cada SGBD decide por si próprio como executá-la.
Existem muitos SGBD relacionais diferentes. Entre os mais comuns estão Oracle, MySQL, MS SQL, PostgreSQL. A propósito, AppMaster utiliza PostgreSQL, o que significa que utiliza um SGBD avançado moderno que funciona num grande número de organizações diferentes e é também software gratuito (ou seja, não precisa de pagar dinheiro extra pela sua utilização).
Já reparou na presença da abreviatura SQL em quase todos os nomes de SGBD? Na verdade, um nome alternativo para uma base de dados relacional é uma base de dados SQL.
NoSQL
No entanto, existe uma abordagem alternativa. Bases de dados não-relacionais, ou NoSQL. Vale a pena notar que Não neste caso não é uma negação de "não", mas uma abreviatura para Não só. Ou seja, "Não só SQL".
Os SGBD não-relacionais não utilizam um formato de consulta comum (como SQL), cada um deles implementa a sua própria forma de trabalhar com dados.
Não requerem uma estrutura de armazenamento de dados definida de forma única. Os dados em si são armazenados neles não sob a forma de tabelas rigorosas, mas sob a forma de objectos com um conjunto arbitrário de atributos (muito semelhante ao JSON). Isto pode ser relevante quando se trabalha com dados cuja estrutura está sujeita a alterações frequentes.
Ao mesmo tempo, devido à sua estrutura livre, as soluções NoSQL são mais fáceis de escalar se for necessário criar uma base de dados distribuída em múltiplos servidores.
Exemplos de SGBD NoSQL incluem MongoDB e Redis.