mer, 10/06/2020 - 14:16
Qu'est-ce qu'une bonne base de données ? Bien souvent, les développeurs répondent à cette question par habitude ou sympathie, sans y accorder une attention particulière qui pourtant est nécessaire.
Collecter et stocker de grandes quantités de données n'est plus suffisant. Celles-ci doivent aujourd'hui êtres fiables et délivrer une valeur ajoutée qui permette une prise de décision, ce qui suppose que ces données puissent être évaluées en quelques millisecondes. À cela s'ajoute la complexité de l'environnement dans lequel les organisations évoluent et qui explique pourquoi il en faut peu pour générer rapidement des téraoctets de données non-structurées (courriels, documents, photos…). Une base de données moderne doit donc être capable de faire face à de telles disparités, ce qui implique, pour les entreprises, de tenir compte de certains éléments lorsqu'elles choisissent une nouvelle base de données. Voici cinq points à prendre en compte pour choisir la bonne base de données.
I) L'importance du cas d'utilisation
Choisir une technologie dépend tout d'abord du type d'applications qui doivent être soutenues ou créées. Existe-t-il des applications frontales comme dans le e-commerce avec des interactions multiples, un volume élevé de données et la nécessité d'avoir des temps de réaction courts ? Si c'est le cas, les bases de données NoSQL, par leur capacité d'adaptation à des structures étriquées sur des nœuds organisés en pôles, et la flexibilité presque illimitée qu'elles offrent, sont la solution.
Lorsqu'il s'agit de données non structurées ou du mélange de données libres (très fréquent aujourd'hui), les bases de données NoSQL sont très utiles. A contrario, les systèmes de gestion des bases de données relationnelles classiques, avec leurs structures fixes, nécessitent de l'aide pour faire face contournements inhérents aux environnements de données actuels. C'est ce qui explique l'augmentation régulière des coûts et la baisse des performances.
A retenir : Le Big Data requière une base de données NoSQL.
II) Les exigences en matière de disponibilité
Les entreprises doivent tenir leurs accords en matière de niveau de service (SLA). En effet, les applications doivent rester disponibles malgré l'intensification des charges de travail et l'utilisation en parallèle par plusieurs utilisateurs.
Il ne faut pas oublier non plus le besoin d'évolutivité nécessaire pour gérer les charges de travail supplémentaires. Le système doit répondre aux besoins de plus en plus importants des applications critiques pour ce qui concerne la sécurité, via des mécanismes de duplication automatisés entre des applications géographiquement réparties.
A retenir : La question de l'infrastructure sur laquelle opèrent les bases de données doit faire l'objet d'une attention particulière.
III) La base de données est-elle prête pour le futur ?
Les fonctionnalités prises en charge par une base de données ne doivent pas seulement répondre aux besoins actuels, mais aussi prendre en considération les charges de travail et les potentielles futures utilisations. Il est également important de disposer de fonctions telles que la recherche native intégrée plein texte et les analyses ad hoc, sans avoir besoin d'ajouter de logiciels supplémentaires qui augmenteraient la complexité et les coûts. Une base de données moderne doit également combiner un "Document Store" à une strate de cache qui lui permet d'accélérer le fonctionnement des applications, pour une maitrise des coûts et une évolutivité à la demande.
A retenir : Il faut privilégier une base de données dont les caractéristiques correspondent à la stratégie de développement de l'entreprise.
IV) L'intégration au cloud
Pour réduire les coûts et obtenir une plus grande flexibilité, les entreprises s'appuient sur des applications distribuées contenues sur des serveurs bare-metal, dans des environnements cloud virtualisés, conteneurisés, privés, publics ou hybrides.
Pour qu'une base de données puisse répondre aux besoins des entreprises d'aujourd'hui, elle doit être à la fois native et agnostique au niveau du cloud. Les bases de données modernes NoSQL prennent en charge l'harmonisation, et les données peuvent migrer et être dupliquées rapidement.
A retenir : Une base de données moderne doit être native et agnostique concernant le cloud.
V) Examiner les coûts d'exploitation.
Dans un monde basé sur l'interactivité, le Big Data nécessite des serveurs imposants et coûteux capable de gérer des requêtes et des analyses à un niveau de performance suffisamment élevé. Plus le volume de données augmente, plus il est nécessaire que les serveurs soient puissants.
Les systèmes NoSQL, en revanche, peuvent facilement être mis à l'échelle. De plus, avec les bases de données NoSQL, les développeurs peuvent utiliser la syntaxe et la sémantique du système de gestion plus communément appelé SQL, pour, par exemple, effectuer des requêtes sur les buckets distribués et ce qu'ils contiennent pour lancer des documents JSON. Il en résulte une réduction des coûts d'exploitation et de formation du personnel.
A retenir : Avec NoSQL, le Big Data ne rime pas forcément avec coûts importants.
De nos jours, les facteurs de décision quant aux choix de toute base de données moderne devraient être sa faculté à être hautement évolutive, disponible et cloud-native du cloud. Il est tout aussi important qu'elle adopte une approche de plateforme de données qui permet aux entreprises de faire migrer en toute transparence les charges de travail issues des bases de données relationnelles tout en déployant plus rapidement des applications dans des environnements multi-cloud.
A propos de l'auteur