|
Forums, dernières contributions
Stockage de JSON dans des bases Oracle et problèmatique décisionnelle
Bonjour, j'ai constaté sur des bases de données d'éditeur, l'utilisation de plus en plus courante de données format JSON.
- les colonnes peuvent ainsi contenir plusieurs valeurs ; par exemple je vais avoir plusieurs valeurs dans le même JSON :
[{"8h":"1","12h":"1","19h":"1"}]
à 8h : 1 unité, à 12h : 1 unité, à 19h : 1 unité
Ce - simple - exemple, m’empêche déjà de pouvoir faire du SQL classique pour connaitre par exemple la somme des unités prises avant 15h00.
Chaque JSON va ensuite alourdir ma peine si dans la même table j'ai un JSON du style suivant :
["1","1","1","1","1","0","0"] indiquant les jours ou on prend en compte ces unités..
Rendant quasiment impossible de répondre à une question SQL :
Somme des unités avant 19h00 le mercredi et le samedi..
Alors que la question aurait été triviale dans une table relationnelle classique.
Cela nécessite de détricoter ligne à ligne les données avec un ETL pour aboutir au niveau de détail permettant de faire ces stats (sans parler de JSON plus complexes).
J'en arrive à la conclusion, que d'un point de vue décisionnel et même du point de vue relationnel des bases, mettre des JSON dans une base relationnelle est aberrant, puisqu'on perd une partie importante de l'avantage des bases relationnelles et que les JSON devraient simplement être utilisés dans des bases NOSQL.
L'avantage des JSON dans une base Oracle qui allége les bases par rapport à la quantité de données est largement contrebalancé par l'inconvénient de ne plus pouvoir faire de simples agrégations sur des montants ou des quantités ??
J'aurais voulu savoir si d'autres personnes ont été confrontées à cette problématique et ce qu'ils en pensent et comment ils gèrent cela ?
|