Le concept d'ombrage sur SQL azure est l'une des meilleures options recommandées pour dépasser la limite de taille de base de données de 50 Go, pour l'instant. Une stratégie clé dans le sharding consiste à regrouper les enregistrements associés appelés unités atomiques dans un seul fragment, de sorte que l'application doit uniquement interroger une seule instance SQL azure pour récupérer les données.Applications SQL Sharding et réseautage social SQL
Toutefois, dans des applications telles que les applications de réseaux sociaux, le regroupement d'une unité atomique dans un même fragment n'est pas trivial, en raison de l'interconnexion des entités et des enregistrements. Quelle pourrait être une approche recommandée basée sur un tel scénario?
Dans une base de données partitionnée, quelles clés primaires doivent être utilisées pour les tables? Big Int ou GUID. J'utilise actuellement des colonnes d'identité BIGINT, mais si les données devaient être fusionnées pour une raison quelconque, cela serait un problème en raison des conflits entre les valeurs dans différents fragments. J'ai entendu certaines personnes recommander des GUID (UniqueIdentifier), mais je me méfie de la façon dont cela pourrait affecter les performances. L'indexation de serveurs SQL sur site avec des colonnes UniqueIdentifier n'est pas possible, et je me demande comment SQL azure implémente des stratégies similaires si je devais employer une colonne UniqueIdentifier.
Je suis conscient des options basées sur NOSQL et même du stockage de table Azure mais cela augmenterait certainement considérablement les temps de développement, donc nous sommes bloqués avec une approche db relationnelle pour le moment. – Azwaan
Ensuite, j'explorerais l'hébergement du RBDMS ailleurs (Amazon, Rackspace, etc ...). Cela vous permettrait de faire plus de DB sur des machines virtuelles plus puissantes. Assurez-vous simplement de mettre dans une couche de cache pour aider à contrôler les coûts et augmenter les performances. Personnellement, j'explorerais toujours la route noSQL. C'est la solution qui sera la meilleure pour vous à long terme. Même si vous ne le faites que de manière mixte (index dans SQL Azure, banques de données dans Azure Storage). – BrentDaCodeMonkey
En supposant que j'irais avec NOSQL DB s'exécutant sur Azure, comment évalueriez-vous un DB graphique (considérant que le DB graphique a de nombreuses fonctionnalités adaptées aux scénarios de type réseau social) comme Neo4J ou Sones GraphDB contre le stockage de table Windows? – Azwaan