Geralmente, os bancos de dados se dividem em dois grupos:
Bancos de dados relacionais: É a arquitetura tradicional de armazenamento de dados estruturados. Usam-se pares de valor-chave para armazenar informações em tabelas compostas por colunas e linhas. Consultas a bancos de dados são feitas por meio da linguagem de consulta estruturada (SQL, Structured Query Language).
Bancos de dados não relacionais (NoSQL):Trata-se de uma arquitetura alternativa de armazenamento de dados bem adaptada ao armazenamento de dados não estruturados. Como exemplos de bancos de dados NoSQL, podemos citar datastores de dados de documentos, bancos de dados orientados a colunas, bancos de dados de valores-chave e bancos de dados gráficos. Embora muitos desses bancos de dados NoSQL tenham suporte técnico para consultas compatíveis com SQL, a base de sua estratégia subjacente de consulta é distinta.