Pourquoi vous ne devriez pas utiliser SharePoint Online comme base de données

SharePoint est un système de gestion de documents permettant de stocker des fichiers, d’organiser des documents, de partager et de modifier des documents en collaboration avec d’autres personnes. Certains utilisateurs, qui ont peut-être déjà utilisé MS Excel ou MS Access par le passé, peuvent penser qu’il est acceptable d’utiliser SharePoint comme base de données. Cependant, quels que soient les avantages de cette approche, vous devez éviter d’utiliser SharePoint comme base de données.

Avant d’aborder les raisons qui poussent à déconseiller ce type d’utilisation, voici quelques facteurs qui peuvent sembler attrayants pour les utilisateurs envisageant d’utiliser SharePoint comme base de données :

  • Vous n’avez pas besoin de privilèges dba pour provisionner un nouveau schéma
  • Une interface extensible prête à l’emploi pour la gestion des données
  • Vous n’avez pas besoin de coordonner les applications SharePoint avec les données stockées ailleurs
  • Migration des données sans besoin de synchronisation

Backup for Microsoft 365 Data

Backup for Microsoft 365 Data

Use the NAKIVO solution to back up Microsoft 365 data in Exchange Online, Teams, OneDrive and SharePoint Online for uninterrupted workflows and zero downtime.

Organisation des données

Il n’existe pas d’organisation des données de type base de données dans SharePoint, ce qui constitue une raison importante de ne pas utiliser SharePoint comme base de données. À première vue, les listes SharePoint ressemblent à des tables de base de données avec toutes leurs colonnes et leurs différents types de données. Cependant, les données sont organisées différemment dans ces structures. SharePoint utilise-t-il SQL Server ? SharePoint utilise MS SQL Server comme système de gestion de base de données pour son fonctionnement, mais SharePoint n’est pas conçu pour remplir les fonctions d’une véritable base de données. Qu’est-ce qu’une base de données de contenu SharePoint ? Une base de données de contenu est une base de données qui stocke les données SharePoint pour une ou plusieurs collections de sites. Il s’agit de la base de données située sur le serveur MS SQL Server utilisé pour le fonctionnement de SharePoint.

Par rapport aux bases de données relationnelles, SharePoint ne dispose pas de relations entre les tables. Voici les relations de données qui font défaut dans SharePoint :

Une à une. Un enregistrement dans une table est lié à un enregistrement dans une autre table d’une base de données. Par exemple, un service ne peut avoir qu’un seul responsable, et un responsable ne peut gérer qu’un seul service.

Une à plusieurs. Un enregistrement dans une table est lié à plusieurs enregistrements dans une autre table. Par exemple, un client peut avoir plusieurs commandes.

Plusieurs à plusieurs. Les enregistrements dans deux tables ou plus sont liés à plusieurs enregistrements dans une autre table. Par exemple, les clients peuvent acheter plusieurs produits, et les produits peuvent être achetés par plusieurs clients.

Fonctionnalités de base de données manquantes

Des fonctionnalités de base de données sont manquantes (ou pratiquement manquantes) dans SharePoint Online et SharePoint sur site. Examinons brièvement ces fonctionnalités manquantes dans SharePoint.

Clés primaires et clés étrangères

Une base de données utilise des identifiants uniques, notamment des clés primaires et des clés étrangères, pour identifier un enregistrement et lier des tables qui ont des relations parent-enfant. Une clé primaire identifie de manière unique un enregistrement dans la table ; une table ne peut avoir qu’une seule clé primaire. Une clé primaire se compose d’une ou plusieurs colonnes et ne peut pas avoir de valeurs NULL. Une clé étrangère est une colonne ou un ensemble de colonnes qui fait référence à une clé primaire dans une autre table et relie les données entre les tables. Il n’existe aucune relation entre les listes SharePoint, et ces listes ne peuvent pas être liées de la même manière que les tables d’une base de données.

Langage SQL

Le langage SQL (Structured Query Language) est un langage standard qui vous permet d’écrire du code pour des requêtes complexes dans des bases de données. Lorsque vous utilisez une base de données réelle, vous pouvez enregistrer des requêtes et les réutiliser. Cette fonctionnalité n’est pas disponible dans SharePoint. SharePoint prend uniquement en charge les requêtes CAML, Odata et de recherche. Vous ne devez pas interroger directement une base de données SharePoint (la base de données MS SQL utilisée par SharePoint pour stocker le contenu SharePoint) par SQL, car cela peut entraîner des problèmes de stabilité et enfreindre le CLUF (contrat de licence utilisateur final).

Procédures stockées

Les procédures stockées font partie du langage SQL. Une procédure stockée est un groupe d’instructions SQL, c’est-à-dire un bloc de code réutilisable qui est créé et stocké dans la base de données. Les procédures stockées sont prises en charge par la plupart des systèmes de gestion de bases de données (SGBD). Les procédures stockées offrent de nombreux avantages. Elles permettent de centraliser la logique d’accès aux données en un seul endroit et d’optimiser celle-ci. En matière de sécurité, les utilisateurs n’ont pas besoin de droits de lecture/écriture sur les tables sous-jacentes si les droits d’exécution d’une procédure stockée leur sont accordés. Vous ne pouvez pas utiliser de procédures stockées lorsque vous utilisez SharePoint.

Transactions

Une transaction est une unité de travail qui représente tout changement dans une base de données et qui peut être considérée comme un « tout ». Un exemple de transaction est le retrait d’argent from un compte bancaire (source) et son transfert vers un autre compte bancaire (destination). Ces deux actions constituent les éléments d’une seule transaction. Si la première action réussit mais que la seconde échoue, l’argent est renvoyé vers le compte bancaire source afin de préserver l’intégrité de la transaction. Il s’agit d’un retour en arrière de la transaction. De la même manière, les modifications sont annulées dans une base de données lorsqu’une transaction échoue, et les données ne sont pas perdues. SharePoint ne prend pas en charge le retour en arrière des transactions.

Indexation et optimisation des requêtes

L’indexation et l’optimisation des requêtes sont utilisées pour améliorer les performances des bases de données. Les champs fréquemment utilisés peuvent être pré-indexés, ce qui améliore les performances globales. Les bases de données peuvent être optimisées pour la récupération des données par des techniques d’optimisation telles que la création de pointeurs vers l’emplacement où les données sont stockées dans la base de données. Cette approche est beaucoup plus rapide que la recherche dans l’ensemble de la base de données. L’indexation dans SharePoint permet d’améliorer la recherche de contenu stocké dans SharePoint ; cependant, sa fonctionnalité est limitée par rapport à une base de données que vous pouvez utiliser directement. En particulier, SharePoint est limité à 20 colonnes indexées dans une liste.

Éléments volumineux et données binaires

La plupart des bases de données modernes peuvent stocker des données volumineuses et des données binaires (telles que des fichiers vidéo, des images, des fichiers audio, etc.) directement dans la base de données. Les données binaires peuvent être stockées sous forme de pièces jointes dans les listes SharePoint, mais cela n’est pas recommandé. En termes de fonctionnalité, les pièces jointes binaires dans SharePoint ont les mêmes performances que les champs binaires dans une base de données relationnelle. Si vous stockez trop d’éléments avec des pièces jointes binaires dans les listes SharePoint, les performances peuvent être considérablement réduites. SharePoint ne crée pas de nouvelle table de base de données pour chaque liste et bibliothèque dans la base de données de contenu SharePoint. Toutes les données que vous voyez dans les listes et bibliothèques SharePoint sont stockées dans une seule table de la base de données de contenu.

SharePoint ne peut pas traiter autant d’éléments qu’une base de données. Vous devez limiter le nombre d’éléments dans une liste SharePoint à 2 000 (dans une liste racine et les dossiers contenus dans la liste). Si vous devez télécharger des fichiers dans SharePoint, téléchargez-les dans une bibliothèque SharePoint et n’utilisez pas les listes SharePoint à cette fin.

Accès en dehors de SharePoint

Vous ne pouvez accéder aux listes SharePoint en dehors de SharePoint que par des interfaces de programmation ou XML. Vous ne devez pas utiliser les listes pour stocker des données dans un référentiel SharePoint qui doit être accessible par des applications externes en raison d’une mauvaise intégration. En revanche, les bases de données relationnelles disposent de toutes les fonctionnalités nécessaires à l’intégration et à l’utilisation avec des applications externes.

Conclusion

Il existe de nombreuses raisons de ne pas utiliser SharePoint comme base de données. SharePoint est destiné à d’autres fins. Utiliser SharePoint comme base de données peut entraîner des inconvénients importants et une dégradation des performances. Vous ne pouvez pas remplacer une base de données relationnelle par SharePoint. Les listes ne sont pas appelées tables dans SharePoint pour une bonne raison. L’objectif principal de SharePoint est de stocker des documents de manière centralisée et de les modifier ensemble. Utilisez l’outil adapté à chacun de vos besoins professionnels.

Quel que soit l’outil que vous utilisez, MS SQL, Oracle ou SharePoint, n’oubliez pas de sauvegarder vos données. NAKIVO Backup & La réplication est une solution universelle de protection des données qui prend en charge la sauvegarde Oracle, la sauvegarde MS SQL, la sauvegarde Office 365 (y compris la sauvegarde SharePoint Online) et la sauvegarde SharePoint Server.

Try NAKIVO Backup & Replication

Try NAKIVO Backup & Replication

Get a free trial to explore all the solution’s data protection capabilities. 15 days for free. Zero feature or capacity limitations. No credit card required.

Les gens qui ont consulté cet article ont également lu