Une architecture sans partage ( SN ) est une architecture de calcul distribué dans laquelle chaque requête de mise à jour est satisfaite par un seul nœud (processeur/mémoire/unité de stockage) au sein d'un cluster . L'objectif est d'éliminer les conflits entre les nœuds. Ces derniers n'accèdent pas indépendamment à la même mémoire ni au même stockage.
Une architecture alternative consiste à tout partager, où les requêtes sont satisfaites par des combinaisons arbitraires de nœuds. Cela peut engendrer des conflits, car plusieurs nœuds peuvent tenter de mettre à jour les mêmes données simultanément. Cette architecture contraste également avec les architectures à disque partagé et à mémoire partagée .
SN élimine les points de défaillance uniques , permettant au système global de continuer à fonctionner malgré les défaillances de nœuds individuels et permettant aux nœuds individuels de mettre à niveau le matériel ou le logiciel sans arrêt du système.
Un système de réseau de neurones peut évoluer simplement en ajoutant des nœuds, car aucune ressource centrale ne constitue un goulot d'étranglement. Dans les bases de données, la partie d'une base de données présente sur un seul nœud est appelée un fragment . Un système de réseau de neurones répartit généralement ses données entre plusieurs nœuds. Une amélioration consiste à répliquer les données fréquemment utilisées mais rarement modifiées sur plusieurs nœuds, ce qui permet de traiter davantage de requêtes sur un seul nœud.
Histoire
Michael Stonebraker, de l' Université de Californie à Berkeley, a utilisé ce terme dans un article sur les bases de données publié en 1986. Teradata a commercialisé le premier système de base de données SN en 1983. Les systèmes NonStop de Tandem Computers , une implémentation matérielle et logicielle sans partage de ressources, ont été lancés sur le marché en 1976. Tandem Computers a ensuite commercialisé NonStop SQL , une base de données relationnelle sans partage de ressources, en 1984.
Applications
Le modèle « sans partage » est populaire pour le développement web .
Les architectures sans partage sont courantes pour les applications d'entreposage de données , bien que les requêtes nécessitant des données provenant de plusieurs nœuds puissent réduire considérablement le débit.