Exigences du projet d'entrepôt de données de commerce électronique et conception de l'architecture

1. Exigences du projet

1. Construction d'une plateforme de collecte de données sur le comportement des utilisateurs

2. Construction d'une plateforme de collecte de données commerciales

3. Modélisation dimensionnelle de l'entrepôt de données

4. Indicateurs statistiques

5. Outil de requête ad hoc pour analyser les indicateurs à tout moment

6. Surveiller les performances du cluster et déclencher une alarme lorsque des anomalies se produisent (informations tierces)

7. Gestion des métadonnées

8.Contrôle qualité

9. Gestion des autorisations (niveau table, niveau champ)

 2. Sélection technologique

Volume de données, besoins de l'entreprise, expérience du secteur, maturité technologique, coûts de développement et de maintenance et budget total

Collecte et transmission de données : Flume, Kafka, Sqoop, Logstash (collecte de logs), DataX

Stockage des données : MySQL (couche ADS), HDFS, HBase, Redis, MongoDB

Informatique de données : Hive, Tez, Spark, Flink, Storm

Requête de données : Presto, Kylin, Impala, Druid, ClickHouse, Doris

Visualisation de données : ECharts, Superset (open source et gratuit) , QuickBI (hors ligne), DATAV (temps réel) (produits Alibaba)

Planification des tâches : Azkaban, Oozie, DolphinScheduler, Airflow

Surveillance du cluster : Zabbix (hors ligne), Prometheus (en temps réel)

Gestion des métadonnées : Atlas

Gestion des autorisations : Ranger, Sentry (Apache les a supprimés)

 3. Traitement du processus de données du système

Nginx : équilibrage de charge, principalement chargé d'équilibrer les données sur chaque serveur

Principalement divisé en données commerciales  et données sur le comportement des utilisateurs

Les données commerciales sont stockées dans MySQL et les données sont synchronisées avec le cluster via Sqoop.

Les données sur le comportement des utilisateurs proviennent principalement de points enfouis front-end. Les données sont stockées sous forme de fichiers. Les fichiers journaux sont collectés vers Kafka via Flume (pour éviter la collecte directe, éviter un volume de données excessif et l'élimination des pics), puis synchroniser les données. au cluster via Flume. HIVE On Spark effectue le stockage, le nettoyage, la conversion et d'autres opérations des données, et divise les données en couche d'origine des données ODS, couche de détail des données DWD, couche de service de données DWS, couche de sujets de données DWT et couche d'application de données ADS. .

Les données de la couche ADS sont ensuite synchronisées avec MySQL via Sqoop pour une analyse visuelle et un affichage (Superset)

Pendant le processus de calcul, les données des couches DWD, DWS et DWT peuvent être interrogées ad hoc via Presto.

L'analyse multidimensionnelle des données de la couche DWD peut être effectuée via Kylin et les résultats peuvent être stockés dans HBase

L'outil de planification de tâches planifiées peut utiliser Azkaban

Gestion des métadonnées avec Atlas

Gestion des autorisations à l'aide de Ranger

La gestion de la qualité des données utilise Python+Shell

Surveillance de cluster à l'aide de Zabbix

4. Sélection de la version du framework et taille du cluster

Apache open source et gratuit

Serveur cloud : Alibaba Cloud EMR

                  Amazon Cloud EMR        

                  Tencent Cloud DME

                  Huawei Cloud DME

Le choix de la machine physique ou du serveur cloud repose principalement sur les besoins de l’entreprise.

Machine physique : le coût de l'espace, les factures d'électricité, la maintenance de la machine, puis l'exploitation et la maintenance du serveur sont élevés et la sécurité est relativement élevée.

Serveur cloud : coût élevé, mais maintenance ultérieure plus facile et sécurité inférieure à celle des machines physiques

Comment acheter un serveur ?

1 million d'utilisateurs quotidiens* 100 entrées par personne en moyenne* Taille du journal 1K* Aucune extension pendant six mois* 180* Trois copies3* Réserve 20 %~30 %Buf = 77T

Pensez ensuite à la superposition d’entrepôts de données, à la compression des données, etc.

Planification et conception des ressources du cluster

Principes des clusters de production :

Séparation de la consommation de mémoire

Les transferts de données sont rapprochés

Le client doit être placé sur un seul serveur autant que possible pour faciliter l'accès externe (sécurité des données)

S'il y a des dépendances, essayez de les placer sur un seul serveur.

Groupe de tests :

Je suppose que tu aimes

Origine blog.csdn.net/GX_0824/article/details/132566416
conseillé
Classement