0
votes

Comment extraire des données de la base de données Oracle et enregistrer dans Google Cloud Platform

besoin d'extraire les données de la base de données Oracle et stockée dans Google Cloud Platform. Les données sont d'environ 10 To. Est-il possible d'étincelle? Les données doivent transférer chaque mois une fois. Données à stocker et à traiter dans GCP comme suit:

Base de données Oracle sur le stockage en nuage (ne doit pas faire l'exportation de CSV), elle sera propre et préparée dans DataPrep, ce qui sera un processus supplémentaire via Dataflow, puis il sera ensuite stocké sous une grosse requête (à partir de la grande requête Scientiste de Data Scientist. Utilisez des données pour leur création de modèle).

Aucun outil tiers à utiliser au cours de cela. Tout outil open source est autorisé.

Je pense que je pense d'extraire des données de Spark (bien que l'utilisation de DataProc pour Spark Job) et de le stocker dans GCP (tout entrepôt sur le cloud ou une grande table ou une grande requête). Grâce à Nuage SQL - il n'est pas possible, car il ne prend pas en charge la base de données Oracle.

Une nouvelle architecture est également bien, si ma logique ci-dessus est fausse. Veuillez suggérer. Merci.


1 commentaires

Stockez-le où dans GCP? À quelle vitesse avez-vous besoin de le transférer? Vous devez partager beaucoup plus d'informations sur vos besoins. Ce n'est pas assez d'informations.


3 Réponses :


0
votes

Votre architecture sonne bien. Juste des conseils:

  • Si vous interrogez votre base de données de Spark Job et que vous effectuez une transformation dans le même temps, vous augmentez le risque de panne de réseau et les difficultés de reprendre votre traitement (voir ci-dessous)
  • Le motif: Stockage en nuage -> Dataflow -> BigQuery est parfait pour le traitement des lots, une fois par mois comme le vôtre.
  • Cloud SQL ne peut pas correspondre à votre besoin (pas de support Oracle et de base de données limitée à 10 To)
  • BigQuery ne correspond pas à la fonctionnalité Oracle (comme Cloud SQL Engine (MySQL et PostGre), pas la même dialecte de fonction, la procédure stockée, les requêtes, la ..) Mais c'est la base de données d'échelle du PETABYTE. Conçu pour Analytics (ne vous attendez pas à la réponse de la réponse à milliseux pour une utilisation du site Web par exemple, la requête prend au moins 1s) -> Exception pour la visualisation des données de Datastudio où vous pouvez brancher BI Moteur, un cache en mémoire qui vous permet de accélérer votre Query de BigQuery pour Datastudio
  • Bigtable est la conception des arrondis avec une exigence de débit élevé; Pas votre cas, vous êtes en mode batch.

    À propos du transfert de données, de mon point de vue, il est plus facile de reprendre un transfert de fichier qu'une transaction de base de données.

    Je veux dire que si vous utilisez Spark pour interroger votre base de données Oracle et effectuer l'extrait / la transformation souhaitée, et si une défaillance de connexion se produisait, tout votre processus peut échouer et redémarrer. Ou vous devez mettre en œuvre beaucoup d'ingénierie intelligente pour faire face à ce type de problème.

    de l'autre côté, si vous avez un fichier, l'extrait de votre base de données Oracle effectuée localement, il est facile avec gsutil pour reprendre ces transferts. De plus, vous interrogez localement votre base de données et il est plus efficace qu'une requête via le réseau. Pour améliorer les performances de transfert de fichier de vos fichiers 10 To, vous pouvez consulter Cette vidéo < / a> pour les gros fichiers; Il existe d'autres vidéos dans la série pour de petits fichiers si c'est votre cas.


4 commentaires

Dans la base de données Oracle, presque toutes les tables sont d'environ 5 Go et il y a environ 500 tables ou encore plus. Dans chaque mois, les données augmenteront, alors au mois prochain, seules les données de différence doivent être téléchargées. Si Gsutil fonctionnera dans ce scénario? Mais après avoir eu du succès en mode batch, la prochaine étape consistera à la faire en temps réel. Le point de douleur est de savoir comment charger des données dans GCP tout stockage, puis nettoyer et éliminer les données indésirables.


Plus longtemps, vous devez garder la connexion entre votre base de données Oracle et votre GCP, le risque de panne de réseau est plus élevé. Vous devez faire face à ce risque et choisir la solution qui exploit vos besoins et vos capacités de développement et de supervision.


Je vais extraire les données de la base de données Oracle via Spark, puis je souhaite stocker ces données de Spark vers n'importe quel stockage de Google Cloud Platform. C'est possible?


Oui, utilisez le stockage en nuage. Cependant, je ne suis pas Hadoop / Spark Expert (je ne l'utilise jamais dans la production) et je ne sais pas quel opérateur utiliser pour cela ...



0
votes

Espérons que ma réponse n'est pas trop tard, mais je vais le poster quand même ...

Vous pourriez être en mesure de réduire certaines des étapes que vous avez mentionnées, mais tout dépend des détails de votre transformation de données. Il y a trop de possibilités à énumérer, mais je pense que vous recherchez un ensemble d'options à choisir. Si vous souhaitez rechercher des options d'enquête, voir ci-dessous.

  • j'ai trouvé Cet article qui montre comment migrer de Oracle OLTP à la clé ou de OLAP à BigQuery. Il y a un flux de travail entier, qui est trop long pour la liste ici.
  • aussi, Cet article affiche des options de transfert générales telles que "Transfert en ligne" , "Service de transfert", "Transfert Appliance" et "Service de transfert de données de bigquery" en haut de la page. Le reste de la page fournit des informations sur la manière de choisir le bon service en fonction de la quantité de données et de débit.

    J'espère que ce qui précède vous indique dans la bonne direction si ce n'est pas trop tard.


0 commentaires

0
votes

Le lien suivant indique que vous pouvez utiliser Cloud Dataflow pour lire directement à partir de la base de données Oracle à BigQuery. Si vous souhaitez effectuer des ETL, vous devrez peut-être ajouter quelques étapes supplémentaires entre les deux.

https://github.com/rrakesh2690/dataNeDeNering


0 commentaires