Qual é a melhor base de dados para websites?
Depende realmente da natureza dos dados que você quer armazenar, do relacionamento das entidades nos seus dados, e do número de consultas que estará executando a cada minuto, hora e dia. There's no silver bullet.
SQL baseado em sistemas de base de dados como o MySQL não't tem problemas de escalabilidade. Bancos de dados distribuídos como MongoDB, CouchDB, e Cassandra são't muito escaláveis ou estáveis quando se trata de executá-los como banco de dados primário. Alguns dos bancos de dados que podem ser considerados são mencionados abaixo.
MySQL: Uma base de dados relacional, que serve bem para aplicações comerciais/de usuários finais onde há's uma relação clara entre diferentes tipos de entidades (por exemplo, clientes e produtos, usuários e revisões). Usado na maioria das empresas que você'já ouviu falar de.
p>SQLite: "SQLite é uma biblioteca de software que implementa um motor de base de dados SQL transacional auto-contido, sem servidor, de configuração zero-configuração. SQLite é o motor de banco de dados mais amplamente implantado no mundo". It's utilizado em dispositivos Android, iphone e iOS, navegadores web (Chrome, Firefox, Safar), PHP e Python, conjuntos de tv, sistemas multimídia automotivos, etc. Considerado um ótimo para aplicações leves e aplicações móveis, não é ideal para um site que realiza milhares de transações por segundo.PostgreSQL: Um ORDMBS, compatível com ACID e DB transnacional. Aqui's uma boa comparação entre MySQL e PostreSQL no MySQL vs PostgreSQL?
MongoDb: Uma base de dados de documentos. Ela armazena dados em estruturas ricas como mapas de listas, que contém inteiros e dados de ponto flutuante. Usado para escalonamento (horizontal). Também, usado quando você'tem um modelo de dados mais simples que requer menos junções e precisa de uma relativa facilidade de desenvolvimento. MongoDb suporta fácil sharding, muito mais fácil do que SQL.
Redis: "Redis é um armazenamento de estrutura de dados de código aberto, em memória, usado como banco de dados, cache e corretor de mensagens. Ele suporta estruturas de dados tais como strings, hashes, listas, conjuntos, conjuntos ordenados com consultas de intervalo, bitmaps, hiperlogs e índices geoespaciais com consultas de raio. Redis tem replicação incorporada, scripts Lua, despejo LRU, transações e diferentes níveis de persistência em disco, e fornece alta disponibilidade via Redis Sentinel e particionamento automático com Redis Cluster"
DynamoDb/SimpleDb: Serviços NoSQL db, acessados através de API web. It'é um serviço de banco de dados rápido e altamente escalável oferecido. I'já o vi usado principalmente para caching e estruturas de dados relativamente menos complicadas. É de alto custo em comparação com os sistemas DB. Aí's é uma velocidade de recuperação previsível, teoricamente ilimitado de armazenamento. It'é ótimo para armazenar sessões de usuários, estadiamento de dados, e como uma camada de cache de algum tipo.
Dependente da sua aplicação, você pode ter que usar múltiplos dos acima. Os pares mais utilizados são RDBM para armazenamento de dados, e uma camada NoSQL db/caching layer para cache
Artigos semelhantes
- Qual é a diferença entre uma base de dados tradicional e uma base de dados moderna?
- Qual é a melhor maneira de armazenar dados do Firebase para o SQLite (base de dados local do Android)?
- Quem ganharia, Base Gotenks (Bola de Dragão) contra Base Gogeta?
- Porque é que a base conjugada de um ácido fraco é uma base fraca e vice versa?