L'entrepôt de données est une manière de la gestion unifiée des données, de l'agrégation de données dans différentes applications, puis analyse ces analyses de données et de ces analyses multidimensionnelles, et démontre finalement aux utilisateurs. Il aide les entreprises à intégrer le traitement et à convertir finalement aux KPI sur les processus clés pour fournir le soutien le plus précis à la prise de décision / gestion et à aider les tendances de développement prédictif. Par conséquent, l'entrepôt de données est un système très central dans le système informatique d'entreprise.
Selon les principaux scénarios d'application de l'entrepôt de données de construction d'entreprise, nous pouvons diviser l'entrepôt de données en quatre types, chaque type de données. Le système d'entrepôt a des indicateurs techniques différents. et des exigences.
Entrepôt de données traditionnel
Les entreprises diviseront les données en données internes et en données externes et les données internes sont généralement divisées en deux types, systèmes de négociation OLTP et les données du système d'analyse OLAP. Ils les concentreront tous, et ils sont convertis. Dans la base de données, ces bases de données sont généralement Teradata, Oracle, DB2 Base de données, etc. Ensuite, faites face aux données à ce sujet, établissez une variété de modèles de thème, puis fournissez une analyse d'analyse de rapports. En général, le traitement et le traitement des données sont effectués par lot hors ligne et le traitement spécifique des rapports est obtenu par divers modèles d'application.
Entrepôt de données en temps réel
Avec le développement de l'entreprise, certains clients ont besoin d'une analyse commerciale à certaines données en temps réel. Par exemple, le commerce de détail L'industrie doit ajuster le plan d'inventaire et de production en fonction des données de vente en temps réel et des sociétés éoliennes doivent traiter des données de capteur en temps réel pour résoudre les défauts pour assurer la production d'énergie. Ces utilisateurs de l'industrie ont des exigences en temps réel en temps réel élevées et le traitement traditionnel de lots hors ligne ne peut pas répondre à la demande. Ils ont donc besoin de créer des entrepôts de données en temps réel. Les données peuvent être complétées de différentes manières, puis l'entrepôt de données peut traiter les données, la gâchette d'événement et l'analyse statistique dans la fenêtre Time spécifiée et stocker les données dans l'entrepôt de données pour répondre aux besoins d'autres autres services. Par conséquent, les entrepôts de données en temps réel améliorent les exigences de la capacité de traitement des données en temps réel, ainsi que l'architecture du système nécessite des ajustements révolutionnaires sur le niveau technique.
Entrepôt de données de découverte associé
Dans certaines scènes, les entreprises peuvent ne pas connaître les règles de données en ligne, mais doivent réussir la méthode d'exploration de données pour savoirSelon la relation entre l'association, les liens cachés et les modèles, etc excavez la valeur des données. De nombreuses activités dans de nombreuses industries ont cette demande, telle que le contrôle des risques, la lutte anti-fraude, etc. du secteur financier. L'entrepôt de données sans contexte doit généralement prendre en charge les capacités d'exploration de données sur l'architecture et fournir une interface d'algorithme générale pour manipuler des données.
Les données sont généralement simples en mode de l'entrepôt de données pour un certain type de demande fonctionnelle, il est souvent construit à partir de certaines unités commerciales, ou peut être construite sur l'entrepôt de données d'entreprise. Généralement, la source de données est relativement petite, mais elle est souvent très nécessaire pour le retard de l'analyse des données et doit avoir une bonne connexion avec divers outils de rapport.
Défi de l'architecture de l'entrepôt de données
Entrepôt de données pour l'architecture traditionnelle que j'ai rencontré beaucoup de défis, donc je suis aussi besoin de plus d'évolution de son architecture.
Le premier problème est que le taux de croissance des données est très rapide, ce qui entraîne l'entrepôt de données d'origine de traiter les problèmes de l'architecture de ces données et ne peut être résolu par l'optimisation du niveau de l'entreprise. Par exemple, la classe d'audit des données d'une coopérative de crédit agricole de niveau provincial est généralement supérieure à une douzaine de tuberculose. La base de données relationnelle existante ou le programme d'entrepôt de données MPP n'a aucun problème que de telles données sont nécessaires de toute urgence. Conception pour résoudre le problème.
À nouveau, dans une entreprise relativement nombreuse, car il peut y avoir des centaines de bases de données dans différentes entreprises, chaque plan de construction est également différent, il n'y a pas de moyen simple de Unifiez les données sur une plate-forme de données. Par conséquent, une technologie de virtualisation de la base de données peut être unifiée et efficace d'effectuer une analyse des données et un traitement par lots par des moyens efficaces. Dans le passé, cette technologie n'existait pas.
Enfin, la base de données antérieure ne fournit pas la possibilité de rechercher et d'exploiter les données minières, et ces exigences sont déjà simplement nécessaires. Par exemple, l'industrie financière doit utiliser des méthodes de mines de données complexes pour remplacer les moteurs de règles traditionnels pour contrôler les risques, ce qui ne peut pas être basé sur la relation relationnelle.Selon les programmes de la bibliothèque, il est résolu. Avec la maturation rapide de Hadoop and Spark Technology, Hadoop / Spark's Data Warehouse Solutions peut résoudre efficacement ces problèmes et ces défis.
Deuxièmement, l'entrepôt de données basé sur des données importantes
La figure ci-dessus est une architecture typique de l'entrepôt de données à base d'hadoop conception.
Il existe d'abord une couche d'entrepôt de données traditionnelle, qui contient une plate-forme de stockage de données centralisée, ainsi que la gestion de la gestion des métadonnées, l'inspection des données et le traitement des données. La plate-forme de stockage de données contient une variété de sources de données, de données structurées et de données non structurées. Le traitement des données structurées est divisé en trois couches. Selon le modèle de données, les couches de base et les couches de modèle de thème public sont divisées en différents services de lots selon le modèle et le moteur de calcul distribué est effectué par le moteur de calcul distribué. Lot calcul. Dans le même temps, afin de répondre aux besoins commerciaux de plusieurs couches de modèle, il existe une couche de planification de ressources unifiée et un système de planification de flux de travail permettant de garantir que chaque service peut obtenir une ressource de quota donnée pour assurer la rationalité et l'efficacité de l'allocation des ressources.
Deuxièmement, plusieurs applications différentes sont allouées de manière dynamique via la couche de gestion des ressources. Chaque groupe d'entreprises acquiert des données de traitement de données et combine sa propre entreprise utilise des données connexes, et chaque entreprise peut également partager des données dans le calcul via des technologies telles que la base de données. Ces services comprennent divers services de requête et de récupération, des municipalités de données et des entrepôts de données de découverte associés.
En outre, le schéma ci-dessus comprend également un entrepôt de données de traitement en temps réel. La source de données en temps réel passe dans la file d'attente de messages dans le système et effectue une fenêtre de temps en fonction de l'horodatage des données, telles que des statistiques de données sur certaines fenêtres en temps réel, sur la base du traitement des données du moteur de règles, ou même un modèle d'exploration de données. Une fois que le bus de données de données d'entrée unifié des données traitées, d'autres entrepôts de données logiques obtiennent des données pertinentes en s'abonnant au service. Si le marché des données peut insérer directement la mémoire de la chaîne SSD des données de la fenêtre d'abonnement de bus, cette partie des données peut être utilisée pour effectuer une analyse statistique en temps réel. En outre, d'autres applications peuvent également souscrire aux données pertinentes sur le bus de données d'entreprise, de sorte que les données requises pour les besoins professionnels.
Par conséquent, les solutions Hadoop peuvent réaliser des paires d'entreprises avec un systèmeEntrepôt de données traditionnel, entrepôt de données en temps réel, entrepôt de données de découverte d'association et demande de marché des données, et utilisez un ensemble de ressources via une division logique, aucune nécessité de construire plusieurs fois plusieurs projets.
Du niveau technique, certains SparksQL, CDH, etc.) peuvent mettre en œuvre partiellement la demande des entrepôts de données, mais il existe encore des distances de la couverture complète. Certaines caractéristiques techniques clés doivent atteindre les avancées afin de respecter les indicateurs d'entreprise de la construction de l'entrepôt de données de la société. Il possède principalement les indicateurs techniques suivants:
Moteur de calcul distribué
Heavy and Stable, doit pouvoir exécuter un service à charge élevée 7 * 24 heures
d'évolutivité élevée, capacité avec l'augmentation des ressources matérielles Croissance linéaire
A une forte capacité de traitement, peut gérer des services SQL complexes de GB à des centaines de la magnitude de la tuberculose
Actuellement, la carte de calcul se réunit robuste et stable. et l'évolutivité élevée, mais la puissance de traitement est faible et ne peut pas satisfaire efficacement aux besoins de performance de l'entreprise; Spark s'est développé rapidement ces dernières années, la capacité de traitement et les échelles sont bonnes, mais dans la stabilité et la robustesse, il y a encore un problème en termes de D'autres systèmes SQL sur les programmes Hadoop tels que FLINK sont toujours dans les premiers jours de développement et ne convient pas à une utilisation commerciale. Le programme MPP a des problèmes évolutifs. Lorsque la quantité de données est grande (telle qu'un niveau de 100 To), elle ne peut pas être résolue par l'augmentation des ressources matérielles et ne peut gérer que la quantité spécifique de niveau de données.
Par conséquent, le moteur étincelle est le meilleur du moteur de calcul distribué si le moteur Spark peut résoudre efficacement des problèmes de stabilité et de robustesse. Choisissez.
La plupart des entrepôts de données actuellement en production sont implémentés sur la base d'une base de données relationnelle ou de la base de données MPP. Le système général est grand et le niveau de code est des dizaines de milliers à des centaines de milliers de lignes SQL de rangée ou stockées. SQL 99 est le modèle de programmation de faits standard dans le domaine de l'entrepôt de données, afin que la prise en charge des normes SQL 99 est une construction de plates-formes de données.L'entrepôt de données est nécessaire pour prendre en charge certaines extensions modulaires SQL communes (telles que Oracle Pl / SQL, DB2 SQL PL), etc il sera très bénéfique pour les entreprises de migrer sans heurts les systèmes d'entrepôt de données de l'architecture originale à Hadoop basé à Hadoop Allez. L'utilisation de modèles de programmation non standard, le coût et le risque de construction réelle des entrepôts de données ne peuvent pas être contrôlés.
Diversité du fonctionnement des données
Processus de traitement de données requis pour différents modèles nécessite une variété d'opérations de données, éventuellement, elle est insérée à partir d'un fichier ou d'une base de données, ou certaines données incrémentielles. peut être modifié ou mis à jour. Par conséquent, la plate-forme de données doit fournir des opérations de données de différentes manières, telles que les données de fonctionnement par SQL Insertion / Mettre à jour / Supprimer / Fusionner, ou peuvent être chargées à partir de la file d'attente de fichiers ou de messagerie et d'autres données. Dans le même temps, ces opérations doivent soutenir des scénarios élevés en concurrence et à haut débit, sinon il n'est pas possible de répondre aux besoins des services simultanés de plusieurs entreprises.
Garanties de cohérence des données
Lors du traitement de données de chaque couche de modèle, il peut y avoir une variété de sources de données. En même temps. Prenant une couche source d'une banque à titre d'exemple, une feuille de données totale d'une banque peut être usinée en même temps que des données et des sources de données externes (telles que les données de la banque centrale). Au cours du processus de traitement de la source de données simultanée, la cohérence des données doit être garantie. Par conséquent, les entrepôts de données basés sur de grandes plateformes de données doivent également fournir une garantie de transactions, garantissant que les opérations de modification de données répondent à la cohérence, à la persistance, à l'intégrité et à l'atomicité.
Capacité d'analyse statistique interactive d'OLAP
Pour les applications de faune de données, les utilisateurs sont générés et retardés pour les rapports sensibles, généralement requis pour retarder dans les 10 secondes. Les entrepôts de données traditionnels doivent être combinés avec certains outils de BI, et certains rapports sont calculés à l'avance, nécessitent donc un calcul et un stockage supplémentaires et sont limités à la taille de la mémoire, et il existe une limite de capacité pouvant être traitée, de sorte qu'il ne peut donc pas être pleinement possible. applicable aux grandes données. Scénario d'application.
Certains projets open source tentent d'accélérer les capacités d'analyse statistique des données dans HBASE par un stockage supplémentaire, mais il existe un coût de construction élevé, facile à éroder. Je ne peux pas supporter. Je ne peux pas supporter. Les requêtes ad hoc et d'autres problèmes, et il est nécessaire d'améliorer la stabilité pour répondre aux besoins de l'entreprise.
D'autres sociétés commerciales ont commencé à fournir une solution basée sur une analyse statistique interactive de la mémoire ou de la SSD, en utilisant des données directement dans SSD ou de la mémoire et d'accélérer l'analyse statistique de volume de données importante par index intégré, Cube et al. Vitesse , peut terminer les données statistiques de la ligne de ligne de lignes dans les 10 secondes. Cette solution est polyvalente et prend en charge les requêtes ad hoc, une solution plus raisonnable.
La puissance de traitement des données multi-types
dans des systèmes de données volumineux, la proportion de données structurées et de données non structurées sont de 2: 8, de la documentation Les informations d'image, le fichier de protocole et certains formats de données dédiés, etc les données non structurées de l'entreprise sont très importantes et la grande plate-forme de données doit fournir un stockage et une récupération rapide.
Open Source HBase fournit une technologie mob afin de stocker et de récupérer des données non structurées, de la satisfaction et de la récupération substantielles des images locales, des données de classe de documents, mais il existe également des problèmes, mais ces Comme le coût de l'opération SclID IO ne prend pas en charge le stockage du fichier de magasin, etc.; En outre, il est également une lacune des opérations qui ne peuvent pas prendre en charge JSON / XML et autres fichiers de données courants. D'autres bases de données telles que MongoDB sont très bonnes pour JSON, mais ne sont pas assez bonnes pour les images vidéo des images vidéo non structurées.
Une solution technique réalisable consiste à augmenter le codage et le décodage de la prise en charge de JSON / XML dans un schéma similaire, calculé par la couche SQL. Dans le même temps, modifiez la méthode de stockage dans HBASE HBASE, réduisant le niveau fractionné au niveau de la famille de colonnes afin de réduire les coûts de l'IO, etc afin de fournir des capacités de traitement d'objet plus efficaces et plus efficaces.
Calcul en temps réel et bus de données d'entreprise
Calcul en temps réel consiste à établir des exigences de base pour le traitement en temps réel des entrepôts de données et diverses nouvelles entreprises La clé de l'entreprise. À titre d'exemple de crédit bancaire, le processus de crédit précédent est que la personne d'affaires s'appliquera aux informations de crédit après la demande du client et que le cycle est moins efficace. Si vous utilisez un entrepôt de données en temps réel, chaque client demande à entrer dans l'autobus de données d'entreprise, le micro-service correspondant sur le bus peut être utilisé en temps réel pour accéder aux données de crédit, judiciaire, d'entreprise et autres, ainsi que certains algorithmes miniers sur le bus. Le client est marqué et après avoir entré le système de crédit, le score nécessaire et le quota de crédit est terminé, et le personnel de l'entreprise n'a besoin que d'approbation finale sur la base de ces données, le processus global est presquePour obtenir des processus simplifiés en temps réel, de grands processus et d'améliorer l'efficacité.
Le modèle de calcul de la programmation du calcul en temps réel est une autre question importante. Le streaming d'étincelle ou la tempête actuelle est principalement programmé par l'API, plutôt que par l'entreprise couramment utilisée. SQL, tant d'affaires hors ligne ne peut pas migrer pour diffuser des plates-formes informatiques. Du point de vue du développement des applications, la fourniture d'applications informatiques en temps réel du développement SQL est un facteur important dans la construction d'entrepôts de données en temps réel. À l'heure actuelle, certaines plates-formes commerciales ont la capacité de calculer des applications via le développement SQL.
Fédération de base de données
Comme il existe de nombreux ensembles de systèmes dans l'entreprise, plus une sensibilité des données, etc il est impossible à toutes les données que vous pouvez la résumer à L'entrepôt de données, la technologie de la Fédération de base de données de la base de données étant une fonction indispensable dans de nombreux scénarios. La technologie de la Fédération de base de données permet à la plate-forme de pénétrer dans chaque source de données, tirant des données d'autres sources de données dans le cluster pendant le processus de calcul et en appuyant sur les caractéristiques fournies par la source de données commune dans la source de données afin de réduire la quantité de données des données. A Poussez une traction, en faisant ses performances de performance, analyse croisée de plusieurs sources de données.
Il existe deux genres dans ce champ et les fournisseurs de données traditionnels veulent couvrir Hadoop avec leurs propres moteurs SQL, cachent Hadoop en eux. Le moteur est ci-dessous, de cette façon pas complètement distribué. Une autre stratégie consiste à utiliser les moteurs SQL de Hadoop pour remplacer les données associées d'origine, permettant ainsi à la base de données associée d'origine d'effectuer des calculs distribués complets avec Hadoop comme la même source de données. Cette approche sera davantage alignée sur les futures tendances techniques, l'informatique distribuée et l'évolutivité étendue.
Capacité d'exploration et d'exploitation des données
Les opérations d'entreprise doivent souvent faire une analyse prédictive, mais la précision des prévisions est maintenue à un niveau bas. Ceci est causé par deux raisons principales, d'une part, car les données de l'analyse passée sont des données d'échantillonnage, aucun système logiciel à grande échelle pour stocker des données et ne peut pas analyser de grandes données. D'autre part, le modèle calculé est trop simple, la puissance informatique est beaucoup moins importante et il est impossible d'effectuer une analyse complexe à grande échelle à grande échelle, ce qui rend les prévisions passées assez inexactes.
De plus, une analyse prédictive devrait également avoir trois fonctionnalités et avoir un outil rempli. Le premier outil consiste à avoir une extraction complète des fonctionnalités, d'une grande quantité de données. Même dans les outils d'aujourd'hui aujourd'hui, les gens ont toujours besoin de personnes pour identifier ces fonctionnalités et effectuer une extraction de fonctionnalités. Le second est un algorithme qui a une apprentissage distribué à la machine. À l'heure actuelle, le nombre de cet algorithme est toujours intégral, nous avons besoin d'une liste d'algorithmes d'apprentissage de machines plus complètes. Le troisième point est que nous devons avoir un outil pour nous aider à construire un algorithme d'apprentissage de machine complet pour le pipeline, ce qui facilite l'analyse.
Il existe actuellement une variété de solutions de mines et de développeurs de données, principalement divisées en deux catégories: fournir des modèles et une programmation de visualisation. Programme, tel que SAS; et programmes qui fournissent des algorithmes et des interfaces de développement standardisées, telles que Spark Mllib et al. Les systèmes graphiques sont plus faciles dans les développeurs, mais ces systèmes sont principalement compatibles avec Hadoop, et il existe un système spécial. Et une étincelle similaire, Mllib peut mieux combiner de grandes données, et plus d'acceptation industrielle.
Gestion de la sécurité et de l'autorité
En outre, la gestion de l'autorité des données est actuellement dans l'industrie Hadoop est toujours dans une étape parfaite. Il devrait fournir un ensemble de droits basé sur la base de données / tables de SQL. Le L'administrateur peut définir la requête, la modification, la suppression, etc. de l'utilisateur, et contenir un ensemble complet de rôles, ce qui peut être facilement contrôlé par l'ensemble des groupes de rôles. De plus, certaines applications doivent fournir un contrôle précis de niveau de ligne de la table.
Gestion de la charge hybride
La plate-forme d'entrepôt de données unifiée doit prendre en charge la gestion des charges de travail hybrides, qui peuvent apporter des ressources pour plusieurs locataires, ainsi que de partager des ressources et des ressources inactives à d'autres clients. Et appuyer également la préemption. Deuxièmement, il doit également soutenir l'isolement des ressources et des données, de sorte que plusieurs locataires n'interfèrent pas les uns avec les autres. En outre, il doit être capable de séparer les tâches de lot et les tâches en temps réel, optimiser certaines tâches en temps réel, de sorte que plusieurs utilisateurs puissent prendre en charge plusieurs scénarios d'applications complexes mixtes.
L'utilisation de la technologie de conteneur peut efficacement réaliser l'isolement des ressources et des données, ainsi qu'un cadre de planification des ressources et une charge de travail peut être mise en œuvre et la configuration des ressources de locataire. À l'heure actuelle, ce champ est un point chaud de l'innovation et de nombreuses solutions ont émergé, et il existe probablement plusieurs genres, l'un est basé sur des itinéraires technologiques de Mesphere, permettant aux applications Hadoop à exécuter sur le cadre de ressources de Mesphere. La faiblesse de cette solution est la première de toutes, et toutes les grandes données de données et de bases de données doivent être personnalisées et transformées et ne peuvent pas être normalisées. La deuxième faiblesse est que l'isolement est trop faible. Une autre façon d'utiliser Kubettes + Docker, tous les conteneurs d'application, fournir une planification des ressources et une gestion multi-locataires par Kubettes, plus normalisées, pratiques pour unifier le déploiement et l'opération, et nous pensons que c'est une meilleure solution.
Architecture de micro-service
Avec l'avancement de la technologie de la plate-forme, la conception du système d'application changera également. Auparavant, un système comprend une extrémité avant, un middleware, une base de données de plusieurs modules, un couplage de système élevé, une construction complexe. Le système d'application sur le futur entrepôt de données peut être microcédé et toutes les fonctions sont construites par un petit module de service, en fonction de la dépendance, permettent au système d'emballer les emballages d'applications, ce qui favorise grandement la commodité de la migration des applications. Avec un tel système, nous pouvons facilement construire un système avec des dizaines de milliers de conteneurs, ce qui peut exécuter des milliers d'applications et son évolutivité peut être étendue à l'échelle du top mille. Dans le même temps, son isolement de ressources est également très bon, répond aux exigences relatives aux multi-locataires, à l'isolement, au partage et aux ressources préemptives.
Troisièmement, pour les perspectives futures
Cet article décrit certaines des caractéristiques de l'entrepôt de données. Et construisez une technologie clé basée sur l'entrepôt de données Hadoop. Avec l'évolution rapide de la technologie de données importante ces dernières années, nous nous attendons à d'énormes changements dans les bases de données et aux technologies de l'entrepôt de données au cours des trois prochaines années. Tout comme Gartner avantDans le cas contraire, nous transférerons l'entrepôt de données de l'entrepôt de données traditionnel précédent à l'entrepôt de données logique, Hadoop joue un rôle très important et de nombreuses applications d'entreprise ont commencé à rendre Hadoop comme élément important de l'entrepôt de données. Partie.En février 2016, Gartner est sur le point de publier le quadrant magique de l'entrepôt de données, vous pouvez voir que la technologie Hadoop en tant que solution technique pour l'entrepôt de données est acceptée par le marché.
Le marché de la plate-forme de données a une valeur énorme, mais la plupart d'entre eux sont divisés par Oracle, IBM, Teradata.Nous espérons donc que davantage de pairs nationaux peuvent investir dans la recherche et le développement des plateformes d'entrepôt de données basées sur Hadoop, afin de créer un produit d'entrepôt de données exceptionnel à l'ère des données et de se débarrasser des géants étrangers au monopole de cette industrie, de l'aide Technologie chinoise à réaliser dans les services aux entreprises. PÉNÉRATION DE QUALITÉ.