Accueil Les bases de données, un enjeu majeur

Les bases de données, un enjeu majeur

Apparues il y a de nombreuses années, elles ne sont pas prêtes de disparaitre. Elles deviennent omniprésentes, et dans tous les domaines.
Elles servent à stocker des volumes de données en constante progression et de manière exponentielle, leurs usages sont de plus en plus variés, il en va de même pour les outils servant à les exploiter. Tous les types de données sont stockés, des informations utilisateurs, des images en passant par des informations de cartographie ou au morphing pour la reconnaissance faciale. L’évolution rapide du web et des applications mobiles génère des quantités de nouvelles données, et a amené un besoin pour des moteurs de stockage très simples et faciles à mettre en œuvre.

Toute cette masse d’informations n’est pas seulement stockée, mais elle est traitée afin d’obtenir des indicateurs et des tendances, c’est à ce moment que l’informatique décisionnelle et le big data rentrent en jeu. C’est un marché qui évolue très vite et les acteurs ont parfois du mal à suivre.

Les acteurs d’aujourd’hui et ceux de demain

Les acteurs historiques tels qu’Oracle ou Microsoft avec SQL Server voient apparaitre une concurrence en constante évolution. Et qui peut aussi adresser de nouveaux usages.

L’explosion du web a amené des moteurs tels que MySQL plus adapté à ce genre d’usage sur le devant de la scène, à tel point que la plupart des grands sites mondiaux l’utilisent, car il présente des avantages dans ce domaine. Pour autant l’informatique décisionnelle avec le big data a eu des besoins bien différents et très spécifiques. Des solutions ont dû être créées pour y répondre, c’est le cas notamment de Hadoop.

Dans une optique de réduction des coûts, face à des licences en augmentation, et la maintenance de plus en plus chère et complexe, des moteurs sont sortis de l’ombre comme PostgreSQL. Les politiques d’audits de conformité réalisés par les grands noms de ce secteur sont en forte augmentation, ce qui encourage de plus en plus d’entreprises à passer sur des technologies moins onéreuses, du moins souvent en apparence. Certaines DSI demandent des études d’adhérence pour connaître leur niveau de dépendance à certains acteurs. Il est difficile aujourd’hui de se séparer d’un moteur omniprésent, ancré depuis de nombreuses années et qui présente certains avantages techniques. Il est difficile de changer de moteur pour une application faite en interne et encore plus lorsqu’elle provient d’un éditeur tiers. Ces actions ont eu pour résultat des nouvelles politiques pour les nouveaux développements. Ils se font maintenant en grande partie sur des moteurs de stockage alternatif comme MySQL, PostgreSQL, ou bien sur les technologies NoSQL. Cette diversification des technologies pose de nouveaux problèmes notamment pour les équipes de production.

L’opposition des équipes, une source de conflits et de coûts récurrente

L’utilisation des moteurs a évolué, les formations aussi, mais pas toujours dans la bonne direction.
Dans la plupart des entreprises, les équipes de développement sont séparées des administrateurs de bases de données (DBA). Ce qui amène certains projets dans des problématiques de performances, de conception et d’utilisation de la donnée. Les équipes de production ne sont pas toujours prêtes à interagir avec les développeurs. Ce cloisonnement est source de problèmes récurrents. Tous ces éléments ont amené des concepts comme Dev OPS à tenter de les résoudre.

En intervenant lors de la phase de conception et en accompagnant les développeurs, il est possible d’optimiser l’utilisation de la donnée et de limiter les problématiques récurrentes de performances. Il est fréquent de constater que les développeurs considèrent la base de données comme une « boîte noire ». Les frameworks de persistance, comme hibernate pour Java, contribuent à amplifier ce phénomène. Les nouveaux développeurs sont aussi de moins en moins formés au langage SQL qui n’est parfois tout simplement plus au programme de certaines écoles.

L’intégration de DBA études dans des projets peut contribuer à améliorer l’utilisation des moteurs de stockage et à réduire les problèmes associés dès le début de l’application, avant qu’il ne soit trop tard. C’est en travaillant de concert entre les développeurs, les spécialistes de la donnée et les équipes de production que les meilleures applications sont réalisées. Les nouvelles architectures techniques de bases de données, NoSQL ou non, amènent les développeurs et les équipes opérationnelles à travailler main dans la main dans un souci de scalabilité.

L’arrivée des moteurs NoSQL

Les moteurs NoSQL comme Cassandra, MongoDB et bien d’autres ont amené une nouvelle approche du stockage de la donnée, et de ses utilisations. Le terme NoSQL souvent repris à tort comme l’absence de SQL couvre des technologies très diverses. Elles apparaissent progressivement dans les entreprises souvent via les jeunes développeurs qui sont attirés par l’attrait de la nouveauté, et les promesses de ces moteurs.

Bien utilisées, elles peuvent répondre parfaitement à des besoins spécifiques. Dans le cas contraire, elles peuvent se retrouver en retrait face à des solutions plus classiques. Il est important de bien choisir, de peser les avantages et les inconvénients avant de les utiliser. Leur présence augmente dans les entreprises assez lentement. De nombreux sujets sont en cours dans les entreprises. Certaines applications commencent à utiliser à la fois un moteur relationnel et un autre NoSQL. Cette convergence des utilisations a amené certains acteurs à créer des bases hybrides. La dernière en date est MySQL avec son Document Store qui semble assez prometteur sur le papier.

Nicolas Moreau chez SETRA Conseil