Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment importer des données XBRL vers MySQL ?

Le paradigme naturel en théorie pour stocker XBRL dans une base de données serait OLAP, car XBRL concerne les cubes de données. OLAP au-dessus d'une base de données relationnelle s'appellerait ROLAP.

Ce n'est pas un problème trivial, car les faits tirés d'un grand nombre de taxonomies peuvent former un cube très grand et clairsemé (pour les dépôts auprès de la SEC, il s'agit de dimensions 10k +), et aussi parce que la création d'un schéma SQL nécessite de connaître les taxonomies avant toute importation. Si de nouvelles taxonomies apparaissent, il faut tout ré-ETL. Cela ne rend pas les bases de données relationnelles appropriées comme solution générale.

Si les dépôts partagent la même taxonomie et que la taxonomie est très simple (comme dans :pas trop de dimensions), il est possible de créer un mappage ad hoc pour stocker tous les faits dans une seule table avec de nombreuses lignes dans le ROLAP sens (des faits aux lignes, des aspects aux colonnes). Certains fournisseurs sont spécialisés dans le stockage de faits XBRL non dimensionnels, auquel cas les offres SQL traditionnelles (ou "post-SQL" qui évoluent avec les lignes) fonctionnent bien.

Certains fournisseurs créent une table pour chaque hypercube XBRL dans la taxonomie, avec un schéma dérivé du réseau de définition mais différent pour chaque hypercube. Cela peut conduire à un grand nombre de tables dans la base de données et nécessite de nombreuses jointures pour les requêtes impliquant plusieurs hypercubes.

Certains autres fournisseurs émettent des hypothèses sur la structure XBRL sous-jacente ou sur le type de requêtes que leurs utilisateurs doivent exécuter. Restreindre la portée du problème permet de trouver des architectures ou des schémas SQL spécifiques qui peuvent également faire le travail pour ces besoins spécifiques.

Enfin, pour importer de grandes quantités de dépôts, il est possible de créer des mappages génériques au-dessus des magasins de données NoSQL plutôt que des bases de données relationnelles. Un grand nombre de faits avec un nombre variable de dimensions s'intègrent dans de grandes collections de documents semi-structurés, et les réseaux s'intègrent bien dans un format hiérarchique.