Como você decide que tipo de banco de dados usar?


31

Eu realmente não gosto do nome "NoSQL", porque não é muito descritivo. Ele me diz o que os bancos de dados não estão onde estou mais interessado no que são os bancos de dados . Eu realmente acho que essa categoria realmente abrange várias categorias de banco de dados. Estou apenas tentando ter uma idéia geral de qual trabalho cada banco de dados específico é a melhor ferramenta.

Algumas suposições que eu gostaria de fazer (e pediria que você fizesse):

  1. Suponha que você tenha a capacidade de contratar qualquer número de engenheiros brilhantes, com experiência igual em todas as tecnologias de banco de dados que já existiram.
  2. Suponha que você tenha a infraestrutura técnica para oferecer suporte a qualquer banco de dados (incluindo servidores e administradores de sistemas disponíveis que podem dar suporte ao referido banco de dados).
  3. Suponha que cada banco de dados tenha o melhor suporte possível gratuitamente.
  4. Suponha que você tenha 100% de adesão da gerência.
  5. Suponha que você tenha uma quantidade infinita de dinheiro para jogar no problema.

Agora, percebo que as suposições acima eliminam muitas considerações válidas envolvidas na escolha de um banco de dados, mas meu foco é descobrir qual banco de dados é melhor para o trabalho em um nível puramente técnico. Portanto, dadas as premissas acima, a pergunta é: para quais trabalhos cada banco de dados (incluindo SQL e NoSQL) é a melhor ferramenta e por quê?


Alguma chance de você escolher dois exemplos desse banco de dados e qual seria sua categoria?
Jeffo

Respostas:


6

Os bancos de dados relacionais (SQL) são ótimos para dados em que o modelo subjacente permanece estável. Muitas implementações já existem há algum tempo (Oracle, DB2, SqlServer) e são estáveis ​​e seguras. Além disso, é muito fácil encontrar pessoas experientes para administrá-las - e os administradores de banco de dados são obrigatórios! Os programadores não precisam lidar com permissões, configuração e ajuste. Eles devem ser capazes de se concentrar na programação e deixar que os administradores se preocupem em manter o banco de dados ativo. Os bancos de dados relacionais também são relativamente fáceis de consultar e existem muitas ferramentas disponíveis para ajudar a encontrar dados a partir deles.


5

SQL

Objeto relacional. Servidores estáveis ​​com controle de granulação fina sobre permissões.

NoSQL

Armazenamento flexível. Alta capacidade de escalabilidade e sharding.


1

Há algumas informações muito boas sobre isso neste artigo: Comparação Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j :

Embora os bancos de dados SQL sejam ferramentas incrivelmente úteis, seu monopólio de ~ 15 anos está chegando ao fim. E era apenas a hora: eu não posso nem contar as coisas que foram forçadas a bancos de dados relacionais, mas nunca realmente as ajustaram.
Mas as diferenças entre os bancos de dados NoSQL são muito maiores do que nunca entre um banco de dados SQL e outro. Isso significa que é uma responsabilidade maior dos arquitetos de software escolher o apropriado para um projeto logo no início.
Nesta luz, aqui está uma comparação de Cassandra, Mongodb, CouchDB, Redis, Riak, Membase, Neo4j e HBase [...]


-3

Eu acho que essa não é uma boa pergunta, por exemplo, que tipo de veículo é bom? Bugatti, BWM, automóvel, mini-máquina, trem, locomotiva, avião?
depende da sua situação,

para um trabalho pequeno sem grandes dados, o sqlight pode ser bom.
para uma empresa que usa o produto da Microsoft, o MSSQL é bom.
para desenvolvimento na web, o MySql é muito fácil de usar.
para bancos, Oracle ou couchbase (se tratar de problema de transe).
para um trabalho pequeno com muitos dados, o MongoDB é bom.
para uma empresa com grandes dados e apenas uma tabela do tipo, Cassandra.
para uma empresa com grandes dados, a Couchbase.
para o ecossistema hadoop, HBase.
para gráfico, imagem, em Memória, ...


5
Estou curioso para saber por que você recomendaria o MySQL para uma loja da Microsoft através do Sql Server?
Becuzz

Eu corrijo isso, eu quis dizer Mssql.
Hossein Vatani
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.