---
title: RheoData Blog (3)
description: RheoData Blog Posts (3)
---

[![RheoData - Logo - transparent-1](https://rheodata.com/hs-fs/hubfs/RheoData%20-%20Logo%20-%20transparent-1.png?width=250&height=50&name=RheoData%20-%20Logo%20-%20transparent-1.png "RheoData - Logo - transparent-1")](https://rheodata.com/)

- Who We Are 
    - [About Us](https://rheodata.com/who-we-are)
- Services 
    - Consulting 
          - [The Studio](https://rheodata.com/the-studio)
    - Accelerators 
          - [FrostCore](https://rheodata.com/frostcore)
          - [FrostAI](https://rheodata.com/frostai)
          - [RedCore](https://rheodata.com/redcore)
          - [RedAI](https://rheodata.com/redai)
          - [RedGuard](https://rheodata.com/redguard)
          - [BlueCore](https://rheodata.com/bluecore)
          - [Calypso](https://rheodata.com/calypso)
    - Services 
          - [Data Integration](https://rheodata.com/data-integration)
          - [Analytics](https://rheodata.com/data-analytics)
          - [Multi-Cloud](https://rheodata.com/multi-cloud)
          - [Oracle@Google Cloud](https://rheodata.com/oracle-google-cloud)
          - [Exadata & Oracle Database](https://rheodata.com/exadata-and-oracle-database-26ai)
- Verticals 
    - [Manufacturing](https://rheodata.com/manufacturing)
    - [Retail](https://rheodata.com/retail)
    - [State & Local](https://rheodata.com/sled)
- [Customer Stories](https://rheodata.com/customer-stories) 
    - [Altec](https://rheodata.com/customer-stories/altec-oci-goldengate-data-migration)
    - [Shoe Carnival](https://rheodata.com/customer-stories/shoe-carnival-goldengate-microservices-migration)
    - [Icon](https://rheodata.com/customer-stories/icon-transatlantic-replication)
    - [Inovalon](https://rheodata.com/customer-stories/inovalon-data-pipeline-automation)
- Resources 
    - [Blog](https://rheodata.com/en-us/blog)
    - Books 
          - [Pro Oracle GoldenGate 23ai](https://rheodata.com/pro-oracle-goldengate-23ai-for-the-dba-pdf-landing-page)
- [Contact](https://rheodata.com/contact)

[![](https://rheodata.com/hs-fs/hubfs/Imported_Blog_Media/blog-feature-Logo-Nov-26-2025-07-14-39-7226-PM.png?width=100&height=100&name=blog-feature-Logo-Nov-26-2025-07-14-39-7226-PM.png)](https://rheodata.com/)

<https://rheodata.com/en-us/blog/page/3#minimal-header__mobile-nav__mmenu>

[![RheoData - Logo - transparent-1](https://rheodata.com/hs-fs/hubfs/RheoData%20-%20Logo%20-%20transparent-1.png?width=250&height=50&name=RheoData%20-%20Logo%20-%20transparent-1.png "RheoData - Logo - transparent-1")](https://rheodata.com/)

- Who We Are 
    - [About Us](https://rheodata.com/who-we-are)
- Services 
    - Consulting 
          - [The Studio](https://rheodata.com/the-studio)
    - Accelerators 
          - [FrostCore](https://rheodata.com/frostcore)
          - [FrostAI](https://rheodata.com/frostai)
          - [RedCore](https://rheodata.com/redcore)
          - [RedAI](https://rheodata.com/redai)
          - [RedGuard](https://rheodata.com/redguard)
          - [BlueCore](https://rheodata.com/bluecore)
          - [Calypso](https://rheodata.com/calypso)
    - Services 
          - [Data Integration](https://rheodata.com/data-integration)
          - [Analytics](https://rheodata.com/data-analytics)
          - [Multi-Cloud](https://rheodata.com/multi-cloud)
          - [Oracle@Google Cloud](https://rheodata.com/oracle-google-cloud)
          - [Exadata & Oracle Database](https://rheodata.com/exadata-and-oracle-database-26ai)
- Verticals 
    - [Manufacturing](https://rheodata.com/manufacturing)
    - [Retail](https://rheodata.com/retail)
    - [State & Local](https://rheodata.com/sled)
- [Customer Stories](https://rheodata.com/customer-stories) 
    - [Altec](https://rheodata.com/customer-stories/altec-oci-goldengate-data-migration)
    - [Shoe Carnival](https://rheodata.com/customer-stories/shoe-carnival-goldengate-microservices-migration)
    - [Icon](https://rheodata.com/customer-stories/icon-transatlantic-replication)
    - [Inovalon](https://rheodata.com/customer-stories/inovalon-data-pipeline-automation)
- Resources 
    - [Blog](https://rheodata.com/en-us/blog)
    - Books 
          - [Pro Oracle GoldenGate 23ai](https://rheodata.com/pro-oracle-goldengate-23ai-for-the-dba-pdf-landing-page)
- [Contact](https://rheodata.com/contact)

[![](https://rheodata.com/hs-fs/hubfs/Imported_Blog_Media/blog-feature-Logo-Nov-26-2025-07-14-39-7226-PM.png?width=100&height=100&name=blog-feature-Logo-Nov-26-2025-07-14-39-7226-PM.png)](https://rheodata.com/)

<https://rheodata.com/en-us/blog/page/3#minimal-header__mobile-nav__mmenu>

- Who We Are 
    - [About Us](https://rheodata.com/who-we-are)
- Services 
    - Consulting 
          - [The Studio](https://rheodata.com/the-studio)
    - Accelerators 
          - [FrostCore](https://rheodata.com/frostcore)
          - [FrostAI](https://rheodata.com/frostai)
          - [RedCore](https://rheodata.com/redcore)
          - [RedAI](https://rheodata.com/redai)
          - [RedGuard](https://rheodata.com/redguard)
          - [BlueCore](https://rheodata.com/bluecore)
          - [Calypso](https://rheodata.com/calypso)
    - Services 
          - [Data Integration](https://rheodata.com/data-integration)
          - [Analytics](https://rheodata.com/data-analytics)
          - [Multi-Cloud](https://rheodata.com/multi-cloud)
          - [Oracle@Google Cloud](https://rheodata.com/oracle-google-cloud)
          - [Exadata & Oracle Database](https://rheodata.com/exadata-and-oracle-database-26ai)
- Verticals 
    - [Manufacturing](https://rheodata.com/manufacturing)
    - [Retail](https://rheodata.com/retail)
    - [State & Local](https://rheodata.com/sled)
- [Customer Stories](https://rheodata.com/customer-stories) 
    - [Altec](https://rheodata.com/customer-stories/altec-oci-goldengate-data-migration)
    - [Shoe Carnival](https://rheodata.com/customer-stories/shoe-carnival-goldengate-microservices-migration)
    - [Icon](https://rheodata.com/customer-stories/icon-transatlantic-replication)
    - [Inovalon](https://rheodata.com/customer-stories/inovalon-data-pipeline-automation)
- Resources 
    - [Blog](https://rheodata.com/en-us/blog)
    - Books 
          - [Pro Oracle GoldenGate 23ai](https://rheodata.com/pro-oracle-goldengate-23ai-for-the-dba-pdf-landing-page)
- [Contact](https://rheodata.com/contact)

# RheoData Blog

### Browse By:

Everything Cloud GoldenGate Business Insights AI 19c ai pipelines 18c 21c 12c machine learning 23ai database goldengate 21c artificial intelligence data analytics Google 23ai AI vector search aws ec2 aws ec2 compute ec2 ggs goldengate 19c install nginx 23.4 AI Vector Search analytics classic to microservices cloud-migration data mesh database migration goldengate microservices 11g 19c goldengate Azure Database Modernization Google Cloud Oracle GoldenGate autonomous database cloud management cloud services data engineering data engineers data governance heatwave 12.2.1.x 12.3.x 12c goldengate 18c goldengate 23c AI Integration Database Administration GoldenGate 23c MySQL Oracle Cloud Migration Oracle Database 26ai adminclient architecture of data pipelines automation batch processing big data data cleaning data integration data pipelines data pipelines vs ETL pipelines data science data-replication database-platforms enterprise data replication gcp hashicorp vault enterprise Agentic AI Bring Your Own License (BYOL) Oracle Cloud Database Cloud modernization strategy Docker EnterpriseDB Flask Google Cloud for Oracle workloads Legacy Oracle systems Oracle AI Vector Search Oracle Cloud Infrastructure Oracle DBA skills in the cloud Oracle GoldenGate 23ai Oracle migration assessment Oracle on GCP Snowflake Snowflake cost optimization aws azure ai studio build mysql heatwave cloud dba cloud ready cohere generate documentation data-pipeline database replication security deployment docker adminclient golden gate goldengate cloud goldengate migrations goldengate parameter files google postgresql migration ml real-time data replication 0.12upgrade 11.2.0.4 11g to 19c 11g to 21c 11g to 23c 11g to OCI 19.1.0.0.0 19.1.0.0.1 2024 5.7 5.7 to 8.0 8.0 AI Agents AI Data Platform AI Infrastructure Management AI Machine Learning AI blog writing AI business productivity AI content creation AI data infrastructure AI data management AI data platform optimization AI database administration AI database management tools AI ethics content AI governance AI inference bottlenecks AI model deployment strategies AI security AI writing tools AI-Driven-Revenue-Growth AI-Native Applications AI-ROI AI-Ready Data AI-accuracy AI-compliance AI-hallucination-prevention AI-powered database replication management API authentication AWS S3 Apache Iceberg Apache Spark data platform Atlanta database consultants Azure Data Lake Big Query BigQuery Integration Business-Intelligence-Modernization CLOB to VARCHAR Change Data Capture GoldenGate Extract Cloud Data Platform Cloud database migration Coordinated Replicat Cortex Agents Cosine distance Oracle Cross-platform data monitoring Customer-Experience-Optimization DBA burnout prevention DBA productivity DBA skills AI Data Modernization Data Pipeline Architecture Data Pipeline Management Data Streaming Data Transformation Data pipeline troubleshooting Database Security Database lag monitoring Database migration strategy Database migration vs. replication Database replication blind spots Database replication monitoring Database replication performance monitoring Databricks comparison Delta Lake integration Digital-Transformation-ROI EXTFILE EXTRAIL Edge computing AI Enterprise AI Strategy Enterprise AI scalability Enterprise cloud migration Enterprise data migration Enterprise database replication monitoring Forward Deployed Engineering GPU memory optimization GUI Gemini Enterprise GoldenGate 21c upgrade GoldenGate 23ai to 26ai GoldenGate 26ai new features GoldenGate 26ai release notes GoldenGate 26ai upgrade GoldenGate AI integration GoldenGate CDC configuration GoldenGate DAA GoldenGate Extract user permissions GoldenGate Yugabyte support GoldenGate certificate authentication GoldenGate cutover planning GoldenGate deployment automation GoldenGate granular permissions setup GoldenGate least privilege security GoldenGate lifecycle management GoldenGate migration guide GoldenGate migration sizing GoldenGate monitoring and lag management GoldenGate operational ownership GoldenGate password management GoldenGate port configuration GoldenGate replication lag detection GoldenGate response file GoldenGate trail file management GoldenGate troubleshooting solutions GoldenGate unified console GoldenGateMCP Google Cloud Platform Google Cloud Storage Google-AlloyDB HashiCorp Hybrid queries Oracle IT cost optimization IT infrastructure simplification IT leadership mental health Initial Load Inventory management data lag LLM inference optimization Large language model performance MCP Server for Oracle MCP Server, Mental Health Awareness Month tech industry Migration readiness Model Context Protocol Model inference costs OMA assessment ONNX embedding model Oracle Operating Model Oracle 23ai features Oracle 26ai features Oracle AI Data Platform Oracle AI Solutions Oracle Autonomous Database migration Oracle CPAT vs OMA comparison Oracle Database 23ai vectors Oracle Database 26ai vectors Oracle EBS migration Oracle Exadata on Google Cloud

This is a search field with an auto-suggest feature attached.

- There are no suggestions because the search field is empty.

<https://rheodata.com/en-us/blog/controlling-snowflake-costs-apache-iceberg-oracle-goldengate-23ai>

## [Controlling Snowflake Costs: The Apache Iceberg Strategy with Oracle GoldenGate 23ai DAA](https://rheodata.com/en-us/blog/controlling-snowflake-costs-apache-iceberg-oracle-goldengate-23ai)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Dec 1, 2025 11:08:44 AM

Let me give you the straight story on a challenge I'm seeing across the enterprise landscape:...

[CONTINUE READING](https://rheodata.com/en-us/blog/controlling-snowflake-costs-apache-iceberg-oracle-goldengate-23ai)

<https://rheodata.com/en-us/blog/eliminate-goldengate-port-management>

## [Stop Managing Port Numbers. Start Managing Data.](https://rheodata.com/en-us/blog/eliminate-goldengate-port-management)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 18, 2025 9:57:17 AM

Your senior DBA just spent 20 minutes trying to remember which port number connects to the...

[CONTINUE READING](https://rheodata.com/en-us/blog/eliminate-goldengate-port-management)

<https://rheodata.com/en-us/blog/genai-getstarted>

## [GenAI: How to get started](https://rheodata.com/en-us/blog/genai-getstarted)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:31:00 PM

This post we are going to look at some items related to getting started with Generative AI. This is...

[CONTINUE READING](https://rheodata.com/en-us/blog/genai-getstarted)

<https://rheodata.com/en-us/blog/basic-ddl-replication-with-oracle-goldengate>

## [Basic DDL Replication with Oracle GoldenGate](https://rheodata.com/en-us/blog/basic-ddl-replication-with-oracle-goldengate)

Posted by [Fame](https://rheodata.com/en-us/blog/author/fame) | Nov 10, 2025 9:31:00 PM

With any type of replication configuration or replication tool, primary purpose is to move the data...

[CONTINUE READING](https://rheodata.com/en-us/blog/basic-ddl-replication-with-oracle-goldengate)

<https://rheodata.com/en-us/blog/connecting-to-mysql-database-service-mds-via-dbeaver>

## [Connecting to MySQL Database Service (MDS) via DBeaver](https://rheodata.com/en-us/blog/connecting-to-mysql-database-service-mds-via-dbeaver)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:59 PM

With every new service on any cloud platform, the need to make connections is essential .This is...

[CONTINUE READING](https://rheodata.com/en-us/blog/connecting-to-mysql-database-service-mds-via-dbeaver)

<https://rheodata.com/en-us/blog/building-mysql-database-service-mds>

## [Building MySQL Database Service (MDS)](https://rheodata.com/en-us/blog/building-mysql-database-service-mds)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:58 PM

Building a MySQL Database in Oracle Cloud Infrastructure (OCI) is easy. Within a few steps, you can...

[CONTINUE READING](https://rheodata.com/en-us/blog/building-mysql-database-service-mds)

<https://rheodata.com/en-us/blog/oracle-goldengate-performance-settings-cut-snowflake-costs>

## [Oracle GoldenGate 23ai Performance Tuning: Achieving 10M Rows/Hour on X-Small Snowflake Warehouses](https://rheodata.com/en-us/blog/oracle-goldengate-performance-settings-cut-snowflake-costs)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:57 PM

Your Snowflake bills are probably 3x higher than they need to be. We wrapped up an implementation...

[CONTINUE READING](https://rheodata.com/en-us/blog/oracle-goldengate-performance-settings-cut-snowflake-costs)

<https://rheodata.com/en-us/blog/rheodata-achieves-service-expertise-in-oracle-goldengate>

## [RheoData achieves Service Expertise in Oracle GoldenGate](https://rheodata.com/en-us/blog/rheodata-achieves-service-expertise-in-oracle-goldengate)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:56 PM

Three and a half-years after our owner/founder left Oracle; RheoData has earned the Oracle Service...

[CONTINUE READING](https://rheodata.com/en-us/blog/rheodata-achieves-service-expertise-in-oracle-goldengate)

<https://rheodata.com/en-us/blog/clean-up-old-extracts>

## [Clean up old Extracts](https://rheodata.com/en-us/blog/clean-up-old-extracts)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:56 PM

For many using Oracle GoldenGate, there is a need to test out the desired configurations in a dev,...

[CONTINUE READING](https://rheodata.com/en-us/blog/clean-up-old-extracts)

<https://rheodata.com/en-us/blog/similarity-search-oracle-vector-datatype>

## [Similarity Search with Oracle’s Vector Datatype](https://rheodata.com/en-us/blog/similarity-search-oracle-vector-datatype)

Posted by [Bobby Curtis](https://rheodata.com/en-us/blog/author/bobby-curtis) | Nov 10, 2025 9:30:55 PM

In my last two posts I showed you what the Oracle Vector Datatype is and how to update existing...

[CONTINUE READING](https://rheodata.com/en-us/blog/similarity-search-oracle-vector-datatype)

### Recent Posts

#### [Coordinated Replicats: Faster, Lower-Risk GoldenGate Loads](https://rheodata.com/en-us/blog/coordinated-replicats-initial-load)

Posted at Jun 26, 2026 11:08:13 AM

![Post Featured Image](https://rheodata.com/hubfs/Gemini_Generated_Image_509fjc509fjc509f.png)

#### [Forward Deployed Engineering: The Operating Model the Agentic Era Demands](https://rheodata.com/en-us/blog/forward-deployed-engineering-agentic-era)

Posted at May 30, 2026 11:46:34 AM

![Post Featured Image](https://rheodata.com/hubfs/Gemini_Generated_Image_r8vpntr8vpntr8vp.png)

#### [The Bowl Is Broken: A CEO's Note on Mental Health Month and Tech Team Burnout](https://rheodata.com/en-us/blog/tech-team-burnout-mental-health-month-2026)

Posted at May 12, 2026 7:23:33 AM

![Post Featured Image](https://rheodata.com/hubfs/IMG_2142.jpg)

### Posts by Tag

- [Cloud (88)](https://rheodata.com/en-us/blog/tag/cloud)
- [GoldenGate (73)](https://rheodata.com/en-us/blog/tag/goldengate)
- [Business Insights (51)](https://rheodata.com/en-us/blog/tag/business-insights)
- [AI (36)](https://rheodata.com/en-us/blog/tag/ai)
- [19c (22)](https://rheodata.com/en-us/blog/tag/19c)
- [ai pipelines (17)](https://rheodata.com/en-us/blog/tag/ai-pipelines)
- [18c (15)](https://rheodata.com/en-us/blog/tag/18c)
- [21c (14)](https://rheodata.com/en-us/blog/tag/21c)
- [12c (11)](https://rheodata.com/en-us/blog/tag/12c)
- [machine learning (10)](https://rheodata.com/en-us/blog/tag/machine-learning)
- [23ai (9)](https://rheodata.com/en-us/blog/tag/23ai)
- [database (9)](https://rheodata.com/en-us/blog/tag/database)
- [goldengate 21c (9)](https://rheodata.com/en-us/blog/tag/goldengate-21c)
- [artificial intelligence (8)](https://rheodata.com/en-us/blog/tag/artificial-intelligence)
- [data analytics (8)](https://rheodata.com/en-us/blog/tag/data-analytics)
- [Google (7)](https://rheodata.com/en-us/blog/tag/google)
- [23ai AI vector search (6)](https://rheodata.com/en-us/blog/tag/23ai-ai-vector-search)
- [aws ec2 (6)](https://rheodata.com/en-us/blog/tag/aws-ec2)
- [aws ec2 compute (6)](https://rheodata.com/en-us/blog/tag/aws-ec2-compute)
- [ec2 (6)](https://rheodata.com/en-us/blog/tag/ec2)
- [ggs (6)](https://rheodata.com/en-us/blog/tag/ggs)
- [goldengate 19c (6)](https://rheodata.com/en-us/blog/tag/goldengate-19c)
- [install nginx (6)](https://rheodata.com/en-us/blog/tag/install-nginx)
- [23.4 (5)](https://rheodata.com/en-us/blog/tag/23-4)
- [AI Vector Search (5)](https://rheodata.com/en-us/blog/tag/ai-vector-search)
- [analytics (5)](https://rheodata.com/en-us/blog/tag/analytics)
- [classic to microservices (5)](https://rheodata.com/en-us/blog/tag/classic-to-microservices)
- [cloud-migration (5)](https://rheodata.com/en-us/blog/tag/cloud-migration)
- [data mesh (5)](https://rheodata.com/en-us/blog/tag/data-mesh)
- [database migration (5)](https://rheodata.com/en-us/blog/tag/database-migration)
- [goldengate microservices (5)](https://rheodata.com/en-us/blog/tag/goldengate-microservices)
- [11g (4)](https://rheodata.com/en-us/blog/tag/11g)
- [19c goldengate (4)](https://rheodata.com/en-us/blog/tag/19c-goldengate)
- [Azure (4)](https://rheodata.com/en-us/blog/tag/azure)
- [Database Modernization (4)](https://rheodata.com/en-us/blog/tag/database-modernization)
- [Google Cloud (4)](https://rheodata.com/en-us/blog/tag/google-cloud)
- [Oracle GoldenGate (4)](https://rheodata.com/en-us/blog/tag/oracle-goldengate)
- [autonomous database (4)](https://rheodata.com/en-us/blog/tag/autonomous-database)
- [cloud management (4)](https://rheodata.com/en-us/blog/tag/cloud-management)
- [cloud services (4)](https://rheodata.com/en-us/blog/tag/cloud-services)
- [data engineering (4)](https://rheodata.com/en-us/blog/tag/data-engineering)
- [data engineers (4)](https://rheodata.com/en-us/blog/tag/data-engineers)
- [data governance (4)](https://rheodata.com/en-us/blog/tag/data-governance)
- [heatwave (4)](https://rheodata.com/en-us/blog/tag/heatwave)
- [12.2.1.x (3)](https://rheodata.com/en-us/blog/tag/12-2-1-x)
- [12.3.x (3)](https://rheodata.com/en-us/blog/tag/12-3-x)
- [12c goldengate (3)](https://rheodata.com/en-us/blog/tag/12c-goldengate)
- [18c goldengate (3)](https://rheodata.com/en-us/blog/tag/18c-goldengate)
- [23c (3)](https://rheodata.com/en-us/blog/tag/23c)
- [AI Integration (3)](https://rheodata.com/en-us/blog/tag/ai-integration)
- [Database Administration (3)](https://rheodata.com/en-us/blog/tag/database-administration)
- [GoldenGate 23c (3)](https://rheodata.com/en-us/blog/tag/goldengate-23c)
- [MySQL (3)](https://rheodata.com/en-us/blog/tag/mysql)
- [Oracle Cloud Migration (3)](https://rheodata.com/en-us/blog/tag/oracle-cloud-migration)
- [Oracle Database 26ai (3)](https://rheodata.com/en-us/blog/tag/oracle-database-26ai)
- [adminclient (3)](https://rheodata.com/en-us/blog/tag/adminclient)
- [architecture of data pipelines (3)](https://rheodata.com/en-us/blog/tag/architecture-of-data-pipelines)
- [automation (3)](https://rheodata.com/en-us/blog/tag/automation)
- [batch processing (3)](https://rheodata.com/en-us/blog/tag/batch-processing)
- [big data (3)](https://rheodata.com/en-us/blog/tag/big-data)
- [data cleaning (3)](https://rheodata.com/en-us/blog/tag/data-cleaning)
- [data integration (3)](https://rheodata.com/en-us/blog/tag/data-integration)
- [data pipelines (3)](https://rheodata.com/en-us/blog/tag/data-pipelines)
- [data pipelines vs ETL pipelines (3)](https://rheodata.com/en-us/blog/tag/data-pipelines-vs-etl-pipelines)
- [data science (3)](https://rheodata.com/en-us/blog/tag/data-science)
- [data-replication (3)](https://rheodata.com/en-us/blog/tag/data-replication)
- [database-platforms (3)](https://rheodata.com/en-us/blog/tag/database-platforms)
- [enterprise data replication (3)](https://rheodata.com/en-us/blog/tag/enterprise-data-replication)
- [gcp (3)](https://rheodata.com/en-us/blog/tag/gcp)
- [hashicorp vault enterprise (3)](https://rheodata.com/en-us/blog/tag/hashicorp-vault-enterprise)
- [Agentic AI (2)](https://rheodata.com/en-us/blog/tag/agentic-ai)
- [Bring Your Own License (BYOL) Oracle (2)](https://rheodata.com/en-us/blog/tag/bring-your-own-license-byol-oracle)
- [Cloud Database (2)](https://rheodata.com/en-us/blog/tag/cloud-database)
- [Cloud modernization strategy (2)](https://rheodata.com/en-us/blog/tag/cloud-modernization-strategy)
- [Docker (2)](https://rheodata.com/en-us/blog/tag/docker)
- [EnterpriseDB (2)](https://rheodata.com/en-us/blog/tag/enterprisedb)
- [Flask (2)](https://rheodata.com/en-us/blog/tag/flask)
- [Google Cloud for Oracle workloads (2)](https://rheodata.com/en-us/blog/tag/google-cloud-for-oracle-workloads)
- [Legacy Oracle systems (2)](https://rheodata.com/en-us/blog/tag/legacy-oracle-systems)
- [Oracle AI Vector Search (2)](https://rheodata.com/en-us/blog/tag/oracle-ai-vector-search)
- [Oracle Cloud Infrastructure (2)](https://rheodata.com/en-us/blog/tag/oracle-cloud-infrastructure)
- [Oracle DBA skills in the cloud (2)](https://rheodata.com/en-us/blog/tag/oracle-dba-skills-in-the-cloud)
- [Oracle GoldenGate 23ai (2)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-23ai)
- [Oracle migration assessment (2)](https://rheodata.com/en-us/blog/tag/oracle-migration-assessment)
- [Oracle on GCP (2)](https://rheodata.com/en-us/blog/tag/oracle-on-gcp)
- [Snowflake (2)](https://rheodata.com/en-us/blog/tag/snowflake)
- [Snowflake cost optimization (2)](https://rheodata.com/en-us/blog/tag/snowflake-cost-optimization)
- [aws (2)](https://rheodata.com/en-us/blog/tag/aws)
- [azure ai studio (2)](https://rheodata.com/en-us/blog/tag/azure-ai-studio)
- [build mysql heatwave (2)](https://rheodata.com/en-us/blog/tag/build-mysql-heatwave)
- [cloud dba (2)](https://rheodata.com/en-us/blog/tag/cloud-dba)
- [cloud ready (2)](https://rheodata.com/en-us/blog/tag/cloud-ready)
- [cohere generate documentation (2)](https://rheodata.com/en-us/blog/tag/cohere-generate-documentation)
- [data-pipeline (2)](https://rheodata.com/en-us/blog/tag/data-pipeline)
- [database replication security (2)](https://rheodata.com/en-us/blog/tag/database-replication-security)
- [deployment (2)](https://rheodata.com/en-us/blog/tag/deployment)
- [docker adminclient (2)](https://rheodata.com/en-us/blog/tag/docker-adminclient)
- [golden gate (2)](https://rheodata.com/en-us/blog/tag/golden-gate)
- [goldengate cloud (2)](https://rheodata.com/en-us/blog/tag/goldengate-cloud)
- [goldengate migrations (2)](https://rheodata.com/en-us/blog/tag/goldengate-migrations)
- [goldengate parameter files (2)](https://rheodata.com/en-us/blog/tag/goldengate-parameter-files)
- [google postgresql migration (2)](https://rheodata.com/en-us/blog/tag/google-postgresql-migration)
- [ml (2)](https://rheodata.com/en-us/blog/tag/ml)
- [real-time data replication (2)](https://rheodata.com/en-us/blog/tag/real-time-data-replication)
- [0.12upgrade (1)](https://rheodata.com/en-us/blog/tag/0-12upgrade)
- [11.2.0.4 (1)](https://rheodata.com/en-us/blog/tag/11-2-0-4)
- [11g to 19c (1)](https://rheodata.com/en-us/blog/tag/11g-to-19c)
- [11g to 21c (1)](https://rheodata.com/en-us/blog/tag/11g-to-21c)
- [11g to 23c (1)](https://rheodata.com/en-us/blog/tag/11g-to-23c)
- [11g to OCI (1)](https://rheodata.com/en-us/blog/tag/11g-to-oci)
- [19.1.0.0.0 (1)](https://rheodata.com/en-us/blog/tag/19-1-0-0-0)
- [19.1.0.0.1 (1)](https://rheodata.com/en-us/blog/tag/19-1-0-0-1)
- [2024 (1)](https://rheodata.com/en-us/blog/tag/2024)
- [5.7 (1)](https://rheodata.com/en-us/blog/tag/5-7)
- [5.7 to 8.0 (1)](https://rheodata.com/en-us/blog/tag/5-7-to-8-0)
- [8.0 (1)](https://rheodata.com/en-us/blog/tag/8-0)
- [AI Agents (1)](https://rheodata.com/en-us/blog/tag/ai-agents)
- [AI Data Platform (1)](https://rheodata.com/en-us/blog/tag/ai-data-platform)
- [AI Infrastructure Management (1)](https://rheodata.com/en-us/blog/tag/ai-infrastructure-management)
- [AI Machine Learning (1)](https://rheodata.com/en-us/blog/tag/ai-machine-learning)
- [AI blog writing (1)](https://rheodata.com/en-us/blog/tag/ai-blog-writing)
- [AI business productivity (1)](https://rheodata.com/en-us/blog/tag/ai-business-productivity)
- [AI content creation (1)](https://rheodata.com/en-us/blog/tag/ai-content-creation)
- [AI data infrastructure (1)](https://rheodata.com/en-us/blog/tag/ai-data-infrastructure)
- [AI data management (1)](https://rheodata.com/en-us/blog/tag/ai-data-management)
- [AI data platform optimization (1)](https://rheodata.com/en-us/blog/tag/ai-data-platform-optimization)
- [AI database administration (1)](https://rheodata.com/en-us/blog/tag/ai-database-administration)
- [AI database management tools (1)](https://rheodata.com/en-us/blog/tag/ai-database-management-tools)
- [AI ethics content (1)](https://rheodata.com/en-us/blog/tag/ai-ethics-content)
- [AI governance (1)](https://rheodata.com/en-us/blog/tag/ai-governance)
- [AI inference bottlenecks (1)](https://rheodata.com/en-us/blog/tag/ai-inference-bottlenecks)
- [AI model deployment strategies (1)](https://rheodata.com/en-us/blog/tag/ai-model-deployment-strategies)
- [AI security (1)](https://rheodata.com/en-us/blog/tag/ai-security)
- [AI writing tools (1)](https://rheodata.com/en-us/blog/tag/ai-writing-tools)
- [AI-Driven-Revenue-Growth (1)](https://rheodata.com/en-us/blog/tag/ai-driven-revenue-growth)
- [AI-Native Applications (1)](https://rheodata.com/en-us/blog/tag/ai-native-applications)
- [AI-ROI (1)](https://rheodata.com/en-us/blog/tag/ai-roi)
- [AI-Ready Data (1)](https://rheodata.com/en-us/blog/tag/ai-ready-data)
- [AI-accuracy (1)](https://rheodata.com/en-us/blog/tag/ai-accuracy)
- [AI-compliance (1)](https://rheodata.com/en-us/blog/tag/ai-compliance)
- [AI-hallucination-prevention (1)](https://rheodata.com/en-us/blog/tag/ai-hallucination-prevention)
- [AI-powered database replication management (1)](https://rheodata.com/en-us/blog/tag/ai-powered-database-replication-management)
- [API authentication (1)](https://rheodata.com/en-us/blog/tag/api-authentication)
- [AWS S3 (1)](https://rheodata.com/en-us/blog/tag/aws-s3)
- [Apache Iceberg (1)](https://rheodata.com/en-us/blog/tag/apache-iceberg)
- [Apache Spark data platform (1)](https://rheodata.com/en-us/blog/tag/apache-spark-data-platform)
- [Atlanta database consultants (1)](https://rheodata.com/en-us/blog/tag/atlanta-database-consultants)
- [Azure Data Lake (1)](https://rheodata.com/en-us/blog/tag/azure-data-lake)
- [Big Query (1)](https://rheodata.com/en-us/blog/tag/big-query)
- [BigQuery Integration (1)](https://rheodata.com/en-us/blog/tag/bigquery-integration)
- [Business-Intelligence-Modernization (1)](https://rheodata.com/en-us/blog/tag/business-intelligence-modernization)
- [CLOB to VARCHAR (1)](https://rheodata.com/en-us/blog/tag/clob-to-varchar)
- [Change Data Capture GoldenGate Extract (1)](https://rheodata.com/en-us/blog/tag/change-data-capture-goldengate-extract)
- [Cloud Data Platform (1)](https://rheodata.com/en-us/blog/tag/cloud-data-platform)
- [Cloud database migration (1)](https://rheodata.com/en-us/blog/tag/cloud-database-migration)
- [Coordinated Replicat (1)](https://rheodata.com/en-us/blog/tag/coordinated-replicat)
- [Cortex Agents (1)](https://rheodata.com/en-us/blog/tag/cortex-agents)
- [Cosine distance Oracle (1)](https://rheodata.com/en-us/blog/tag/cosine-distance-oracle)
- [Cross-platform data monitoring (1)](https://rheodata.com/en-us/blog/tag/cross-platform-data-monitoring)
- [Customer-Experience-Optimization (1)](https://rheodata.com/en-us/blog/tag/customer-experience-optimization)
- [DBA burnout prevention (1)](https://rheodata.com/en-us/blog/tag/dba-burnout-prevention)
- [DBA productivity (1)](https://rheodata.com/en-us/blog/tag/dba-productivity)
- [DBA skills AI (1)](https://rheodata.com/en-us/blog/tag/dba-skills-ai)
- [Data Modernization (1)](https://rheodata.com/en-us/blog/tag/data-modernization)
- [Data Pipeline Architecture (1)](https://rheodata.com/en-us/blog/tag/data-pipeline-architecture)
- [Data Pipeline Management (1)](https://rheodata.com/en-us/blog/tag/data-pipeline-management)
- [Data Streaming (1)](https://rheodata.com/en-us/blog/tag/data-streaming)
- [Data Transformation (1)](https://rheodata.com/en-us/blog/tag/data-transformation)
- [Data pipeline troubleshooting (1)](https://rheodata.com/en-us/blog/tag/data-pipeline-troubleshooting)
- [Database Security (1)](https://rheodata.com/en-us/blog/tag/database-security)
- [Database lag monitoring (1)](https://rheodata.com/en-us/blog/tag/database-lag-monitoring)
- [Database migration strategy (1)](https://rheodata.com/en-us/blog/tag/database-migration-strategy)
- [Database migration vs. replication (1)](https://rheodata.com/en-us/blog/tag/database-migration-vs-replication)
- [Database replication blind spots (1)](https://rheodata.com/en-us/blog/tag/database-replication-blind-spots)
- [Database replication monitoring (1)](https://rheodata.com/en-us/blog/tag/database-replication-monitoring)
- [Database replication performance monitoring (1)](https://rheodata.com/en-us/blog/tag/database-replication-performance-monitoring)
- [Databricks comparison (1)](https://rheodata.com/en-us/blog/tag/databricks-comparison)
- [Delta Lake integration (1)](https://rheodata.com/en-us/blog/tag/delta-lake-integration)
- [Digital-Transformation-ROI (1)](https://rheodata.com/en-us/blog/tag/digital-transformation-roi)
- [EXTFILE (1)](https://rheodata.com/en-us/blog/tag/extfile)
- [EXTRAIL (1)](https://rheodata.com/en-us/blog/tag/extrail)
- [Edge computing AI (1)](https://rheodata.com/en-us/blog/tag/edge-computing-ai)
- [Enterprise AI Strategy (1)](https://rheodata.com/en-us/blog/tag/enterprise-ai-strategy)
- [Enterprise AI scalability (1)](https://rheodata.com/en-us/blog/tag/enterprise-ai-scalability)
- [Enterprise cloud migration (1)](https://rheodata.com/en-us/blog/tag/enterprise-cloud-migration)
- [Enterprise data migration (1)](https://rheodata.com/en-us/blog/tag/enterprise-data-migration)
- [Enterprise database replication monitoring (1)](https://rheodata.com/en-us/blog/tag/enterprise-database-replication-monitoring)
- [Forward Deployed Engineering (1)](https://rheodata.com/en-us/blog/tag/forward-deployed-engineering)
- [GPU memory optimization (1)](https://rheodata.com/en-us/blog/tag/gpu-memory-optimization)
- [GUI (1)](https://rheodata.com/en-us/blog/tag/gui)
- [Gemini Enterprise (1)](https://rheodata.com/en-us/blog/tag/gemini-enterprise)
- [GoldenGate 21c upgrade (1)](https://rheodata.com/en-us/blog/tag/goldengate-21c-upgrade)
- [GoldenGate 23ai to 26ai (1)](https://rheodata.com/en-us/blog/tag/goldengate-23ai-to-26ai)
- [GoldenGate 26ai new features (1)](https://rheodata.com/en-us/blog/tag/goldengate-26ai-new-features)
- [GoldenGate 26ai release notes (1)](https://rheodata.com/en-us/blog/tag/goldengate-26ai-release-notes)
- [GoldenGate 26ai upgrade (1)](https://rheodata.com/en-us/blog/tag/goldengate-26ai-upgrade)
- [GoldenGate AI integration (1)](https://rheodata.com/en-us/blog/tag/goldengate-ai-integration)
- [GoldenGate CDC configuration (1)](https://rheodata.com/en-us/blog/tag/goldengate-cdc-configuration)
- [GoldenGate DAA (1)](https://rheodata.com/en-us/blog/tag/goldengate-daa)
- [GoldenGate Extract user permissions (1)](https://rheodata.com/en-us/blog/tag/goldengate-extract-user-permissions)
- [GoldenGate Yugabyte support (1)](https://rheodata.com/en-us/blog/tag/goldengate-yugabyte-support)
- [GoldenGate certificate authentication (1)](https://rheodata.com/en-us/blog/tag/goldengate-certificate-authentication)
- [GoldenGate cutover planning (1)](https://rheodata.com/en-us/blog/tag/goldengate-cutover-planning)
- [GoldenGate deployment automation (1)](https://rheodata.com/en-us/blog/tag/goldengate-deployment-automation)
- [GoldenGate granular permissions setup (1)](https://rheodata.com/en-us/blog/tag/goldengate-granular-permissions-setup)
- [GoldenGate least privilege security (1)](https://rheodata.com/en-us/blog/tag/goldengate-least-privilege-security)
- [GoldenGate lifecycle management (1)](https://rheodata.com/en-us/blog/tag/goldengate-lifecycle-management)
- [GoldenGate migration guide (1)](https://rheodata.com/en-us/blog/tag/goldengate-migration-guide)
- [GoldenGate migration sizing (1)](https://rheodata.com/en-us/blog/tag/goldengate-migration-sizing)
- [GoldenGate monitoring and lag management (1)](https://rheodata.com/en-us/blog/tag/goldengate-monitoring-and-lag-management)
- [GoldenGate operational ownership (1)](https://rheodata.com/en-us/blog/tag/goldengate-operational-ownership)
- [GoldenGate password management (1)](https://rheodata.com/en-us/blog/tag/goldengate-password-management)
- [GoldenGate port configuration (1)](https://rheodata.com/en-us/blog/tag/goldengate-port-configuration)
- [GoldenGate replication lag detection (1)](https://rheodata.com/en-us/blog/tag/goldengate-replication-lag-detection)
- [GoldenGate response file (1)](https://rheodata.com/en-us/blog/tag/goldengate-response-file)
- [GoldenGate trail file management (1)](https://rheodata.com/en-us/blog/tag/goldengate-trail-file-management)
- [GoldenGate troubleshooting solutions (1)](https://rheodata.com/en-us/blog/tag/goldengate-troubleshooting-solutions)
- [GoldenGate unified console (1)](https://rheodata.com/en-us/blog/tag/goldengate-unified-console)
- [GoldenGateMCP (1)](https://rheodata.com/en-us/blog/tag/goldengatemcp)
- [Google Cloud Platform (1)](https://rheodata.com/en-us/blog/tag/google-cloud-platform)
- [Google Cloud Storage (1)](https://rheodata.com/en-us/blog/tag/google-cloud-storage)
- [Google-AlloyDB (1)](https://rheodata.com/en-us/blog/tag/google-alloydb)
- [HashiCorp (1)](https://rheodata.com/en-us/blog/tag/hashicorp)
- [Hybrid queries Oracle (1)](https://rheodata.com/en-us/blog/tag/hybrid-queries-oracle)
- [IT cost optimization (1)](https://rheodata.com/en-us/blog/tag/it-cost-optimization)
- [IT infrastructure simplification (1)](https://rheodata.com/en-us/blog/tag/it-infrastructure-simplification)
- [IT leadership mental health (1)](https://rheodata.com/en-us/blog/tag/it-leadership-mental-health)
- [Initial Load (1)](https://rheodata.com/en-us/blog/tag/initial-load)
- [Inventory management data lag (1)](https://rheodata.com/en-us/blog/tag/inventory-management-data-lag)
- [LLM inference optimization (1)](https://rheodata.com/en-us/blog/tag/llm-inference-optimization)
- [Large language model performance (1)](https://rheodata.com/en-us/blog/tag/large-language-model-performance)
- [MCP Server for Oracle (1)](https://rheodata.com/en-us/blog/tag/mcp-server-for-oracle)
- [MCP Server, (1)](https://rheodata.com/en-us/blog/tag/mcp-server)
- [Mental Health Awareness Month tech industry (1)](https://rheodata.com/en-us/blog/tag/mental-health-awareness-month-tech-industry)
- [Migration readiness (1)](https://rheodata.com/en-us/blog/tag/migration-readiness)
- [Model Context Protocol (1)](https://rheodata.com/en-us/blog/tag/model-context-protocol)
- [Model inference costs (1)](https://rheodata.com/en-us/blog/tag/model-inference-costs)
- [OMA assessment (1)](https://rheodata.com/en-us/blog/tag/oma-assessment)
- [ONNX embedding model Oracle (1)](https://rheodata.com/en-us/blog/tag/onnx-embedding-model-oracle)
- [Operating Model (1)](https://rheodata.com/en-us/blog/tag/operating-model)
- [Oracle 23ai features (1)](https://rheodata.com/en-us/blog/tag/oracle-23ai-features)
- [Oracle 26ai features (1)](https://rheodata.com/en-us/blog/tag/oracle-26ai-features)
- [Oracle AI Data Platform (1)](https://rheodata.com/en-us/blog/tag/oracle-ai-data-platform)
- [Oracle AI Solutions (1)](https://rheodata.com/en-us/blog/tag/oracle-ai-solutions)
- [Oracle Autonomous Database migration (1)](https://rheodata.com/en-us/blog/tag/oracle-autonomous-database-migration)
- [Oracle CPAT vs OMA comparison (1)](https://rheodata.com/en-us/blog/tag/oracle-cpat-vs-oma-comparison)
- [Oracle Database 23ai vectors (1)](https://rheodata.com/en-us/blog/tag/oracle-database-23ai-vectors)
- [Oracle Database 26ai vectors (1)](https://rheodata.com/en-us/blog/tag/oracle-database-26ai-vectors)
- [Oracle EBS migration (1)](https://rheodata.com/en-us/blog/tag/oracle-ebs-migration)
- [Oracle Exadata on Google Cloud (1)](https://rheodata.com/en-us/blog/tag/oracle-exadata-on-google-cloud)
- [Oracle GoldenGate 26ai (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-26ai)
- [Oracle GoldenGate AI diagnostics (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-ai-diagnostics)
- [Oracle GoldenGate Azure (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-azure)
- [Oracle GoldenGate Management (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-management)
- [Oracle GoldenGate REST API automation (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-rest-api-automation)
- [Oracle GoldenGate SQL Server permissions (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-sql-server-permissions)
- [Oracle GoldenGate automation (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-automation)
- [Oracle GoldenGate heartbeat (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-heartbeat)
- [Oracle GoldenGate least privilege security (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-least-privilege-security)
- [Oracle GoldenGate managed services (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-managed-services)
- [Oracle GoldenGate migration strategy (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-migration-strategy)
- [Oracle GoldenGate monitoring tools (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-monitoring-tools)
- [Oracle GoldenGate replication best practices (1)](https://rheodata.com/en-us/blog/tag/oracle-goldengate-replication-best-practices)
- [Oracle and Google Cloud AI (1)](https://rheodata.com/en-us/blog/tag/oracle-and-google-cloud-ai)
- [Oracle cloud cost optimization (1)](https://rheodata.com/en-us/blog/tag/oracle-cloud-cost-optimization)
- [Oracle cloud migration assessment (1)](https://rheodata.com/en-us/blog/tag/oracle-cloud-migration-assessment)
- [Oracle data replication 2026 (1)](https://rheodata.com/en-us/blog/tag/oracle-data-replication-2026)
- [Oracle data replication compliance (1)](https://rheodata.com/en-us/blog/tag/oracle-data-replication-compliance)
- [Oracle database migration to OCI (1)](https://rheodata.com/en-us/blog/tag/oracle-database-migration-to-oci)
- [Oracle replication governance (1)](https://rheodata.com/en-us/blog/tag/oracle-replication-governance)
- [Oracle replication lag diagnosis (1)](https://rheodata.com/en-us/blog/tag/oracle-replication-lag-diagnosis)
- [Oracle to cloud migration (1)](https://rheodata.com/en-us/blog/tag/oracle-to-cloud-migration)
- [Oracle vs Databricks (1)](https://rheodata.com/en-us/blog/tag/oracle-vs-databricks)
- [Oracle workload analysis (1)](https://rheodata.com/en-us/blog/tag/oracle-workload-analysis)
- [Oracle@Google Cloud (1)](https://rheodata.com/en-us/blog/tag/oraclegoogle-cloud)
- [Parallel Replicat (1)](https://rheodata.com/en-us/blog/tag/parallel-replicat)
- [Parquet (1)](https://rheodata.com/en-us/blog/tag/parquet)
- [RAG pipeline database (1)](https://rheodata.com/en-us/blog/tag/rag-pipeline-database)
- [REST API (1)](https://rheodata.com/en-us/blog/tag/rest-api)
- [Real-time AI processing (1)](https://rheodata.com/en-us/blog/tag/real-time-ai-processing)
- [SQL Server replication security best practices (1)](https://rheodata.com/en-us/blog/tag/sql-server-replication-security-best-practices)
- [Semantic search database (1)](https://rheodata.com/en-us/blog/tag/semantic-search-database)
- [Similarity search Oracle (1)](https://rheodata.com/en-us/blog/tag/similarity-search-oracle)
- [Snowflake Optima indexing (1)](https://rheodata.com/en-us/blog/tag/snowflake-optima-indexing)
- [Snowflake Search Optimization Service (1)](https://rheodata.com/en-us/blog/tag/snowflake-search-optimization-service)
- [Snowflake alternatives (1)](https://rheodata.com/en-us/blog/tag/snowflake-alternatives)
- [Snowflake automatic clustering (1)](https://rheodata.com/en-us/blog/tag/snowflake-automatic-clustering)
- [Snowflake budget monitoring (1)](https://rheodata.com/en-us/blog/tag/snowflake-budget-monitoring)
- [Snowflake cloud data warehouse performance (1)](https://rheodata.com/en-us/blog/tag/snowflake-cloud-data-warehouse-performance)
- [Snowflake cost governance (1)](https://rheodata.com/en-us/blog/tag/snowflake-cost-governance)
- [Snowflake cost management (1)](https://rheodata.com/en-us/blog/tag/snowflake-cost-management)
- [Snowflake cost reduction strategies (1)](https://rheodata.com/en-us/blog/tag/snowflake-cost-reduction-strategies)
- [Snowflake credit usage (1)](https://rheodata.com/en-us/blog/tag/snowflake-credit-usage)
- [Snowflake materialized views (1)](https://rheodata.com/en-us/blog/tag/snowflake-materialized-views)
- [Snowflake migration staffing (1)](https://rheodata.com/en-us/blog/tag/snowflake-migration-staffing)
- [Snowflake performance optimization (1)](https://rheodata.com/en-us/blog/tag/snowflake-performance-optimization)
- [Snowflake query acceleration service (1)](https://rheodata.com/en-us/blog/tag/snowflake-query-acceleration-service)
- [Snowflake query performance tuning (1)](https://rheodata.com/en-us/blog/tag/snowflake-query-performance-tuning)
- [Snowflake resource monitors (1)](https://rheodata.com/en-us/blog/tag/snowflake-resource-monitors)
- [Snowflake serverless compute costs (1)](https://rheodata.com/en-us/blog/tag/snowflake-serverless-compute-costs)
- [Snowflake spend attribution (1)](https://rheodata.com/en-us/blog/tag/snowflake-spend-attribution)
- [Snowflake warehouse optimization (1)](https://rheodata.com/en-us/blog/tag/snowflake-warehouse-optimization)
- [Snowflake warehouse right-sizing (1)](https://rheodata.com/en-us/blog/tag/snowflake-warehouse-right-sizing)
- [Token generation latency (1)](https://rheodata.com/en-us/blog/tag/token-generation-latency)
- [VECTOR datatype Oracle (1)](https://rheodata.com/en-us/blog/tag/vector-datatype-oracle)
- [VECTOR\_DISTANCE function (1)](https://rheodata.com/en-us/blog/tag/vector_distance-function)
- [Vector embeddings Oracle (1)](https://rheodata.com/en-us/blog/tag/vector-embeddings-oracle)
- [What's new GoldenGate 26ai (1)](https://rheodata.com/en-us/blog/tag/whats-new-goldengate-26ai)
- [access control (1)](https://rheodata.com/en-us/blog/tag/access-control)
- [activepass (1)](https://rheodata.com/en-us/blog/tag/activepass)
- [adb (1)](https://rheodata.com/en-us/blog/tag/adb)
- [add (1)](https://rheodata.com/en-us/blog/tag/add)
- [add credentials (1)](https://rheodata.com/en-us/blog/tag/add-credentials)
- [adminclient add credentials (1)](https://rheodata.com/en-us/blog/tag/adminclient-add-credentials)
- [administration (1)](https://rheodata.com/en-us/blog/tag/administration)
- [adw (1)](https://rheodata.com/en-us/blog/tag/adw)
- [ai failures 2024 (1)](https://rheodata.com/en-us/blog/tag/ai-failures-2024)
- [ai stratgies (1)](https://rheodata.com/en-us/blog/tag/ai-stratgies)
- [ai-architecture (1)](https://rheodata.com/en-us/blog/tag/ai-architecture)
- [all or nothing (1)](https://rheodata.com/en-us/blog/tag/all-or-nothing)
- [allowPublicKeyRetrieval (1)](https://rheodata.com/en-us/blog/tag/allowpublickeyretrieval)
- [alloydb (1)](https://rheodata.com/en-us/blog/tag/alloydb)
- [alter extract 21c (1)](https://rheodata.com/en-us/blog/tag/alter-extract-21c)
- [amazon (1)](https://rheodata.com/en-us/blog/tag/amazon)
- [ansible (1)](https://rheodata.com/en-us/blog/tag/ansible)
- [approximate-nearest-neighbor (1)](https://rheodata.com/en-us/blog/tag/approximate-nearest-neighbor)
- [automl (1)](https://rheodata.com/en-us/blog/tag/automl)
- [azure-cloud (1)](https://rheodata.com/en-us/blog/tag/azure-cloud)
- [azure-native (1)](https://rheodata.com/en-us/blog/tag/azure-native)
- [bastion (1)](https://rheodata.com/en-us/blog/tag/bastion)
- [bastion host configuartion (1)](https://rheodata.com/en-us/blog/tag/bastion-host-configuartion)
- [bastion setup oracle (1)](https://rheodata.com/en-us/blog/tag/bastion-setup-oracle)
- [bug 30193036 (1)](https://rheodata.com/en-us/blog/tag/bug-30193036)
- [bugs (1)](https://rheodata.com/en-us/blog/tag/bugs)
- [build a compute node in oci (1)](https://rheodata.com/en-us/blog/tag/build-a-compute-node-in-oci)
- [business-continuity (1)](https://rheodata.com/en-us/blog/tag/business-continuity)
- [certificate-based authentication (1)](https://rheodata.com/en-us/blog/tag/certificate-based-authentication)
- [change data capture (1)](https://rheodata.com/en-us/blog/tag/change-data-capture)
- [changing ssh keys (1)](https://rheodata.com/en-us/blog/tag/changing-ssh-keys)
- [channels (1)](https://rheodata.com/en-us/blog/tag/channels)
- [cloud cost control (1)](https://rheodata.com/en-us/blog/tag/cloud-cost-control)
- [cloud data platform cost control (1)](https://rheodata.com/en-us/blog/tag/cloud-data-platform-cost-control)
- [cloud migration readiness assessment (1)](https://rheodata.com/en-us/blog/tag/cloud-migration-readiness-assessment)
- [cloud-database-setup (1)](https://rheodata.com/en-us/blog/tag/cloud-database-setup)
- [cloud-sql-migration (1)](https://rheodata.com/en-us/blog/tag/cloud-sql-migration)
- [cloud-strategy (1)](https://rheodata.com/en-us/blog/tag/cloud-strategy)
- [cohere command (1)](https://rheodata.com/en-us/blog/tag/cohere-command)
- [compute (1)](https://rheodata.com/en-us/blog/tag/compute)
- [compute portability (1)](https://rheodata.com/en-us/blog/tag/compute-portability)
- [compute-instance (1)](https://rheodata.com/en-us/blog/tag/compute-instance)
- [connect to database via bastion host (1)](https://rheodata.com/en-us/blog/tag/connect-to-database-via-bastion-host)
- [connect to database via bastion host oci (1)](https://rheodata.com/en-us/blog/tag/connect-to-database-via-bastion-host-oci)
- [consultants (1)](https://rheodata.com/en-us/blog/tag/consultants)
- [content strategy (1)](https://rheodata.com/en-us/blog/tag/content-strategy)
- [cost-optimization (1)](https://rheodata.com/en-us/blog/tag/cost-optimization)
- [cryptographic authentication (1)](https://rheodata.com/en-us/blog/tag/cryptographic-authentication)
- [curl (1)](https://rheodata.com/en-us/blog/tag/curl)
- [daemon (1)](https://rheodata.com/en-us/blog/tag/daemon)
- [data encryption (1)](https://rheodata.com/en-us/blog/tag/data-encryption)
- [data fabric (1)](https://rheodata.com/en-us/blog/tag/data-fabric)
- [data governance framework (1)](https://rheodata.com/en-us/blog/tag/data-governance-framework)
- [data lake architecture (1)](https://rheodata.com/en-us/blog/tag/data-lake-architecture)
- [data lakehouse platform (1)](https://rheodata.com/en-us/blog/tag/data-lakehouse-platform)
- [data pipeline security (1)](https://rheodata.com/en-us/blog/tag/data-pipeline-security)
- [data platform selection (1)](https://rheodata.com/en-us/blog/tag/data-platform-selection)
- [data team workload management (1)](https://rheodata.com/en-us/blog/tag/data-team-workload-management)
- [database AI transformation (1)](https://rheodata.com/en-us/blog/tag/database-ai-transformation)
- [database administrators (1)](https://rheodata.com/en-us/blog/tag/database-administrators)
- [database capacity planning tools (1)](https://rheodata.com/en-us/blog/tag/database-capacity-planning-tools)
- [database certificate authentication (1)](https://rheodata.com/en-us/blog/tag/database-certificate-authentication)
- [database compliance audit replication (1)](https://rheodata.com/en-us/blog/tag/database-compliance-audit-replication)
- [database consolidation strategy (1)](https://rheodata.com/en-us/blog/tag/database-consolidation-strategy)
- [database credential management (1)](https://rheodata.com/en-us/blog/tag/database-credential-management)
- [database migration planning tools (1)](https://rheodata.com/en-us/blog/tag/database-migration-planning-tools)
- [database modernization AI (1)](https://rheodata.com/en-us/blog/tag/database-modernization-ai)
- [database replication management (1)](https://rheodata.com/en-us/blog/tag/database-replication-management)
- [database transformation consulting (1)](https://rheodata.com/en-us/blog/tag/database-transformation-consulting)
- [database-failover (1)](https://rheodata.com/en-us/blog/tag/database-failover)
- [database-vectors (1)](https://rheodata.com/en-us/blog/tag/database-vectors)
- [db\_owner risk SQL Server replication (1)](https://rheodata.com/en-us/blog/tag/db_owner-risk-sql-server-replication)
- [dba\_capture (1)](https://rheodata.com/en-us/blog/tag/dba_capture)
- [dba\_queues (1)](https://rheodata.com/en-us/blog/tag/dba_queues)
- [dbms\_aqadm.drop\_queue\_table (1)](https://rheodata.com/en-us/blog/tag/dbms_aqadm-drop_queue_table)
- [dbms\_comparison (1)](https://rheodata.com/en-us/blog/tag/dbms_comparison)
- [ddl (1)](https://rheodata.com/en-us/blog/tag/ddl)
- [direct initial load (1)](https://rheodata.com/en-us/blog/tag/direct-initial-load)
- [dml (1)](https://rheodata.com/en-us/blog/tag/dml)
- [docker goldengate (1)](https://rheodata.com/en-us/blog/tag/docker-goldengate)
- [docker images (1)](https://rheodata.com/en-us/blog/tag/docker-images)
- [dynamic (1)](https://rheodata.com/en-us/blog/tag/dynamic)
- [edb database (1)](https://rheodata.com/en-us/blog/tag/edb-database)
- [elephant database (1)](https://rheodata.com/en-us/blog/tag/elephant-database)
- [eliminate database password authentication (1)](https://rheodata.com/en-us/blog/tag/eliminate-database-password-authentication)
- [emd360 (1)](https://rheodata.com/en-us/blog/tag/emd360)
- [enable ddl (1)](https://rheodata.com/en-us/blog/tag/enable-ddl)
- [enterprise (1)](https://rheodata.com/en-us/blog/tag/enterprise)
- [enterprise AI (1)](https://rheodata.com/en-us/blog/tag/enterprise-ai)
- [enterprise AI implementation (1)](https://rheodata.com/en-us/blog/tag/enterprise-ai-implementation)
- [enterprise AI infrastructure (1)](https://rheodata.com/en-us/blog/tag/enterprise-ai-infrastructure)
- [enterprise data governance (1)](https://rheodata.com/en-us/blog/tag/enterprise-data-governance)
- [enterprise data integration (1)](https://rheodata.com/en-us/blog/tag/enterprise-data-integration)
- [enterprise data strategy (1)](https://rheodata.com/en-us/blog/tag/enterprise-data-strategy)
- [enterprise goldengate backup solution (1)](https://rheodata.com/en-us/blog/tag/enterprise-goldengate-backup-solution)
- [enterprise manager (1)](https://rheodata.com/en-us/blog/tag/enterprise-manager)
- [exception handling (1)](https://rheodata.com/en-us/blog/tag/exception-handling)
- [experts in oracle goldengate (1)](https://rheodata.com/en-us/blog/tag/experts-in-oracle-goldengate)
- [extract changes (1)](https://rheodata.com/en-us/blog/tag/extract-changes)
- [extract load transform (1)](https://rheodata.com/en-us/blog/tag/extract-load-transform)
- [extract transform load (1)](https://rheodata.com/en-us/blog/tag/extract-transform-load)
- [failures (1)](https://rheodata.com/en-us/blog/tag/failures)
- [fintech postgreSQL (1)](https://rheodata.com/en-us/blog/tag/fintech-postgresql)
- [firewalld goldengate (1)](https://rheodata.com/en-us/blog/tag/firewalld-goldengate)
- [firewalld microservices (1)](https://rheodata.com/en-us/blog/tag/firewalld-microservices)
- [fivetran (1)](https://rheodata.com/en-us/blog/tag/fivetran)
- [framework (1)](https://rheodata.com/en-us/blog/tag/framework)
- [frameworks (1)](https://rheodata.com/en-us/blog/tag/frameworks)
- [free tools (1)](https://rheodata.com/en-us/blog/tag/free-tools)
- [fresh data (1)](https://rheodata.com/en-us/blog/tag/fresh-data)
- [gemini (1)](https://rheodata.com/en-us/blog/tag/gemini)
- [genai (1)](https://rheodata.com/en-us/blog/tag/genai)
- [general information (1)](https://rheodata.com/en-us/blog/tag/general-information)
- [ggsci (1)](https://rheodata.com/en-us/blog/tag/ggsci)
- [ggsmon (1)](https://rheodata.com/en-us/blog/tag/ggsmon)
- [goldengate active passive (1)](https://rheodata.com/en-us/blog/tag/goldengate-active-passive)
- [goldengate backup automation (1)](https://rheodata.com/en-us/blog/tag/goldengate-backup-automation)
- [goldengate bug (1)](https://rheodata.com/en-us/blog/tag/goldengate-bug)
- [goldengate errors (1)](https://rheodata.com/en-us/blog/tag/goldengate-errors)
- [goldengate experts (1)](https://rheodata.com/en-us/blog/tag/goldengate-experts)
- [goldengate free (1)](https://rheodata.com/en-us/blog/tag/goldengate-free)
- [goldengate github integration (1)](https://rheodata.com/en-us/blog/tag/goldengate-github-integration)
- [goldengate high availiability (1)](https://rheodata.com/en-us/blog/tag/goldengate-high-availiability)
- [goldengate maa (1)](https://rheodata.com/en-us/blog/tag/goldengate-maa)
- [goldengate microservices port (1)](https://rheodata.com/en-us/blog/tag/goldengate-microservices-port)
- [goldengate microservices ports (1)](https://rheodata.com/en-us/blog/tag/goldengate-microservices-ports)
- [goldengate ogg-02028 (1)](https://rheodata.com/en-us/blog/tag/goldengate-ogg-02028)
- [goldengate parameter file backup (1)](https://rheodata.com/en-us/blog/tag/goldengate-parameter-file-backup)
- [google cloudsql (1)](https://rheodata.com/en-us/blog/tag/google-cloudsql)
- [google mysql migration (1)](https://rheodata.com/en-us/blog/tag/google-mysql-migration)
- [heatwave experts (1)](https://rheodata.com/en-us/blog/tag/heatwave-experts)
- [high performance mysql (1)](https://rheodata.com/en-us/blog/tag/high-performance-mysql)
- [human creativity AI (1)](https://rheodata.com/en-us/blog/tag/human-creativity-ai)
- [human vs AI writing (1)](https://rheodata.com/en-us/blog/tag/human-vs-ai-writing)
- [hybrid cloud data architecture (1)](https://rheodata.com/en-us/blog/tag/hybrid-cloud-data-architecture)
- [integrated extract oracle (1)](https://rheodata.com/en-us/blog/tag/integrated-extract-oracle)
- [integrated replicat oracle (1)](https://rheodata.com/en-us/blog/tag/integrated-replicat-oracle)
- [lic (1)](https://rheodata.com/en-us/blog/tag/lic)
- [license (1)](https://rheodata.com/en-us/blog/tag/license)
- [logmnr\_session$ (1)](https://rheodata.com/en-us/blog/tag/logmnr_session)
- [managed service provider (1)](https://rheodata.com/en-us/blog/tag/managed-service-provider)
- [managed services for database teams (1)](https://rheodata.com/en-us/blog/tag/managed-services-for-database-teams)
- [management (1)](https://rheodata.com/en-us/blog/tag/management)
- [migration compatibility validation (1)](https://rheodata.com/en-us/blog/tag/migration-compatibility-validation)
- [monitor oracle goldengate rest api (1)](https://rheodata.com/en-us/blog/tag/monitor-oracle-goldengate-rest-api)
- [monolithic database architecture (1)](https://rheodata.com/en-us/blog/tag/monolithic-database-architecture)
- [move off of oracle (1)](https://rheodata.com/en-us/blog/tag/move-off-of-oracle)
- [multi-cloud data platform (1)](https://rheodata.com/en-us/blog/tag/multi-cloud-data-platform)
- [oci bastion (1)](https://rheodata.com/en-us/blog/tag/oci-bastion)
- [oem emd360 (1)](https://rheodata.com/en-us/blog/tag/oem-emd360)
- [ogg deployments (1)](https://rheodata.com/en-us/blog/tag/ogg-deployments)
- [open table format (1)](https://rheodata.com/en-us/blog/tag/open-table-format)
- [oracle database (1)](https://rheodata.com/en-us/blog/tag/oracle-database)
- [preventing tech employee attrition (1)](https://rheodata.com/en-us/blog/tag/preventing-tech-employee-attrition)
- [reducing on-call burnout (1)](https://rheodata.com/en-us/blog/tag/reducing-on-call-burnout)
- [securing Oracle GoldenGate on SQL Server (1)](https://rheodata.com/en-us/blog/tag/securing-oracle-goldengate-on-sql-server)
- [tech team burnout (1)](https://rheodata.com/en-us/blog/tag/tech-team-burnout)
- [thought leadership (1)](https://rheodata.com/en-us/blog/tag/thought-leadership)
- [vector database consolidation (1)](https://rheodata.com/en-us/blog/tag/vector-database-consolidation)

See all

- <https://rheodata.com/en-us/blog/page/2>
- [1](https://rheodata.com/en-us/blog)
- [2](https://rheodata.com/en-us/blog/page/2)
- [3](https://rheodata.com/en-us/blog/page/3)
- [4](https://rheodata.com/en-us/blog/page/4)
- [5](https://rheodata.com/en-us/blog/page/5)
- <https://rheodata.com/en-us/blog/page/4>

##### About RheoData

 RheoData is based out of Metro Atlanta, GA and provide expert Oracle, Microsoft, Google, and Snowflake services.  Let us  know how we can help!

##### Links

- [About Us](https://rheodata.com/who-we-are)
- [FrostCore](https://rheodata.com/frostcore)
- [RedCore](https://rheodata.com/redcore)
- [BlueCore](https://rheodata.com/bluecore)

##### Contact us

[hello@rheodata.com](mailto:hello@rheodata.com)

©RheoData2026. All Rights Reserved.

```json
{
  "@context" : "https://schema.org",
  "@type" : "Organization",
  "address" : {
    "@type" : "PostalAddress",
    "addressCountry" : "US",
    "addressRegion" : "GA"
  },
  "description" : "Elite specialist partner for Oracle, Snowflake, BigQuery, and AI-ready data platforms.",
  "email" : "hello@rheodata.com",
  "foundingDate" : "2020",
  "logo" : "https://rheodata.com/hubfs/RheoData%20-%20Logo%20-%20transparent-1.png",
  "name" : "RheoData",
  "sameAs" : [ "https://www.linkedin.com/company/rheodata" ],
  "url" : "https://rheodata.com"
}
```

```json
{
  "@context" : "https://schema.org",
  "@type" : "WebSite",
  "name" : "RheoData",
  "potentialAction" : {
    "@type" : "SearchAction",
    "query-input" : "required name=search_term_string",
    "target" : "https://rheodata.com/search?q={search_term_string}"
  },
  "url" : "https://rheodata.com"
}
```

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "",
    "url" : ""
  },
  "dateModified" : "2026-04-17T17:31:04+0000",
  "datePublished" : "2025-10-30T17:41:53+0000",
  "description" : "RheoData Blog Posts (3)",
  "headline" : "&lt;span id=&quot;hs_cos_wrapper_name&quot; class=&quot;hs_cos_wrapper hs_cos_wrapper_meta_field hs_cos_wrapper_type_text&quot; style=&quot;&quot; data-hs-cos-general-type=&quot;meta_field&quot; data-hs-cos-type=&quot;text&quot; &gt;rheodata_blog listing page&lt;/span&gt;",
  "image" : "",
  "mainEntityOfPage" : {
    "@id" : "https://rheodata.com/en-us/blog/page/3",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://rheodata.com/hubfs/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "Let me give you the straight story on a challenge I'm seeing across the enterprise landscape: Snowflake costs are climbing, and many organizations are looking for strategic ways to control their data platform spend without sacrificing capability. The good news? There's a proven approach that puts you back in the driver's seat. The Cost Challenge Snowflake delivers exceptional performance and ease of use—that's not up for debate. But here's what I'm seeing in the field: as data volumes grow and analytics teams scale their workloads, compute costs can become unpredictable. Every query spins up compute resources, and those credits add up fast. For organizations running continuous analytics, real-time dashboards, or heavy transformation workloads, the monthly bill can become a serious line item. What's our objective here? We want to maintain the analytical flexibility that Snowflake provides while controlling where we spend our compute dollars. The solution lies in understanding a fundamental truth about modern data architecture: storage and compute don't have to be coupled. Apache Iceberg: The Strategic Foundation Apache Iceberg is an open table format that's changing how we think about data lake architecture. It brings the reliability and simplicity of SQL tables to cloud object storage while enabling multiple compute engines—Spark, Trino, Flink, Presto, and yes, Snowflake—to work with the same tables simultaneously. Here's where it gets interesting for cost control: Iceberg tables store their data and metadata files in external cloud storage that you manage. When Snowflake connects to these external Iceberg tables, something significant happens from a billing perspective: Snowflake does not charge storage costs for Iceberg tables. Your cloud storage provider bills you directly—and hyperscaler object storage (S3, GCS, Azure Storage) is significantly less expensive than Snowflake-managed storage. But storage savings are just the opening move. The real strategic advantage is in compute. Offloading Compute to the Hyperscaler When you store your data in Apache Iceberg format on hyperscaler object storage, you gain the ability to choose which compute engine runs your queries. Need to run a heavy transformation job? Spin up a Spark cluster on AWS EMR, Google Dataproc, or Azure HDInsight. Running ad-hoc analytics? Fire up Trino or Presto. Want the Snowflake experience for specific workloads? Connect Snowflake to your Iceberg tables using an external volume—you'll only pay for the compute cycles you actually use. This is what I call compute portability, and it's a game-changer for cost management. The hyperscalers offer reserved instances, spot pricing, and committed use discounts that can dramatically reduce your compute costs compared to on-demand Snowflake credits. You're not locked in—you're making strategic choices based on workload requirements and budget constraints. Oracle GoldenGate 23ai DAA: Your Data Pipeline Now let's talk execution. How do you get your data into Apache Iceberg format continuously and reliably? This is where Oracle GoldenGate 23ai Distributed Analytics and Applications (DAA) delivers. GoldenGate's Iceberg Replicat writes directly to Iceberg tables without requiring a SQL engine. It uses the Iceberg Java SDK along with object storage-specific SDKs to write data directly to your hyperscaler storage. This means: Real-time data replication from your source databases to Iceberg tables No intermediate SQL engine consuming compute resources during the write process Direct writes to S3, GCS, or Azure Data Lake Storage in Parquet format Full ACID transaction support with proper handling of inserts, updates, and deletes The Replicat process handles all the complexity of Iceberg's specification—metadata management, snapshot creation, and delete file generation—so your data arrives ready for analytics. The Architecture in Practice Here's how a typical implementation looks: Source Systems → Oracle, SQL Server, PostgreSQL, or other supported databases where your transactional data lives. Oracle GoldenGate 23ai DAA → Captures changes in real-time and replicates to Iceberg format. Supports multiple catalog types including AWS Glue, Polaris, Nessie, and REST catalogs. Hyperscaler Object Storage → Your data lands in S3, GCS, or ADLS in open Parquet format, organized as Iceberg tables. Compute Engines → Choose your weapon based on the mission: Heavy ETL/transformation: Spark on your preferred hyperscaler Interactive analytics: Trino, Presto, or Dremio Specific Snowflake workloads: Connect via external volume for seamless querying Snowflake (Optional) → Query your Iceberg tables through catalog integration. You get Snowflake's query experience without Snowflake storage costs, and you only pay compute when you actually query. The Cost Math Let's look at a practical scenario. Say you have 50TB of analytical data that's refreshed continuously throughout the day. Traditional Snowflake Approach: Storage: Snowflake-managed (premium pricing) Compute: All queries run on Snowflake credits You're paying Snowflake for everything Iceberg + GoldenGate Approach: Storage: Hyperscaler object storage (significantly lower cost per TB) Heavy compute: Spark clusters with spot/reserved pricing Ad-hoc analytics: Trino or Snowflake, depending on need You're paying hyperscaler rates for storage and choosing the most cost-effective compute for each workload Organizations I've worked with have seen 40-60% reductions in their total data platform costs using this approach—and they've gained flexibility they didn't have before. Configuration Essentials For teams ready to execute, here's what you need to know about the GoldenGate configuration. The Iceberg Replicat supports automatic configuration—set gg.target=iceberg and the handler autoconfigures the required components. Key configuration properties: gg.target=iceberg gg.eventhandler.iceberg.catalogType=glue # or nessie, polaris, rest gg.eventhandler.iceberg.fileSystemScheme=s3:// gg.eventhandler.iceberg.awsS3Bucket=your-iceberg-bucket gg.eventhandler.iceberg.awsS3Region=us-east-2 GoldenGate handles automatic table creation, operation aggregation, and proper Iceberg metadata management. The default flush interval is 15 minutes, configurable based on your latency requirements. Snowflake Integration Once your data is in Iceberg format on your hyperscaler storage, Snowflake connects through an external volume and catalog integration. Snowflake supports both scenarios: External catalog (AWS Glue, Polaris, REST): Snowflake reads metadata from your existing catalog Snowflake as catalog: Snowflake manages the Iceberg metadata while data stays in your external storage Either way, your Iceberg tables show up in Snowflake like native tables, but the storage costs stay with your hyperscaler agreement—where you likely have better rates and more control. Mission Accomplished: What Success Looks Like When this architecture is implemented correctly, you achieve several strategic objectives: Cost predictability: Storage costs are transparent and controlled through your hyperscaler agreement Compute flexibility: Choose the right engine for each workload without lock-in Data openness: Your data is in open formats (Parquet, Iceberg), accessible by any compatible tool Real-time currency: GoldenGate keeps your Iceberg tables current with continuous replication Operational simplicity: One data copy serves multiple compute engines Taking Action If you're facing Snowflake cost challenges, here's my recommendation: start with a single high-volume table or workload. Implement GoldenGate 23ai DAA replication to Iceberg on your hyperscaler of choice. Measure the cost differential over 30 days. The numbers will tell the story. This isn't about replacing Snowflake—it's about using the right tool for each part of the mission. Snowflake excels at interactive analytics and business intelligence. Spark excels at heavy transformations. Iceberg lets them coexist on the same data without duplicating storage or sacrificing capability. Outstanding work comes from making strategic architectural decisions. This is one of them. Have questions about implementing this architecture? Let's coordinate. Reach out to discuss how RheoData can help you achieve your data platform objectives.",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "01/12/2025",
  "datePublished" : "01/12/2025",
  "headline" : "Controlling Snowflake Costs: The Apache Iceberg Strategy with Oracle GoldenGate 23ai DAA",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Snowflake-Cost-Control-1.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/controlling-snowflake-costs-apache-iceberg-oracle-goldengate-23ai",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "Your senior DBA just spent 20 minutes trying to remember which port number connects to the Distribution Service. Again. Your new team member has a bookmark folder with 12 different Oracle GoldenGate URLs. Each with a different port. Half of them don’t work anymore because someone changed the configuration last month. And your security team just sent another email. Another quarterly audit. Another spreadsheet asking you to justify why your GoldenGate Microservices deployment has 15 ports exposed to the network. This is what Oracle GoldenGate 23ai Microservices Architecture gives you: incredible power for real-time data replication. And a port number management nightmare that slowly drives your team insane. I know because I’ve sat in 30 different conference rooms/conversations this year. Same whiteboard diagram. Same conversation. Smart IT leaders pointing at their GoldenGate architecture explaining which microservice runs on which port. And why their DBAs spend more time managing access than managing data. Here’s what nobody tells you when you deploy GoldenGate Microservices: The microservices work great. The port management? That’s the hidden tax you’ll pay every single day. The Port Number Tax: What It’s Really Costing You Let me paint a picture from a $2.8 billion retail operation we worked with recently. Brilliant IT team. Oracle GoldenGate 23ai running perfectly. Real-time replication working like clockwork. But they had this massive three-ring binder. I’m not kidding. A physical binder. Titled “GoldenGate Access Guide.” Inside? Service Manager: Port 9100 Administration Server: Port 9101 Distribution Server: Port 9102 Receiver Server: Port 9103 Performance Metrics Server: Port 9104 And that’s just deployment one. They had four deployments. Each with its own set of ports. Each requiring documentation. Each demanding that DBAs remember or look up which number goes where. Their lead DBA told me something I’ll never forget: “I spend more time explaining port numbers to new team members than I spend teaching them about GoldenGate replication.” Think about that. Oracle built this incredible technology for real-time data integration. And the best talent in the organization is teaching port number memorization. That’s not a training problem. That’s a port number tax. And you’re paying it every single day. What Your Team Actually Needs When I talk to CIOs and VPs of IT about Oracle GoldenGate Microservices deployments, the port number frustration comes up every time: First frustration: “My DBAs waste hours managing port number documentation instead of optimizing our data pipelines.” Your team knows Oracle GoldenGate inside and out. They understand replication topology. They can troubleshoot lag issues in their sleep. They’re experts at what matters. But they’re spending time maintaining wiki pages, updating spreadsheets, and answering Slack messages about which port connects to which service. That’s not why you hired them. Second frustration: “Every security audit turns into a port number interrogation.” Your quarterly security review always includes the same conversation: “Why are ports 9100 through 9115 exposed?” “Why does each microservice need its own port?” “Can’t we consolidate this?” You explain that GoldenGate Microservices Architecture works this way by design. You explain that each service needs its own port. You explain that it’s all necessary. And the security team documents another finding. Another item requiring justification. Another complexity to explain next quarter. Third frustration: “New team members take weeks to learn our access patterns.” Onboarding a new DBA or integrating a contractor should take days, not weeks. But when someone joins your team, they need: A bookmark folder with 15+ URLs Documentation explaining which service lives on which port Training on your specific deployment naming conventions A cheat sheet they’ll refer to for months That’s not onboarding. That’s port number orientation. And it delays the real work by weeks. The Solution: Eliminate Port Numbers From Your Team’s Vocabulary Here’s what changes when you implement NGINX reverse proxy for Oracle GoldenGate: Your entire team accesses everything through one URL. No port numbers. No memorization. No documentation to maintain. Just: https://goldengate.yourcompany.com Service Manager? Same URL. Distribution Server? Same URL. Performance Metrics? Same URL. The reverse proxy handles routing. Your team handles data replication. Your security team sees one exposed port. Not 15. Not 12. Not even 5. One. Port 443. Standard HTTPS. Everything else runs internally, protected behind your reverse proxy. Every security audit gets simpler. Every compliance review gets shorter. Every risk assessment shows improvement. Your onboarding time drops from weeks to hours. New team member? Give them one URL. One set of credentials. Done. They’re productive on day one because they’re not memorizing your port number scheme. Why RHEL 8 Teams Hit a Specific Challenge If you’re running RHEL 8 or Oracle Linux 8, you’ve probably discovered that the default NGINX installation doesn’t meet Oracle GoldenGate 23ai requirements. The default NGINX 1.14 stream won’t work. You need 1.19.4 or higher. And nobody tells you this until you’re troubleshooting connection failures at midnight. We’ve walked 13 teams through this exact scenario. The fix takes mear minutes when you know what to do: # Reset module configuration dnf module reset nginx # Enable the right stream dnf module enable nginx:1.20 # Install NGINX dnf install nginx But discovering you need to do this? That’s cost teams days of troubleshooting. The RheoData Difference: We’ve Done This Before Here’s what we bring to Oracle GoldenGate reverse proxy implementations: We know the gotchas. RHEL 8 module streams. SSL cipher configurations. Certificate chain requirements. The specific settings Oracle’s ReverseProxySettings utility needs. We’ve documented every one through 30+ implementations. We understand your constraints. You can’t take GoldenGate offline during business hours. Your security team needs specific cipher suites. Your monitoring tools need to integrate. Your DBAs need training on the new access patterns. We plan for all of it. We deliver in phases. Quick win in 90 days: Your team gets simplified access and you get your first full night of sleep. Six months: Your security posture improves measurably. Twelve months: You’ve converted infrastructure complexity into a competitive advantage. What Success Looks Like Three months after implementing reverse proxy for that $2.8 billion retailer, here’s what changed: That three-ring binder? Gone. The lead DBA recycled it during an office cleanup. Nobody even noticed it was missing because nobody needed it anymore. Their port number documentation? Deleted. Security audit findings related to exposed services? Disappeared. Time spent onboarding new DBAs? Cut from three weeks to three days. But the real win? Their senior DBA told me: “I finally have time to work on the replication optimization project we’ve been delaying for a year. We’re not managing port numbers anymore. We’re managing data again.” That’s what happens when you eliminate infrastructure friction. Your team remembers why they chose database engineering in the first place. The Investment: Time and Expertise Implementing NGINX reverse proxy for Oracle GoldenGate takes expertise. Not just in NGINX. Not just in GoldenGate. But in how IT operations actually work. You need someone who understands: Why your GoldenGate deployment must stay online during implementation How your security team evaluates cipher configurations What your DBAs need to remain productive during the transition Where your monitoring tools integrate with the new architecture You could spend six months building this expertise internally. Watching videos. Reading documentation. Troubleshooting RHEL 8 module streams at 2 AM. Or you could work with a team that’s done this time and time again and knows exactly how to avoid every pitfall. Your Next Step If you’re tired of infrastructure complexity stealing time from strategic initiatives, let’s talk. Not a sales pitch. A real conversation about your Oracle GoldenGate environment. Your team’s pain points. Your security requirements. Your timeline constraints. We’ll tell you honestly if reverse proxy makes sense for your situation. And if it does, we’ll show you exactly how we’d implement it without disrupting your operations. Schedule a 30-minute GoldenGate infrastructure assessment. No cost. No obligation. Just an experienced perspective on your specific challenges. Because you didn’t become CIO to manage port documentation. You became CIO to drive business value through technology. Let’s make your infrastructure work that way. Why Partner With RheoData? Oracle GoldenGate Expertise: We’ve implemented GoldenGate solutions across hundreds of organizations, managing everything from real-time replication to cloud migration. Retail Industry Focus: We understand your seasonal demands, peak period requirements, and zero-downtime mandates because we work exclusively with retail IT operations. Managed Service Approach: We don’t just implement and leave. We monitor, maintain, and optimize your GoldenGate infrastructure so your team can focus on business initiatives. Proven Methodology: Our phased approach delivers quick wins while building toward comprehensive infrastructure modernization. Ready to simplify your GoldenGate access?",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "18/11/2025",
  "datePublished" : "18/11/2025",
  "headline" : "Stop Managing Port Numbers. Start Managing Data.",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/Gemini_Generated_Image_swtwdrswtwdrswtw.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/eliminate-goldengate-port-management",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "This post we are going to look at some items related to getting started with Generative AI. This is mostly related to how I got started looking at GenAI and what I presented this year at the Rocky Mountain Open User Group (RMOUG). The presentation that I presented on provided details on what you should look forward and understand when talking about GenAI. I broke this topic down into three distinct sections: Artificial Intelligence How you can get started Possibilities Now, I cannot go into all the details of these section in this blog post, but there was a lot of good information handed out during this session. Artificial Intelligence Many people didn’t realize that the concept and terms related to Artificial Intelligence has been out since the Birth of AI (1950–1956). It has gone through many different stages to reach where it is now with General AI (2012-Present). The image below shows a rough timeline on what these stages have been and were: Over the last two years, AI has exploaded across every industry. Yet, many don’t see how and where AI is being used within their everyday spectrum. AI has be placed in every type of application you can think of. Microsoft has place in their productivity suite with the release of Copilot ($$/user/mo). Google has done the same thing with Gemini in Google Workspace (included in cost based on package). Oracle has embedded AI into its products, mostly applications, but leverage Cohere to do this. Apple was one of the first out with “siri” as a digital assistant, which many use today. There are many different ways that AI is being used within our every day lives, yet so many do not realize it. As you can see, AI is or can be built into any thing that is useful. How do you get started? There are four basic things needed in order to get started. During the presentation I talked about these four items in terms of personal growth. After all, that is what you need to move forward if you really want to understand AI. These four things that you need in order to understand AI, at a deeper layers is: A desire to learn Reading a lot of documentation, I mean a lot. A set of tools Large Language Models (LLM) A desire to learn With AI being such a new thing to many, although it has been around for 75 years, getting a good understanding of what AI is and how it can be useful is key. This, in my opinion, can only be done if you have a desire to learn and be uncomfortable for a short period of time. Many vendors out there, Microsoft, Google, and Oracle, are trying to make it easier for you. Yet at the same time, if you only know the top layer, you’ll never know how it truly works. You need to spend time digging deep into the topic. Which brings you to the next bullet point: Documentation All of the AI providers provide a lot of documentation. So much that is is confusing when you first start digging into them. For Microsoft, you need to read the OpenAI docs. For Oracle, Cohere. For Goolge, Gemini. I’ll let you in on a little secret thought, they are all pretty much the same. If you can learn one, you can learn all of them. Additionally, the concepts bleed over into the just about every GUI interface provided with vendors. The concept of “notebooks” which is referenced a lot if really just a development platform to introduce AI through python concepts. Keep reading. Keep writing. The read some more. Tools When it comes to tools, there are a lot of tools on the market that you can use. The hyperscalers provide tools through their cloud platform interfaces. There are third party tools like pycharm or VSCode that are good for writing python code to interact with AIs. Many of the AIs provide Application Programming Interfaces (APIs) that allow you to interact with the AI or tie external applications into the AI. These are very powerful approaches to making AI do some cool stuff. Lastly, the ability to just talk to AI in “natural language” makes the concepts even more intergruging to use. Who doesn’t like just being able to ask a question and get an answer back? Large Language Models (LLMs) The last tool you should know about are Large Language Models (LLMs). Many hear the term but don’t quite understand it. LLMs are models that are trained on a per-determined set of data. Some models are smaller than others, while the larger ones are trained on millions if not billions of tokens. What is a token? The term token has been explained in multiple ways. Some people think a token is a single “word” or “phrase” that is given and retured by the LLM. The best explination I’ve heard and made sense was by provided Google. A “token” is a “character and a half”. Is that actually correct? Not sure, but it makes sense when you start looking at the cost factor of running your queries against an LLM. Concepts With all the items listed in the previous section, there are concepts that have to be understood as well. These concepts are: Fine-Tuning Embedding Grounding Understanding these concepts, you’ll be able to start development some LLMs that make sense for you to use and build from. Fine-Tuning This is the process of “teaching” the LLM what you want it to know. This is like a student learning a specialized task to make their job easier. In order to tune an LLM, you would need to provide it a JSONL document that consists of a conversation like input, with questions and answers. Then the LLM can learn and you can ask it generalized questions around the topic it was trained on. The JSONL document that you provided should follow the 80/20 rule. 80% of the questions are used to train the LLM while the last 20% of of the questions are reserved to validate the training. Embedding Embedding is another concept; however, it makes a lot of sense when you are building applications like Vector Searches. The embedding process uses a specialized LLM that will convert your unstructured data into a “vector” that is stored in a database. Then this information is used to retrieve data based on “semantic” search. What does this mean? It means that your input is converted to a “vector” string and then compared to the “vector” stored in the database. All records returned, following a mathematical equation, are within a given range of the vector. This is known as the “top-K” approach. Grounding Grounding is the approach of providing relavant information to the LLM without training. It is an approach to elevate the halluination of the LLM when returning results. This approach is also known a “Retrieval Augmented Generation (RAG)”. By grounding an LLM, you care ensuing the context of the results are what is needed for the question being asked. The also leads you into the concept of “specialized” LLMs. An LLM becomes specialized when you train the LLM for a specific task and then provide context with external data sources. Agents Agents are the next evolution of the AI ecosystem. Although the General AI approach has only been around for two years, agents came about very quickly. Agents are autonomous entities that leverage AI to perfrom tasks. Some agents perform single tasks while some provide mulitiple tasks. At the same time, agents are goal-oriented and capable of making decisions on their own. Additionally, they can interact with other agents within their environments or outside their environments. Some of the most common agents are chatbots, virtual assistants, or gaming characters. AI Swarms This is a new concept that has been around for about six-months. The concept of a “swarm” is the ability to have an agent manage multiple agents. This greats a “swarm” of agents that can be interacted with and provide services — enabling a “hive mind” approach between the agents. Using AI swarms increase efficiency and effectivness through collabrative problem-solving. Yes, to be effective, it requires careful management of communication and coordination between agents. Summary In this post, I walked you through what I looked at when I was getting stared with GenAI. I provided highlights of all the concepts needed to build and use an AI/LLM. Lastly, I provided minor details on Agents and AI Swarms which are fairly new to the AI ecosystem and are forcing many to start looking at AI different.",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "GenAI: How to get started",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/AdobeStock_335969170-1.jpg",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/genai-getstarted",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "With any type of replication configuration or replication tool, primary purpose is to move the data as transactions are committed between databases. Any of the tools on the market are great for replicating data, but where replication starts to become interesting is when the metadata for tables needs to be replicated. When something changes at the data definition layer occur, these changes have be shipped across the network. Replication tools need to be able to handle the capture, shipping, and applying of an object’s data definition language (DDL). With Oracle GoldenGate, improvements have occurred over the years to make replicating DDL easier. Although, replicating DDLs have become easier there are items that need to be considered. In this post, we’ll look at these common items. Overview of DDL Synchronization Oracle GoldenGate supports the synchronization of DDL operations from one database to another. DDL synchronization can be active when: Business applications are actively accessing and updating the source and target objects Oracle GoldenGate transactional data synchronization is active (DML) The components that support the replication of DDL and replication of transactional data changes (DML) are independent of each other. Therefore, you can synchronize: Just DDL changes Just DML changes Both DML and DDL This means that Oracle GoldenGate can perform both DML and DDL at the same time or independent of each other. This provides flexibility to the overall architecture and allows the administrators the option to define what needs to be replicated and when. Fetch-Related Inconsistencies With everything being flexible and easy to replicate, there is a defined process to ensure that inconsistencies are minimized when DML and DDL are fetched. For example, the following process will help prevent fetch-related inconsistencies while Oracle table columns are being modified: Pause all DML on table (i.e. stop any process that is processing inserts, update, or deletes) Wait for the Extract to finish capturing all remaining redo; wait for Replicat to finish processing all captured data in trail. Execute the DDL on source; confirm DDL changes on target Resume source DML on table Enabling DDL Replication DDL is useful in dynamic environments which change constantly. By default, the status of DDL replication supports the following: On source (Extract), the Oracle GoldenGate DDL support is disabled by default. Must be configured with the DDL parameter. On target (Replicat), DDL support is enabled by default, to maintain the integrity of transactional data that is replicated. DDL Parameter (Extract/Replicat) The DDL parameter can be used in both the Extract and Replicat parameter files. By using DDL parameter in the Extract is will enable DDL capture. It can be omitted from the Replicat parameter since DDL is enabled on the target side by default. Sample Parameter Files Extract: extract EXT useridalias SOURCE domain OracleGoldenGate exttrail aa ddl sourcecatalog chip table tstusr.random_lrg_; Replicat: replicat REP useridalias PDBSOURCE domain OracleGoldenGate ddl map chip.tstusr.random_lrg_, target chip.tstusr1.random_lrg; Hopefully, this quick post shows you how easy it is to get DDL enabled within Oracle GoldenGate. Enjoy!!",
  "author" : {
    "@type" : "Person",
    "name" : "Fame",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/fame"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Basic DDL Replication with Oracle GoldenGate",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/blog-feature-Logo-Oct-31-2025-04-57-26-6962-PM.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/basic-ddl-replication-with-oracle-goldengate",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "With every new service on any cloud platform, the need to make connections is essential .This is the case with Oracle’s new MySQL Database Service (MDS). The MySQL Database Service (MDS) is the gateway to implementing MySQL Heatwave. Understanding how to connect from on-premises to the MDS is critical working with the platform. In the case of MySQL Database Services, you have to connect via an SSH tunnel to interact with the service. If you are looking at doing this from the command line via a instance covered in a previous blog post (here). From the command line, you can use MySQL Shell to interact. At the same time, if you install MySQL Shell on your local machine, you would still have to navigate through an instance to connect to MySQL Database Service (MDS). In this blog post, we’ll walk through how to setup third-party tools to allow you to connect and use MySQL Database Service (MDS). Establish SSH Connection The easiest way of doing this is via the “Connect to a database” setup process. In this case, you’ll want to setup a new connection for a MySQL 8 database. Then on the “Connection Settings” screen, select “SSH”. Then select the pencil icon to open the “Profile”editor. The “Profile” editor will allow you to create an SSH Tunnel Profile that can be used multiple times. Plus it saves time when wanting to connect to more than one MySQL Database Service (MDS). Notice that we are setting the User Name to “OPC”, providing the Public Key that is needed to connect to the instance, and the Public IP address of the instance that will allow passthrough connections to MySQL Database Service. After testing the connection, the “Network Profile” screen can be closed. Connecting to MySQL Database Service (MDS) With the “Network Profile” configured, the connection to MDS can be established. After closing the “Network Profile” screen, DBeaver returns you back to the “Connection Settings” page for MySQL 8.0. Fill out the “Main” tab as you would do for any standard MySQL Database. With the “Main” table filled out, navigate over to the “SSH” tab and select the profile that was created for the SSH Tunnel. At this point, you can either do a “Test Connection” to confirm connection or click “Finish”. Resolving Public Key Retrieval issue After the connection is setup and tested, you may run into a “Public Key Retrieval” issue. This issue is security issue with OCI. To resolve this, update the “Driver Properties” of the connection. By default the connection is set to FALSE, to resolve the issue set to TRUE. After changing the settings to “allowPublicKeyRetrieval”, the connection to the MySQL Database Service (MDS) is successful. Happy MySQL working within Oracle Cloud Infrastructure (OCI). Enjoy!!!",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Connecting to MySQL Database Service (MDS) via DBeaver",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/image-Oct-31-2025-04-49-30-6488-PM.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/connecting-to-mysql-database-service-mds-via-dbeaver",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "Building a MySQL Database in Oracle Cloud Infrastructure (OCI) is easy. Within a few steps, you can build a MySQL instance for your development or production needs. To begin building, you first have to login into your OCI tenancy. After you have logged in, use the “hamburger” menu (three lines in upper left corner) to open the navigation menu. From here, you’ll select “Databases”. By selecting “Database”, the navigation menu will change and provide you with database options for MySQL Heatwave, MySQL Heatwave on AWS, NoSQL databases and Open Search. In order to build a MySQL Database Service (MDS) select “DB System” under MySQL Heatwave. Note: Oracle has changed the MySQL Database Service (MDS) name to MySQL Heatwave. This was done to align more with marketing. With selecting “DB Systems”, we are now taken to the MySQL Heatwave page. On this page, we will see a button called “Create DB System”. By clicking this button, we can begin the process to build our MySQL Database and the page changes to the “Create Database System” page. The “Create Database System” page, has a lot of items already pre-configured for us; however, we are going to change these settings to reflect our desired MySQL setup. With this being a development environment, we change from Production to Development or Testing at the top of the screen. This change forces the build to be a Standalone build. The next items we need to provide are the setting where the database is to be built – Compartment and Name that will be displayed in OCI. The description is optional. With the understanding that we are building a Standalone MySQL system, we have the option to toggle on Heatwave or not. What this toggle does is show the OCI compute shapes that support Heatwave and allows them to be selected. There are times where you may want to have a normal MySQL instance and keeping this setting off is approerate. In our case, we are going to play with Heatwave at somepoint, enabling this is a good idea. Up to this point, we only have selected or entered items that we deem needed. The next section is critical in nature because it will set the administrator username and password for the instance. Like any good dba, we need to create an admin user called “admin”. Then provide the password that will be used. The next two sections is where we will define what network will be used, the subnet, and the availability and fault domains to be assigned. Since we already have a VNC established in another compartment, we will use that VNC and subnet. Then we are going to put this MySQL database in the availability domain – AD-1. After selecting the availability domain, we get the option to via checkbox to select the fault domain. We are not going to selected and let Oracle decide for us. The next section is where we can configure the hardware that will be used for the MySQL databases. The Configure Hardware section is pre-selected with an shape that is configured for MySQL Heatwave. This means the compute instance will have 16 OPCU and a minimum of 512GB of memory with a network speed of 16Gbps. The data storage that is assigned is defaulted to 1024GB (1TB) of space. Since this is a test instance, we can reduce this down to 256GB or any other setting that is desired. The final section of the Create DB System page is to define a backup stratgy for this instance. The Configure backup plan is pre-populated for you with a retention period of seven days with point-in-time recovery enabled. With this being a development system, we can turn this off for now. Simply uncheck the Enable automatic backups checkbox. At this point, we can check the “Create” button at the bottom of the screen and the database will be built for us and the page changes back to the DB Systems Detail page. From here we can see that the database is being built. With the MySQL Database built, we can specific information on the instance from the DB Systems Page. We can also check on the progress of the build by looking under Resources -&gt; Work requests. This gives us an idea on how long it will take to build our MySQL Heatwave Instance. With the MySQL Heatwave Instance built, the DB Systems Detail page returns a green status and we can now review the system. Notice that there is a Connections tab to the right of DB System Information. Under this tab, we will find the IP address for connections; however, we can only make a connection to a private IP address. This means, we have to define a bastion host or compute instance with a public IP to make the connection to this database (more on this shortly). At this point, we have a functioning MySQL Heatwave system that can be accessed.",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Building MySQL Database Service (MDS)",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/mysql_tidbits-build-MySQLHeatwave-1024x467-1.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/building-mysql-database-service-mds",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "Your Snowflake bills are probably 3x higher than they need to be. We wrapped up an implementation where we slashed compute costs by 70% while improving replication performance by 67%. The secret? Properly configured Oracle GoldenGate 23ai performance settings specifically tuned for X-Small Snowflake warehouses. Here’s the reality – most organizations start with Medium or Large Snowflake warehouses for Oracle-to-Snowflake replication because they’re afraid of performance issues. That fear costs them $40,000+ annually in unnecessary compute charges. We need results, not expensive insurance policies. Today, I’m sharing the critical settings that make this possible. The $40K Question: Why X-Small Works Before diving into configuration, let’s address the elephant in the room. An X-Small Snowflake warehouse has: 1 compute cluster 8 credits/hour consumption Processes ~16M rows/hour (properly configured) Compare that to a Medium warehouse at 32 credits/hour, and you’re looking at 4x the cost for maybe 2x the performance. The math doesn’t work. Extract Configuration: Where Performance Begins Your Extract process sets the foundation for downstream performance. Here’s the configuration that’s achieved 67% performance improvements: EXTRACT EXT_SNOW USERIDALIAS GGADMIN_ORCL DOMAIN OracleGoldenGate EXTTRAIL sn SOURCECATALOG PROD_PDB -- Critical performance optimizations TRANLOGOPTIONS INTEGRATEDPARAMS (MAX_SGA_SIZE 2048, PARALLELISM 4) NOCOMPRESSUPDATES -- Include monitoring heartbeat TABLE GGADMIN.GG_HEARTBEAT; -- Business tables TABLE SALES.ORDERS; TABLE SALES.ORDER_ITEMS; TABLE INVENTORY.PRODUCTS; TABLE INVENTORY.MOVEMENTS; Key Performance Settings Explained: MAX_SGA_SIZE 2048 – Allocates 2GB of memory for LogMiner operations. This prevents constant memory allocation/deallocation that kills performance. We’ve seen 40% improvement with this setting alone. PARALLELISM 4 – Enables 4 parallel LogMiner processes. This setting improved extraction rates from 6M to 10M rows/hour in production environments. NOCOMPRESSUPDATES – Critical for Snowflake targets. Compressed updates require additional processing on the Snowflake side. Eliminating compression reduced apply time by 23%. Distribution Path: Don’t Bottleneck Here The distribution configuration often gets overlooked, but incorrect settings here negate all upstream optimizations: { name: “PATH_TO_SNOW”, source: “EXT_SNOW”, target: {   host: ogg-da-server”,   port: 9103,   trail: “sn” }, compressionType: “LZ4”, encryptionType: “AES256”, tcpBufferSize: 65536 } compressionType: LZ4 – Provides 3:1 compression with minimal CPU overhead. GZIP gives better compression but increases latency by 35%. tcpBufferSize: 65536 – Larger buffer sizes reduce network round trips. This setting alone improved throughput by 18% over WAN connections. Replicat Configuration: Where X-Small Shines The Replicat configuration determines whether your X-Small warehouse keeps up or falls behind: REPLICAT RSNOW REPORTCOUNT EVERY 30 MINUTES, RATE GROUPTRANSOPS 10000 MAXTRANSOPS 20000 -- Map tables MAP GGADMIN.GG_HEARTBEAT, TARGET GGADMIN.GG_HEARTBEAT; MAP SALES.ORDERS, TARGET ANALYTICS.ORDERS; MAP SALES.ORDER_ITEMS, TARGET ANALYTICS.ORDER_ITEMS; GROUPTRANSOPS 10000 – Groups up to 10,000 operations into a single transaction. This reduces Snowflake transaction overhead by 85%. MAXTRANSOPS 20000 – Forces a commit at 20,000 operations. Prevents memory bloat while maintaining performance. Snowflake Event Handler: The Secret Sauce This is where most implementations fail. The Snowflake Event Handler properties make or break X-Small warehouse performance: # Snowflake Event Handler Configuration gg.handlerlist=snowflake gg.handler.snowflake.type=snowflake gg.handler.snowflake.mode=op # Authentication gg.eventhandler.snowflake.connectionURL=jdbc:snowflake://{ID}.snowflakecomputing.com/?warehouse=COMPUTE_WH&amp;db={DATABASE} # CRITICAL: In-Memory Operation Aggregation gg.aggregate.operations=true gg.aggregate.operations.flush.interval=30000 # SQL-based aggregation for massive performance gg.aggregate.operations.using.sql=true # Uncompressed updates for MERGE operations gg.compressed.update=false # Use MERGE instead of DELETE+INSERT gg.eventhandler.snowflake.deleteInsert=false # Handle large objects efficiently gg.maxInlineLobSize=24000000 # JVM optimization jvm.bootoptions=-Xmx8g -Xms8g Performance Impact of Each Setting: gg.aggregate.operations=true with flush.interval=30000 – Batches operations for 30 seconds before applying. Reduces Snowflake API calls by 95%. gg.aggregate.operations.using.sql=true – This is the game-changer. Aggregates operations at the SQL level, reducing data movement by 60%. gg.compressed.update=false – Required for MERGE operations. Compressed updates force DELETE+INSERT operations which are 3x slower. gg.eventhandler.snowflake.deleteInsert=false – Enables native MERGE SQL. Improves update performance by 250% on X-Small warehouses. jvm.bootoptions=-Xmx8g -Xms8g – Allocates 8GB heap. Prevents garbage collection pauses that cause apply lag. The Snowflake Warehouse Configuration Don’t forget to optimize the Snowflake side: ALTER WAREHOUSE COMPUTE_WH SET   WAREHOUSE_SIZE = 'X-SMALL’   AUTO_SUSPEND = 60   AUTO_RESUME = TRUE   MIN_CLUSTER_COUNT = 1; AUTO_SUSPEND = 60 – Suspends after 1 minute of inactivity. With proper batching, saves 70% on compute costs. Real-World Performance Metrics With these configurations, here’s what we’ve achieved on X-Small warehouses: Initial load: 100M rows in 6 hours Change data capture: 10M changes/hour sustained Replication lag: &lt; 60 seconds average Monthly cost: $1,200 vs. $4,000 on Medium warehouse Common Mistakes That Kill Performance Using compressed updates with MERGE – Increases apply time by 300% Small flush intervals (&lt;30 seconds) – Creates excessive Snowflake transactions Insufficient JVM memory – Causes GC pauses and lag spikes Missing SQL aggregation – Processes each row individually Wrong compression algorithm – GZIP adds 35% latency The Bottom Line Every organization processing less than 50M daily changes can run on X-Small Snowflake warehouses – if configured correctly. The settings I’ve shared have been battle-tested across implementations processing billions of rows. Stop accepting massive Snowflake bills as “the cost of doing business.” With proper Oracle GoldenGate configuration, you get: 70% reduction in Snowflake compute costs 67% improvement in extraction performance Sub-minute replication lag 99.9% reliability These aren’t theoretical numbers. They’re production results from organizations that decided expensive wasn’t better. Your Next Steps The configurations in this post are your starting point. Every environment has unique characteristics that require tuning. But if you’re running Medium or Large warehouses for standard Oracle-to-Snowflake replication, you’re leaving money on the table. Ready to cut your Snowflake costs while improving performance? The team at RheoData specializes in Oracle GoldenGate optimizations that deliver measurable ROI. We don’t just talk about transformation – we deliver it, measure it, and accelerate it. Contact RheoData for a performance assessment or schedule a consultation to discuss your specific environment. — cloud@rheodata.com Remember: In the world of real-time replication, performance and cost efficiency aren’t mutually exclusive. They’re complementary when you know which knobs to turn.",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Oracle GoldenGate 23ai Performance Tuning: Achieving 10M Rows/Hour on X-Small Snowflake Warehouses",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/AdobeStock_1499606969-1.jpg",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/oracle-goldengate-performance-settings-cut-snowflake-costs",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "Three and a half-years after our owner/founder left Oracle; RheoData has earned the Oracle Service Expertise in North America for Oracle GoldenGate. The accreditation was awarded in North American but we continue support you around the globe. RheoData is now positioned to bring quality Oracle GoldenGate on-premise and cloud services and licenses to our customers. GoldenGate Services we offer: Architecture review and health-checks Design and/or re-architect Health-checks on database and replication Migrate to the cloud (AWS, Azure, GCP with on-premise/OCI with BYOL or Cloud-base licenses) Oracle GoldenGate Implementation Oracle GoldenGate for Oracle Non-Oracle (Heterogenous) Big Data Oracle GoldenGate Managed Services Keep your environment running at peak performance – on-premise or cloud without the OpEX overhead Oracle GoldenGate Modernization Upgrade from Classic to Microservices Understanding of Microservices We help our customers achieve maximum performance with Oracle GoldenGate, on-premise and cloud while enabling their data to move in real-time at breakneck speed. RheoData has deep experience moving from Classic to Microservices architecture with virtually no interruption to ongoing operations. Here are a few of our use cases and customer success stores illustrating our capabilities: Shoe Carnival – Zero-downtime migration from Oracle GoldenGate (Classic) to Oracle GoldenGate (Microservices) (here) Altec – Hyber Data Ingrestion – OCI and GGS use case (here) Tire Manufacture Distributor – Oracle GoldenGate for Big Data to Google Cloud Storage (here) Migrate data to ADW – Oracle GoldenGate to Autonomous Data Warehouse (here) Additional GoldenGate consulting services aligned with our expertise, including: Data Integration, Consolidation, and Data Warehousing Query offloading for Reporting processes Bi-Directional/Multi-Master replication for high-volume transaction architectures Disaster Recovery Testing Real-Time Data Replication Big Data integration using Oracle GoldenGate to AWS S3 Big Data integration using Oracle GoldenGate to Kafka Big Data integration using Oracle GoldenGate to Snowflake Big Data integration using Oracle GoldenGate to Google Cloud Storage Oracle to Oracle Replication Oracle to MySQL Replication Oracle to Postgres Replication Microsoft SQL Server to Oracle Replication Microsoft SQL Server to MySQL Replication PostgreSQL to Oracle Replication PostgreSQL to PostgreSQL Replication Cloud integration with Amazon AWS Cloud integration with Google Cloud (GCP) Cloud integration with Azure Cloud integration with Oracle Cloud Infrastructure (OCI) Oracle GoldenGate Service (OCI based Oracle GoldenGate) Replication integration with REST API framewor We look forward to connecting with you on all your project, infrastructure, and performance needs, especially Oracle GoldenGate! Contact us today email (hello@rheodata.com) or by phone at +1 (678) 608-1352 x 102 or 103. How can we be helpful today?",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "RheoData achieves Service Expertise in Oracle GoldenGate",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/rheodata_GG-Service-Badge-1.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/rheodata-achieves-service-expertise-in-oracle-goldengate",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "For many using Oracle GoldenGate, there is a need to test out the desired configurations in a dev, test, or even a QA environment. This means there will be times where you will add, change, or delete different aspects of the Oracle GoldenGate processes. In my test environment for Oracle GoldenGate, I’ve built quite a few Extracts and Replicats that are needed for testing out solutions for customers. I wasn’t planning on destroying my Oracle GoldenGate Hub, but Oracle had other plans since I was running my hub on OCI (story for another time). After rebuilding my Oracle GoldenGate Hub, I began to setup my extracts and replicats. After getting everything setup, nothing would replicat; started to look around and realized that the extract was an integrated extract and there may be some things hung in the database since they were not deleted correctly. To identify what extracts are still registered with the Oracle Database, you will use the DBA_CAPTURE view. set linesize 150 col capture_name format a20 select capture_name from dba_capture; CAPTURE_NAME ——————– OGG$CAP_L1EXT OGG$CAP_LCEXT As you can see, I’ve got two integrated extracts that need to be removed. Before removing them, it is good to check for any hung log miner session as well. set linesize 130 col session_name format a20 col global_db_name format a45 select SESSION#,CLIENT#,SESSION_NAME,DB_ID,GLOBAL_DB_NAME from system.LOGMNR_SESSION$; SESSION# CLIENT# SESSION_NAME DB_ID GLOBAL_DB_NAME ———- ———- ——————– ———- ——————————————— 6 0 OGG$CAP_LCEXT 1564695817 RDDEVDB.SUB06171836220.DEMOVNC.ORACLEVCN.COM 7 0 OGG$CAP_L1EXT 1564695817 RDDEVDB.SUB06171836220.DEMOVNC.ORACLEVCN.COM Now that I know there are hung sessions in the log miner, these need to be cleaned up as well. The following steps need to be performed to clean up the log miner and the extracts: 1. Drop the extracts exec DBMS_CAPTURE_ADM.DROP_CAPTURE ('OGG$CAP_LCEXT'); exec DBMS_CAPTURE_ADM.DROP_CAPTURE ('OGG$CAP_L1EXT'); Verify that the extracts have been removed from the DBA_CAPTURE view. 2. Drop queue tables from log minder set linesize 100 col owner format a20 col name format a25 col queue_table format a20 select owner, name, queue_table from dba_queues where owner = 'C##GGATE'; OWNER NAME QUEUE_TABLE ——————– ————————- ——————– C##GGATE OGG$Q_IEXT OGG$Q_TAB_IEXT C##GGATE AQ$_OGG$Q_TAB_IEXT_E OGG$Q_TAB_IEXT C##GGATE AQ$_OGG$Q_TAB_LCEXT_E OGG$Q_TAB_LCEXT C##GGATE OGG$Q_LCEXT OGG$Q_TAB_LCEXT C##GGATE AQ$_OGG$Q_TAB_L1EXT_E OGG$Q_TAB_L1EXT C##GGATE OGG$Q_L1EXT OGG$Q_TAB_L1EXT declare v_queue_name varchar2(60); begin for i in (select queue_table, owner from dba_queues where owner = ‘C##GGATE’) loop v_queue_name := i.owner||’.’||i.queue_table; DBMS_AQADM.DROP_QUEUE_TABLE(queue_table =&gt; v_queue_name, force =&gt; TRUE); end loop; end; Verify that the queues that were allocated to the GoldenGate user has been cleaned up by querying the DBA_QUEUES view again. If all the queues have been cleaned up, creating the extracts needed will succeed.",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Clean up old Extracts",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/blog-feature-Logo-Oct-31-2025-04-57-26-6962-PM.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/clean-up-old-extracts",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "articleBody" : "In my last two posts I showed you what the Oracle Vector Datatype is and how to update existing data after adding a vector datatype column. In this post, we are going to quickly look at how to use those examples to implement a “similarity search” based on the vector stored in the vg_vec1 column of the table. Assumptions The prerequisites for this should be pretty straight forward, but I’ll make note of them here for reference. Oracle Database 23.4 (limited availability at the moment) python3.11 or later (what I’m using non-venv setup) python_oracledb (2.0.0 or later (limited availability)) LLM API Key (Using Cohere) With the prerequisites defined and ready to use, lets take a look at the code need implement a “similarity search” on top of the video game data stored in vector.video_games_vec. If we do a quick query of vector.video_games_vec table, we see that vectors are in place for every row of the table. SQL&gt; select id, title, vg_vec1 from VECTOR.VIDEO_GAMES_VEC order by id; With vectors in place, we now need to write some code that will compare the data in column vg_vec1 with a search term or question we are looking for. Python First we need to import the packages and define the LLM API key we need for python: #! /usr/local/bin/python3 import oracledb import cohere import os import sys import array #set Cohere API key api_key = “eOubN0Yyj8ORoDk6MYjr co = cohere.Client(api_key) As you can tell, we are importing the new oracledb package for python along with the package for cohere. The other packages are needed and are already installed with python. Within the same section, we are defining the API Key that is needed to run embeddings against Cohere. Next, we are setting up a few definitions/functions for the process. I broke these into functions that partition what is happening with the script. There are two functions that we are going to define – database connection and vectorization. Within the database connection function, we are simply making a call to connect to the database and return the connection for usage within the script. If connection cannot be made, then the connection is not returned. #define database connection function def database_connection():   try:       connection = oracledb.connect(           user=”,           password=”,           dsn=100.166.255.254:1521/”           )       print('connected’)       return connection   except:         print('Could not make a connection’) The next function is used to create embedding for the search term or question that we are looking for in the “similarity search”. Breaking this out into a function helps simplify the code and relegates the vectorization to a single step. Then the vector array of embeddings are retuned for further processing. #define LLM embedding model def cohere_vectorize(vInput):   data = vInput   response = co.embed(       texts=[data],       model='embed-english-light-v3.0’,       input_type=“search_query       )   vector_value = response.embeddings[0]     return vector_value Lastly, we create a function called main(). This is just to compartmentalize main code into a single spot. Something, I like to do from time to time. Within the main function is where all the work is done for the “similarity search”. We setup the connection to the database, the select statement that is going to be used, and what to do with the search. def main():     connection = database_connection()   with connection.cursor() as select_cursor:       select_stmt = select title, genres, license                       from vector.video_games_vec                       order by vector_distance(vg_vec1, :1, DOT)                       fetch first :2 rows only”         while True:           prompt_input = input('Search Games or Game Question: ‘)           if (prompt_input == exit”):                 break           if (prompt_input == ”):                 continue             fetch_num = input(How many records to fetch: “)           vec = cohere_vectorize(prompt_input)             vec2 = array.array(d, vec)           for(title, genres, license) in select_cursor.execute(select_stmt, [vec2, fetch_num]):                 print(\t + title + | + genres + | + license) A couple of things to understand about the code above. The select _stmt parameter defines the select statement that is used to query the database table and return a result set based on the vectors. Within this select statement, we are using vector_distance to compare two vectors – stored vector and new embedding vector for search. Then the algorithm used for the search – DOT. All this is done in the order by clause. Additionally, the query is limiting the results based on the first number or rows fetched. To give a better view of this query, it looks like this: select title, genres, license from vector.video_games_vec order by vector_distance(vg_vec1, :1, DOT) fetch first :2 rows only You will notice that we are using :1 and :2 within the SQL statement. These are used by the cursor.execute function in python to pass values. Another thing to point out is that the returned embedding needs to be converted to a format that can be used by SQL. This is done by taking the embedding and converting it to a FLOAT64 value. This is done with the line in the main function as: vec2 = arrary.array(“d”, vec) Seems trivial, but is needed for the search to work. Lastly, we simply make a call to the main function for execution. Once execute, we can provide our search term or question related to a video game and get information back on the video game. Note: One thing to note, the for loop in the main function that executes the select statement needs to be updated if more columns are added to the select statement. Look at the below video, you will see that we are searching for various video games and looking to get the name of the video game, the genre it belongs in, and if it requires a license. The output is prefixed with a tab and broken up with pipe symbols. See this simple vector search in action: here When it comes down to the effectiveness of the search, it will be based on the quality of your data. If you have clean data, then your searches will be more efficient and yield better results.",
  "author" : {
    "@type" : "Person",
    "name" : "Bobby Curtis",
    "sameAs" : "",
    "url" : "https://rheodata.com/en-us/blog/author/bobby-curtis"
  },
  "dateModified" : "10/11/2025",
  "datePublished" : "10/11/2025",
  "headline" : "Similarity Search with Oracle’s Vector Datatype",
  "image" : {
    "@type" : "ImageObject",
    "height" : 400,
    "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/Imported_Blog_Media/similarity_search_oracle_vector_datatype-1024x640-1.png",
    "width" : 750
  },
  "mainEntityOfPage" : "https://rheodata.com/en-us/blog/similarity-search-oracle-vector-datatype",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://50642793.fs1.hubspotusercontent-na1.net/hubfs/50642793/RheoData%20-%20Logo%20-%20transparent-1.png"
    },
    "name" : "RheoData",
    "url" : "rheodata.com"
  }
}
```