Arquivo da tag: Cassandra

DynamoDB da Amazon: NoSQL na nuvem por preços módicos

Fonte: Postado por JP Morgenthal/traduzido por Eder Ignatowicz/InfoQ

A Amazon lançou o DynamoDB, apresentado por Werner Vogels, CTO do AWS, em seu blog como uma base de dados NoSQL projetada para aplicações de internet. Esses serviços de banco de dados do AWS oferecem armazenamento com preço razoável e alta disponibilidade (graças à arquitetura de alto desempenho baseada em discos de estado sólido, ou SSD). O serviço introduz um novo concorrente ao universo em expansão de provedores NoSQL em nuvem, que inclui o Cloudant e o MongoHQ, por exemplo.

Com custo de um dólar por mês por gigabyte de discos SSD gerenciados, o AWS apresenta-se como um forte concorrente para outras soluções de gerenciamento NoSQL. Além disso, diferencia-se pela oferta de diversos outros serviços integrados ao DynamoDB, que pode ser uma vantagem se comparado com a utilização de múltiplos fornecedores de serviços diferentes.

Mas qual seria o potencial desse serviço? Pode-se ter uma ideia fazendo uma busca simples no Google por “Managed NoSQL Databases” (bancos NoSQL gerenciados), que resulta em muitas citações referentes ao DynamoDB, deixando, porém, os competidores bem abaixo nos resultados. Há também um post detalhado de Jonathan Ellis, no DataStax, comparando o Cassandra (outra importante solução NoSQL) com o DynamoDB.

Os resultados de Ellis são apoiados pela NetFlix, que utiliza amplamente o Cassandra no AWS e vem obtendo resultados muito positivos com performance e não sinaliza com planos de migração para o DynamoDB. Mas a visão da NetFlix sobre o novo serviço é bastante positiva. De acordo com Adrian Cockroft, CTO do empresa:

Agora que o DynamoDB foi lançado, uma questão óbvia é se o Netflix tem planos de utilizá-lo. A resposta curta é não, pois o DynamoDB só oferece um subconjunto das funcionalidades do Cassandra. Mas isso não tira o valor da grande evolução do DynamoDB em relação ao SimpleDB, em desempenho, escalabilidade e latência. Para novos clientes ou usuários que se depararam com limites de escalabilidade do MySQL ou MongoDB, o DynamoDB apresenta-se como excelente opção para começar a usar fontes de dados no AWS. As vantagens de uma administração transparente, além da maior performance e escalabilidade dos discos de estado sólido, são convidativas.

De acordo com Werner Vogel, o DynamoDB não se trata apenas de mais um serviço, pois a própria Amazon o está utilizando em seus produtos de nuvem. Se a Amazon encontrar um mercado de desenvolvedores disposto a criar aplicações que utilizem o DynamoDB, isto pode representar uma vantagem inicial em relação a outros provedores de serviços NoSQL. No entanto, como o DynamoDB não é open source, nem está disponível para download, esta solução NoSQL pode não ser adotada como primeira opção, pelos desenvolvedores web.

Cassandra 1.0: pronto para o ambiente Enterprise

A Fundação Apache anunciou o lançamento do Cassandra 1.0, a primeira versão principal do popular banco de dados NoSQL open source, baseado em colunas e distribuído. O release introduz a compressão de dados e grandes melhorias em desempenho, entre outros avanços.

O Cassandra é construído sobre o modelo de dados orientado a colunas que é base dos projetos Dynamo da Amazon e BigTable do Google. Desenvolvido inicialmente pelo Facebook, que o liberou como código aberto em 2008, o projeto permanece em desenvolvimento pela comunidade open source desde então.

O Cassandra 1.0 suporta a compressão de dados por ColumnFamily (um “recipiente” de colunas similar a uma tabela de banco de dados relacional). O processo de compressão é executado em segundo plano, não tendo impacto negativo sobre o tempo de resposta. A compressão reduz o espaço ocupado pelos dados por um fator de 2 a 4 vezes, resultando em melhoria de desempenho indireta de 25-35% em leituras e 5-10% em escritas, de acordo com Pavel Yaskevich, da Datastax, empresa que desenvolve um produto comercial baseado no Cassandra e contribui para o projeto.

O desempenho tem sido foco de grandes melhorias entre as versões 0.6 e 1.0. De acordo com Jonathan Ellis, VP do projeto na Apache, em comparação com o release disponível nesta mesma data em 2010, foi aumentada a velocidade de escrita em 40% e em “fenomenais 400%” na leitura.

Outros avanços incluem:

  • Melhorias no gerenciamento de memória através de caches fora do heap, alocação em arena e otimização automática. Os ganhos são na redução de pausas do coletor de lixo e em desempenho mais previsível.
  • Gerenciamento de espaço em disco melhorado, especialmente com relação ao espaço ocupado por logs de commits, e com apagamento imediato de arquivos de dados obsoletos.
  • Melhoria no recurso de Hinted Handoffs, reduzindo a necessidade de reparação de leituras.
  • Melhorias de desempenho em muitas áreas, incluindo CQL, reparação e outras.

Fonte: Abel Avram/traduzido por Leonardo Galvão