Choisir la bonne base de données pour votre entreprise peut s'avérer une tâche fastidieuse et fastidieuse, en particulier pour les personnes peu familiarisées..

Même s'il est tentant de mettre en œuvre un système dans le simple esprit de cocher la case requise, il est de plus en plus important que les entreprises choisissent une base de données spécialisée pour leurs propres besoins..

C'est dans cet esprit que nous avons rencontré Randal Hoff, vice-président de la société de base de données Faircom, pour déterminer ce qui devait se passer dans le processus de prise de décision..

TechRadar Pro: Comment identifier la bonne base de données pour les besoins d'une entreprise?

Randal Hoff: La première étape consiste à comprendre les besoins de votre entreprise et à évaluer le volume et le type de données que vous essayez d'extraire, de stocker et d'analyser..

Au cours de cette étape, il est important de noter si vous avez des sources de données confinées dans des bases de données et des applications héritées. Parfois, ce type de données a été développé à l'aide de COBOL et d'autres langages de codage vénérables, ce qui peut rendre le processus d'extraction assez difficile..

Néanmoins, la compréhension de la portée complète des données qui seront incluses dans le projet est un contexte vital pour les décisions commerciales et doit être réunie avant de déterminer la ou les bases de données (ou bases de données et plates-formes) qui répondent à vos besoins..

TRP: Simultanément, il est également nécessaire de réfléchir aux besoins futurs de l'entreprise. Comment les architectures de base de données seront-elles gérées et modifiées à mesure que les besoins de l'entreprise évoluent et doivent être maintenus?

RH: L'un des facteurs critiques est la prise en charge des API standard, indispensables à l'intégration des bases de données et des magasins de données avec d'autres applications métier..

Développer la prise en charge des API, en particulier lorsque certains magasins de données sont verrouillés dans des applications héritées qui ne prennent pas en charge les API modernes, peut être une tâche ardue, car ils peuvent parfois nécessiter des efforts de modernisation sur des plates-formes héritées..

Parallèlement, il existe des pratiques existantes qui prennent en charge la modernisation sans remplacer complètement les applications existantes. Il existe des bases de données spécialisées dans la transmission de données existantes avec un minimum d'effort et de risque, telles que c-treeACE de FairCom..

TRP: Dans quelles circonstances est-il avantageux d'intégrer à la fois SQL et NoSQL?

RH: Évidemment, vous avez besoin du bon outil pour le bon travail, mais parfois, le simple concept de regarder vers l'avenir indiquera clairement si NoSQL, SQL ou l'intégration des deux vous conviennent..

NoSQL est devenu une architecture populaire pour la gestion de gros volumes de données, car ils peuvent être plus efficaces en ce qui concerne la puissance de traitement requise pour traiter des fichiers volumineux..

Dans le même temps, il est important de déterminer si les données qui seront stockées doivent prendre en charge la cohérence immédiate des données. De plus, vous voudrez vous poser la question suivante: à quel point l’application et la base de données associée sont-elles critiques??

Un problème auquel certaines entreprises sont confrontées lorsqu’elles travaillent avec des données volumineuses non structurées est que de nombreuses bases de données NoSQL Open Source ne sont pas compatibles ACOM (Atomicity, Consistency, Isolation and Durability) et ne peuvent pas prendre en charge la persistance en temps réel. En conséquence, ce manque de conformité ACID peut entraîner des données non synchronisées et incohérentes..

De plus, SQL est généralement le langage de choix pour les rapports de Business Intelligence. Il est donc difficile de prendre en charge les analyses approfondies et SQL avec les implémentations NoSQL..

Bien que l'objectif initial des données - structurées ou non structurées - puisse nécessiter une solution NoSQL pour la performance, cet ensemble de données peut également être nécessaire pour une analyse plus structurée et des rapports de Business Intelligence plus tard, pour lesquels le support SQL peut s'avérer un avantage intéressant..

Plutôt que de limiter le choix de l'architecture de base de données à une base de données NoSQL ou SQL, une approche plus prudente pourrait consister à envisager des bases de données pouvant prendre en charge une intégration NoSQL + SQL afin de conserver les options ouvertes à l'avenir..

Le déploiement d'une architecture de base de données prévoyant une intégration ultérieure de NoSQL + SQL offre aux ingénieurs davantage de flexibilité et de contrôle, offrant ainsi un moyen d'extraire, de stocker et de gérer des données à l'aide de la charge réduite de NoSQL, tout en offrant la possibilité d'ajouter des fonctionnalités SQL en cas de besoin..