36
© 2019 Snowflake Computing Inc. All Rights Reserved CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE GOLDENGATE Michael Rainey | ITOUG Tech Days February 2019

CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE GOLDENGATEMichael Rainey | ITOUG Tech Days

February 2019

Page 2: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

ABOUT MEMichael RaineySenior Solutions Architect at Snowflake ComputingOracle ACE Director

Twitter: @mRaineyEmail: [email protected]

Page 3: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

3 YEARS IN STEALTH + 3 YEARS GA

900+ employeesOver 2000 customers

today

Over $850M in venture funding from leading

investors

First customers 2014, general

availability 2015

Founded 2012 by industry veterans

with over 120 database patents

Queries processed in Snowflake per day:

100 million

Largest single table:

68 trillion rows

Largest number of tables single DB:

200,000

Single customer most data:

> 40PB

Single customer most users:

> 10,000

Fun facts:

Page 4: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reservedhttps://pixabay.com/en/fountain-water-flow-wet-3412242

Page 5: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

ORACLE GOLDENGATE

Page 6: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

In the beginning…● Development of the “handler” was a manual effort using GoldenGate for Java adapter● Very few targets available (HBase, Flume, Hive, etc)

Over the years…● More targets, more handlers, more automated!

ORACLE GOLDENGATE FOR BIG DATA

Page 7: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

ORACLE GOLDENGATE FOR BIG DATA

https://blogs.oracle.com/dataintegration/goldengate-for-big-data-123211-release-update

Page 8: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

WRITE FILES WITH GOLDENGATE FOR BIG DATA

https://pixabay.com/en/alphabets-ancient-author-data-2365812/

Page 9: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

File Writer Handler● Data is formatted and staged locally● Maintain state - previously, all was lost● Templated strings (substitution variables) can be used throughout properties file for naming

Event Handlers● Transforms files written by File Writer Handler to target format (Parquet, ORC, etc)● Connects to 3rd party application APIs● Loads files to 3rd party applications (HDFS, S3, etc)

Pluggable Formatters● Provide format options and metadata options

GOLDENGATE FOR BIG DATA HANDLERS

Page 10: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

Extracting data from the source remains the same, no changeInstall and setup GoldenGate for Big Data to handle replicat functionalityCreate replicat parameter file and properties file

GOLDENGATE FOR BIG DATA SETUP

Page 11: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

Contains parameters required for...● ...creating the file and where it will be created● ...file format and metadata options● ...connection to final target and additional parameters required

Create with name that matches replicat parameter file name● Example: payroll.prm / payroll.properties

GOLDENGATE FOR BIG DATA PROPERTIES

Page 12: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

REPLICAT TO TARGET PROCESS

Page 13: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

FILE WRITER HANDLER STATE

Page 14: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

GOLDENGATE FOR BIG DATA PROPERTIES

Page 15: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

GOLDENGATE FOR BIG DATA PROPERTIES

Pluggable Formatter

Page 16: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

GOLDENGATE FOR BIG DATA PROPERTIES

Page 17: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

GOLDENGATE FOR BIG DATA PROPERTIES

Page 18: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

Cloud storage security (S3)● User/role must be able to list buckets and create buckets, along with ability to write files

Properties file syntax ● Not many examples besides in the documentation...which can incorrect as well!

Add all required properties● For example, goldengate.userexit.writers=javawriter is required, but not in the docs

LESSONS LEARNED

Page 19: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

USING THE DATA IN CLOUD STORAGE

https://pixabay.com/en/hacking-cyber-blackandwhite-crime-2903156/

Page 20: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

A fully managed extract, transform, and load (ETL) service

Data Catalog● Central repository to store structural and operational metadata for all

your data assetsCrawlers

● Connects to data stores, determines the data structures, and writes tables into the Data CatalogJobs

● Business logic that performs the extract, transform, and load (ETL) work● Developed using PySpark or Scala as scripts, generated by AWS Glue● Built-in transforms used to process data

AWS GLUE

Page 21: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

AWS GLUE JOB

Page 22: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

Serverless query engine for reporting and analyticsUses Presto DB as the underlying query engineSupports CSV, JSON, Gzip files and columnar formats like Apache Parquet

● Use Athena’s own catalog or the centralized AWS Glue catalogServerless query engine

● Performance scales “automatically” based on query profiling● Pay as you query - based on data scanned ● SELECT only - no DML● Follow best practices for query optimization

Integrates with BI tools like Tableau, Looker, AWS QuickSight, etc. for advanced reports and visualizations

AMAZON ATHENA

Page 23: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

AMAZON ATHENA

Page 24: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

BI service used to create data visualizations and interactive dashboards for insightful analysisConnects to AWS sources (Athena, S3, etc), SQL databases, and SaaS applications (Salesforce, etc)Uses ‘pay-per-session’ pricing for cost-effective user accessCreate and publish interactive dashboards, share reports via email, or embed analytics into customer applicationsPowered by super-fast, parallel, in-memory calculation engine (SPICE)

AWS QUICKSIGHT

Page 25: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

Page 26: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

Storage separated from compute● Centralized, scale-out storage that expands

and contracts automaticallyResize compute instantly

● Scale up/down or turn off when not in useMultiple clusters access data without contention

● ETL, reporting, data science, and applications all running at the same time without performance impact.

Centralized management● Separate metadata from storage and

computeFull transactional consistency (ACID)

SNOWFLAKE DATA WAREHOUSE

Management Optimization Security Availability Transactions Metadata

Page 27: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

AUTO-INGEST WITH SNOWPIPE

Snowflake Database

External S3

Snowpipe Service

Server-less Loader

S3 notification

File data

Data replication/streaming application

Page 28: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

CONTINUOUS REPLICATION TO SNOWFLAKE

Snowflake Database

External S3

Snowpipe Service

Server-less Loader

S3 notification

File data

Page 29: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

MERGE REPLICATED DATA

Page 30: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

MERGE REPLICATED DATA

Page 31: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

MERGE REPLICATED DATA

Page 32: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

MERGE REPLICATED DATA

...

...

Page 33: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reservedhttps://pixabay.com/en/lightbulbs-bulbs-light-idea-energy-1875257/

Page 34: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

GoldenGate for Big Data docs: https://docs.oracle.com/goldengate/bd123210/gg-bd/index.html

Oracle Data Integration blog:https://blogs.oracle.com/dataintegration/data-integration

Continuous Data Replication into Snowflake with Oracle Goldengate blog post: https://www.snowflake.com/blog/continuous-data-replication-into-snowflake-with-oracle-goldengate/

MORE INFORMATION

Page 35: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

THANK YOU

© 2019 Snowflake Computing Inc. All Rights Reserved

Page 36: CONTINUOUS DATA REPLICATION INTO CLOUD STORAGE WITH ORACLE …€¦ · Development of the “handler” was a manual effort using GoldenGate for Java adapter Very few targets available

© 2019 Snowflake Computing Inc. All Rights Reserved

DISCOVER THE PERFORMANCE, CONCURRENCY, AND SIMPLICITY OF SNOWFLAKE

As easy as 1-2-3!

01 Visit Snowflake.com

02 Click “Try for Free”

03 Sign up & register

Snowflake is the only data warehouse built for the cloud. You can automatically scale compute up, out, or down—independent of storage. Plus, you have the power of a complete SQL database, with zero management, that can grow with you to support all of your data and all of your users. With Snowflake On Demand™, pay only for what you use.

Sign up and receive$400 worth of freeusage for 30 days!