Qual é a melhor tecnologia de nuvem para usar nos servidores de banco de dados MongoDB / GridFS [closed]

1

Vamos lançar um serviço que exigirá entre 1 e 2 GB para armazenamento de arquivos por usuário pago. Eu vou usar o GridFS para armazenar arquivos. O GridFS é um módulo para o MongoDB que permite armazenar grandes arquivos no banco de dados.

Estou ponderando as diferentes opções para armazenar o banco de dados.

Mas como sou inexperiente na implantação e é minha primeira vez com o Mongodb, preciso da sua experiência.

Critérios:

  • Quero gastar meu tempo desenvolvendo meu core business, ou seja, meu próprio aplicativo. Eu sou um desenvolvedor Ruby on Rails. Eu não gosto de mexer com a configuração do servidor. Por isso, gostaria de uma solução de hospedagem totalmente gerenciada. Mas eu gostaria de saber sobre qualquer outra opção, se você acha que vale a pena.
  • Deve ser capaz de escalar. Estilo de nuvem. Pague como você vai.
  • Quanto menor o preço, melhor.

Até agora eu conheço esses serviços:

E eles parecem estar bem para necessidades comuns, ou seja, não há armazenamento de arquivos. Mas vou usar o GridFS, então o tamanho é importante. Estes serviços parecem escalar, em preço, muito pouco.

MongoHQ: o armazenamento máximo do plano maior é de 20 GB. Parece um pouco de armazenamento para o GridFS.

MongoMachine: preço fixo, 2,5 $ por GB. Eu não encontrei o limite. Parece um bom preço, comparando os outros.

MongoLab: 3.984 GB max, que eu não acho que vou acertar, tão perfeito. 8 $ por GB, bastante caro.

CloudControl: o plano maior é de 20 Gb. O serviço personalizado começa em 250 €, mais alguns encargos não especificados por GB.

Qual é a sua experiência com esses serviços? Qualquer tempo de inatividade? Outras possibilidades?

Editar: Adicionado significado de GridFS

    
por Nerian 15.01.2011 / 22:18

2 respostas

4

Acho que você leu mal as especificações do MongoLab. Tem um padrão de aproximadamente 3.9 GB - não um máximo de 3984 GB! É uma marca decimal dos EUA, não um separador de milhares (por que os americanos insistem em fazer isso ??). O máximo para o plano grande é de 20 GB;)

Atualização:
Acabei de olhar um pouco mais no site do MongoHQ e encontrei uma discussão interessante sobre seu apoio site por um cara pedindo tipo da mesma pergunta. Sua resposta foi:

Our limits are soft limits on the large meaning we will not cut you off once you go past 20GB. It is there as a measuring tool to decide if you fit on a shared plan.

We also offer dedicated plans and encourage people to start looking into those once their data gets that large. One of the main reasons is that to query a database that size you will need effective indexes and you will need to keep some portion of them in memory. When you share a server with other database you can't reasonably keep a lot of your database in memory. So it is in everyones best interest to move people with larger datasets to a dedicated plan.

If your data is not to that size yet it may make sense to start on the shared plans and as you grow look into the dedicated plans.

http://support.mongohq.com/kb/plans/mongohq-dedicated-plans

    
por 21.02.2011 / 23:19
1

Estou realmente me esforçando para responder a esta questão como está, então vou responder como interpreto.

"Qual é a melhor tecnologia para usar em servidores de banco de dados MongoDB / GridFS"

Eu provavelmente começaria com um par de nós de armazenamento, digamos 4 discos SAS de 300GB (ou 600GB) cada, ótimo armazenamento rápido, conecte-os em uma matriz RAID 10 (ou possivelmente RAID 6) para obter uma boa redundância e acelerar o comércio -fora. Certifique-se de obter uma placa RAID decente com BBWC (Battery Backed Write Cache). Certifique-se de ter uma rede decente entre os nós, para obter velocidades de gravação decentes na rede.

Não estou familiarizado com o GridFS, mas se eu quisesse sistemas de arquivos replicados, iria direto para o GlusterFS e criaria um par replicado desses dois nós.

Eu suspeito que este provavelmente não é o lugar certo para perguntar sobre preços e assim por diante.

Além disso, se você for um desenvolvedor, sugiro que contrate / obtenha um sysadmin em contrato / retentor por um tempo enquanto a infraestrutura é construída / executada. Especialmente se você quiser se concentrar no edifício comercial.

It should be able to scale. Cloud style. Pay as you go.

Esse pouco faz pouco sentido. Escalabilidade é uma coisa. A nuvem é uma palavra de ordem de marketing, PAYG, bem, isso está na base da sua plataforma de faturamento.

The lower the price, the better

Diminuir o preço para você ou seus clientes? Há um velho ditado em engenharia de sistemas: "Barato, bom ou rápido, escolha dois". Você pode ser capaz de produzir um sistema que é barato para você, mas vai ser masturbar para seus clientes, e eles vão deixar em seus rebanhos. Cuidado com isso, especialmente porque você tem concorrência, as pessoas podem votar com os pés.

    
por 16.01.2011 / 00:52