As bases de dados NoSQL não utilizam o modelo de tabela relacional. Esta categoria abrange bases de dados de documentos, bases de dados chave-valor, bases de dados de grafos e bases de dados de colunas largas. Cada um resolve um problema diferente. As bases de dados de documentos, como o MongoDB, armazenam registos em formato JSON. As bases de dados chave-valor, como o Redis, mapeiam chaves para valores para pesquisas rápidas. As bases de dados de grafos, como o Neo4j, modelam relações entre entidades. As bases de dados de colunas largas, como o Cassandra, lidam com volumes massivos de escrita em nós distribuídos. O ponto em comum é a flexibilidade. Os bancos de dados NoSQL relaxam as restrições de esquema impostas pelos bancos de dados relacionais.
Esta flexibilidade é tanto o atrativo como o risco. Uma base de dados de documentos aceita registos com campos diferentes. Isto facilita a evolução do modelo de dados sem migrações. Também facilita a criação de dados inconsistentes. A aplicação precisa de impor regras que a base de dados não impõe. As bases de dados NoSQL também escalam horizontalmente com mais facilidade do que os sistemas relacionais tradicionais. Distribuem os dados por vários servidores, o que permite lidar com tráfego elevado e grandes conjuntos de dados. A contrapartida é a consistência. Muitas bases de dados NoSQL oferecem consistência eventual em vez de consistência forte. Nós diferentes podem ver valores diferentes durante um curto período. Isto é aceitável para um feed de redes sociais. Não é aceitável para um saldo bancário. A escolha certa depende dos dados e das garantias que a aplicação necessita.
tipos de base de dados NoSQL
- Documento — Registos semelhantes a JSON, esquema flexível
- Chave-valor — pares simples, pesquisas rápidas
- Gráfico — nós e relações
- Coluna larga — distribuída, elevada taxa de transferência de gravação
- Séries temporais — otimizadas para dados com registo de data e hora.
NoSQL não é melhor que SQL. É diferente. A ferramenta certa depende do problema.
Comments
No comments yet. Be the first to share a thought.
Leave a comment