Accueil > Analytics > Data Analytics > Qu’est-ce que le Sharding ? définition et avantages de cette méthode de distribution des données
sharding base de données

Qu’est-ce que le Sharding ? définition et avantages de cette méthode de distribution des données

Le Big Data amène à se pencher sur des techniques avancées de gestion de base de données. Aujourd’hui, nous nous penchons sur le Sharding. A quoi correspond cette expression anglophone ? Quels sont les avantages de cet ensemble de techniques ? Explications.

Si l’on reprend l’étymologie du mot Sharding, l’on pourrait le définir par ce terme par éclater.

Pour notre part, quand nous évoquons la technique du sharding, la première référence qui nous vient en tête est la saga Harry Potter dans laquelle le génie du mal Voldemort sépare son âme en sept morceaux afin de survivre coûte que coûte et gagner en puissance.

Le Sharding : partitionnement des données

sharding partinionnement

Certains principes du Sharding se rapprochent de cette analogie douteuse. En effet, il s’agit d’un ensemble de méthode de distribution des données qui consiste à séparer, diviser des bases de données Big Data en Data Set (ou jeu de données) de taille réduite afin d’accélérer leur traitement ou de les gérer plus facilement, voire tout cela en même temps.

Techniquement, il s’agit de séparer les types d’informations afin de les héberger sur des serveurs différents possédant chacun un moteur de base de données. Cette architecture en nœud (Cluster) permet aux géants du Web de gérer plus facilement des bases de données gigantesques. C’est notamment le cas pour Amazon. Le site du E-commerce va par exemple séparer les données correspondant aux commandes de celle de la facturation. En plus de gagner en sécurité, le traitement des informations sera accéléré, car il sollicite moins de puissance matérielle en comparaison avec un serveur unique, tandis que le coût d’hébergement sera réduit. Le sharding est le principe même qui régit le fonctionnement  du Blockchain, donc des cryptomonnaies comme Le Bitcoin ou l’ Etherum.

En effet, la maintenance d’un serveur unique réclame plus de puissance et des soins tout particuliers. Il coûte donc généralement plus cher à une entreprise puisqu’il faut s’équiper en composants très performants et engager les ingénieurs capables de maintenir le système.

Le Sharding permet d’organiser de manière horizontale la répartition des données. Les data shards, les jeux de données partitionnés peuvent être distribué sur des serveurs aux coûts bien plus raisonnables.

Une complexité à anticiper

Une fois ce mode de partition compris, le sharding devient intéressant pour des entreprises qui rencontrent des difficultés à gérer des bases de données Big Data. En revanche, il faut prendre en compte la complexité de certains cas avant de se lancer.

Les entreprises qui veulent répartirent leurs bases de données client de manière géographique peuvent tout simplement allouer un serveur à chaque zone définie. Cela devient plus compliqué si un même client est présent dans plusieurs régions du monde.

La complexité dépend à la fois du nombre de jeux de données à répartir, du type de data (structurés ou non structuré) et de l’architecture déjà en place. Certaines entreprises choisissent d’adapter leur base de données, tandis que d’autres développent des solutions propriétaires de type NoSQL. Il faut également prendre en compte que le sharding rend dépendant de l’interconnexion entre les serveurs. Certains services ne peuvent être accessibles si un des serveurs est en maintenance.

Nous mettrons à jour cet article afin de décrire les méthodes les plus utilisées pour effectuer ce partitionnement avantageux, mais complexe.

Send this to a friend