BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Whitepaper lançado: Sharding com SQL Azure

Whitepaper lançado: Sharding com SQL Azure

Favoritos

A Microsoft lançou ontem um novo artigo, uma espécie de guia sobre como desenvolver utilizando o conceito de database sharding com o SQL Azure , escrito por Michael Heydt e Michael Tomassy. Como o SQL Azure atualmente tem um limite de 50gb, a técnica de particionamento horizontal permite alcançar a expansão da aplicação. A intenção deste artigo é de introduzir como criar o design de uma aplicação que requer elasticidade e flexibilidade de recursos.

O artigo contempla:

  • Alguns conceitos básicos de particionamento horizontal/sharding;
  • Uma visão geral de padrões e melhores práticas;
  • Alguns desafios;
  • Design de alto nível de uma biblioteca de sharding baseada em ADO.NET;
  • Uma introdução ao SQL Azure Federations;

Enquanto o particionamento horizontal divide uma ou mais tabelas por linha, normalmente isto se dá dentro da mesma instância. A vantagem alcançada é a redução do tamanho do índice, que em teoria provê uma recuperação mais rápida aos dados. Em contraste, o conceito de sharding aborda o mesmo problema dividindo a tabela entre múltiplas instâncias de banco de dados, normalmente em um hardware separado, necessitando alguma forma de notificação e replicação para prover sincronização entre as tabelas.

No padrão Microsoft, uma chave é usada para mapear dados em shards específicos que é a chave primária de uma das entidades. As entidades relacionadas são agrupadas em um conjunto em cima da chave, e toda a unidade é referenciada como uma unidade atômica e todos os registros de uma unidade atômica são armazenados na mesma shard.

A Microsoft irá lançar o SQL Azure Federations que vai suportar sharding em 2011. Atualmente toda a capacidade shard deve ser implementada em nível de aplicação utilizando ADO.NET. Isto é um contraste para as alternativas "NoSQL" atuais como MongoDB,  CouchDB, SimpleDB que já suportam sharding.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT