Pergunta

Alguém tem boas fontes de informação sobre o uso do Nibernato com o SQL Azure com as implicações do sharding (por causa da tampa de 10 GB)? Sei que existem postagens na Internet que referem -se a um projeto de sharding para o NH, mas eles são do terceiro trimestre 09 e não achei muito mais relevante no Google.

Relacionado alguém tem informações sobre a implementação manual de sharding se o projeto de sharding ainda não é viável para usar? Seria tão simples quanto criar uma fábrica de sessão para cada fragmento e manter uma coleção de fábricas? Parece que seria uma reprodução problemática das chamadas de isamento por meio de cada fábrica, mas suponho que ela possa ser alcançada passando operações como funções que são invocadas na isamento de cada fábrica, mas parece mais que o caminho errado está indo para baixo.

Foi útil?

Solução

Escrevi uma prova de conceito há um mês usando o Nibernate no Sqlazure/Sharding. Como você apontou, há aspectos que simplesmente não se sentem certos. Até que o suporte do NH evoluiu, você pode precisar tentar algumas coisas para descobrir o que funciona melhor para você. Posso lhe dizer um fluxo geral de como funcionou para nós.

Implementamos uma fábrica de estratégia de sharding simples que fornece estratégias que decidem qual Shard o colocará com base em nossas necessidades. Suas necessidades podem variar aqui. A chave é criar estratégias que processassem, mesclam e solicitem seus resultados de consulta. A partir daí, a criação e o uso de sessões são iguais a qualquer outro uso de sessão, o que é altamente desejável.

Edit: eu sei Este post de Ayende tem alguns meses, mas é exatamente como o implementamos e funciona. O boato é melhor apoiar o Nibernate.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top