Maison > Article > base de données > Pourquoi copier des données de MySQL vers Redshift
De nombreuses entreprises qui utilisent MySQL pour alimenter leurs applications Web choisissent Redshift pour l'analyse des données. Il y a plusieurs raisons pour lesquelles vous devriez le faire également :
Maintenir les performances des applications. Comme nous l'avons déjà mentionné, l'exécution de requêtes analytiques sur une base de données MySQL de production peut avoir un impact important sur ses performances. Cela peut même provoquer un crash. Les requêtes analytiques sont très gourmandes en ressources et nécessitent une puissance de calcul dédiée.
Analysez toutes vos données. MySQL a été conçu en mettant l'accent sur les données transactionnelles car il s'agit d'une base de données OLTP (traitement de transactions en ligne) et ses utilisations incluent les enregistrements clients et les données financières. Cependant, vous souhaitez obtenir des informations sur l'ensemble des données, y compris les types autres que les transactions. Vous pouvez utiliser Redshift pour capturer et analyser toutes vos données en un seul endroit.
Analyse plus rapide. Redshift est un entrepôt de données à traitement massivement parallèle (MPP), ce qui signifie qu'il peut traiter de grandes quantités de données en très peu de temps. MySQL, en revanche, a du mal à atteindre la puissance de calcul requise pour les requêtes analytiques modernes à grande échelle. Même les bases de données répliques MySQL ont du mal à atteindre les mêmes vitesses que Redshift.
Évolutivité. MySQL est conçu pour les instances à nœud unique, et non pour les infrastructures cloud distribuées modernes. Par conséquent, la mise à l’échelle au-delà d’un seul nœud demande beaucoup de temps et de ressources, nécessitant l’utilisation de techniques telles que le partitionnement ou la configuration de masternodes. Tous ces éléments peuvent ralentir davantage la base de données.
Pour répondre aux besoins analytiques, de nombreuses entreprises copient les données de MySQL vers Redshift en raison des faiblesses inhérentes à MySQL. Il existe 4 façons d'y parvenir :
Importer
Sélection et copie incrémentielles
Utiliser Binlog Change Data Capture (CDC)
ETL
Le moyen le plus simple copier vers Redshift, c'est exporter l'intégralité des données MySQL. Cependant, c’est aussi la méthode la moins efficace. Il y a trois étapes :
Export
Transform
Import
Tout d'abord, utilisez la commande mysqldump de MySQL pour exporter les données. Une commande mysqldump typique ressemble à ceci :
java:
$ mysqldump -h yourmysqlhost -u user mydatabase mytable1 mytable2 --result-file dump.sql
La sortie de cette commande est votre instruction SQL MySQL. Vous ne pouvez pas exécuter SQL sur Redshift tel quel : vous devez convertir les instructions dans un format adapté à l'importation Redshift.
Pour des performances de téléchargement optimales, convertissez vos instructions SQL au format TSV (valeurs séparées par des tabulations). Vous pouvez le faire à l'aide de la commande Redshift COPY. La commande
COPY convertit vos instructions SQL au format TSV. Ensuite, téléchargez par lots les fichiers sur Amazon S3 dans une table Redshift. Par exemple, une ligne de données dans le dump MySQL ressemble à ceci :
java:
mysql> INSERT INTO `users` (`id`, `firstname`, `lastname`, `age`) VALUES (1923, ‘John’, ‘Smith’, 34),(1925,’Tommy’,’King’);
En utilisant COPY, cela devient comme ceci :
1923 5 ans | Tmmy | King |
---|
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!