Banco de Dados para Aplicações Web mais Comuns
Alguns bancos de dados guardam objetos, estrutura relacional de tabelas, hierarquias, etc. Quais são todos esses tipos (modelos)? Quando a aplicação de cada um é indicada (além, claro, da preferência do desenvolvedor)? Exemplos de cada um?
Disparado o mais usado é o modelo relacional que está aí há mais de 40 anos servindo muito bem quase todos os problemas da computação que exijam armazenamento de dados.
Outros modelos estão sendo usados mais recentemente em sites que precisam de muita escalabilidade ou por quem segue o paradigma de orientação à modinha. Ou seja, a pessoa não precisa daquilo, mas usa porque viu que tem um monte de gente usando. Os principais: chave-valor, orientado a objeto, grafos, hierárquico.
Há maneiras diferentes de implementar esses modelos, um dos mais usados em alguns sistemas é o hierárquico baseado em documento (alguns especificamente como XML "XML Databases) e os colunares "DBMS".
Quando os dados não tem uma estrutura definida, funciona bem como um documento e não possui relação pode ser mais interessante usar o modelo de documento, mesmo que em conjunto com o relacional.
Quando não há estrutura definida, provavelmente será muito diferente, não há relacionamentos e os dados funcionam isoladamente, chave-valor pode ser mais adequado. Muitas vezes é usado apenas como cache e não o banco de dados principal.
Muitos destes modelos não permitem performance bruta. Eles até podem responder rápido colocando hardware que ajude ser rápido. Eles costumam escalar melhor, ou pelo menos mais fácil de escalar.
Estas duas formas são as mais usadas quando não se usa o modelo relacional.
Estes modelos não costumam ser ACID o que pode ser impeditivo em muitos casos. Alguns para serem ACID abrem mão de vantagens pelo qual são escolhidos.
Em geral eles são chamados de NoSQL, que é um nome equivocado.
Na verdade as principais marcas de banco de dados do mercado que sempre foram relacionais começaram ter mecanismos para trabalhar melhor com os outros modelos também. Portanto um banco de dados híbrido te dá o melhor dos dois mundos. Eles sempre permitiram o modelo de documento, chave-valor e outros modelos, mas nunca foi simples, nunca teve nada pronto, agora tem.
Alguns sites são tão simples que sequer usam sistemas gerenciadores mesmo e preferem um sistema de arquivos simples.
Não gosto muito de rankings deste tipo, mas existe o DB-Engines Ranking para ver os mais usados, segundo critérios deles (não confie muito, é só uma base). E tem a tendência do que mais se pergunta no SOen.
Note que só o MongoDB não relacional têm relevância, curiosamente um que tem bem pouca vantagem em relação aos DBs tradicionais que se modernizaram.
O fato é que as pessoas acabam complicando o que é simples. Aqui vai um pouco de opinião: pra que usar algo que você não precisa? Para fazer o básico, sem preocupações de integridade, performance, facilidades para obtenção dos dados de diversas formas o NoSQL pode ser mais fácil de desenvolver para ele, mesmo onde ele não é necessário de fato, mas quando começa pedir essas características o modelo relacional começa se destacar, e a maioria dos problemas precisam deste modelo. Como banco de dados mesmo só vejo vantagem em usar esses modelos quando precisa de distribuição do banco de dados, principalmente depois que os relacionais começaram adotar outros modelos de forma integrada.
O modelo híbrido fornecido pelos principais DBs que eram relacionais parece ser um modelo vitorioso. Outros modelos podem ser mais adequados em nichos.
Há muita coisa feita com interface web mas que não importa para o banco de dados. Em geral há abuso de fazer web o que funcionaria melhor como aplicação nativa.