{
  "id": "oracle-oci-streaming-vs-google-cloud-pub-sub",
  "ids": [
    "oracle-oci-streaming",
    "google-cloud-pub-sub"
  ],
  "title": "Oracle OCI Streaming vs Google Cloud Pub/Sub: stream ingestion, consumers and retention design",
  "heading": "Oracle OCI Streaming vs Google Cloud Pub/Sub",
  "kicker": "Cloud software comparison",
  "deck": "OCI Streaming uses a stream-and-partition workflow; Pub/Sub uses topics and subscriptions. Decide which consumer and retention model the application needs, then validate ordering, acknowledgement and recovery under the selected configuration.",
  "description": "Compare Oracle OCI Streaming vs Google Cloud Pub/Sub for stream ingestion, consumers and retention design.",
  "answerHeading": "Which option fits the requirement?",
  "answer": "OCI Streaming uses a stream-and-partition workflow; Pub/Sub uses topics and subscriptions. Decide which consumer and retention model the application needs, then validate ordering, acknowledgement and recovery under the selected configuration.",
  "checkedAt": "2026-10-25",
  "researchTag": "Deployment, compatibility and cost scope",
  "researchLimit": "Official product material reviewed. Acceptance checks are proposed exercises, not completed product trials, performance measurements or reliability guarantees.",
  "datasetDescription": "Seven technical differences and four proposed acceptance checks for Oracle OCI Streaming vs Google Cloud Pub/Sub.",
  "type": "workflow-buying",
  "sharedBuyingNeed": "Evaluate alternative approaches to stream ingestion, consumers and retention design.",
  "rows": [
    [
      "Provider or platform",
      "Oracle Cloud Infrastructure",
      "Google Cloud"
    ],
    [
      "Product scope",
      "Managed stream ingestion and consumption",
      "Topic and subscription messaging"
    ],
    [
      "Working resource",
      "Streams, partitions and configured clients",
      "Topics and configured subscriptions"
    ],
    [
      "Application interface",
      "Streaming APIs and supported client arrangements",
      "Pub/Sub APIs and supported delivery interfaces"
    ],
    [
      "Operating responsibility",
      "Partition keys, consumer processing, retention and permissions",
      "Subscription delivery, acknowledgements, retention and permissions"
    ],
    [
      "Evaluation focus",
      "Required client protocol, ordering, retention and recovery",
      "Required messaging model, ordering and consumer recovery"
    ],
    [
      "Cost components",
      "Selected stream traffic, retention and supporting resources",
      "Selected message traffic, retention and connected resources"
    ]
  ],
  "scenarios": [
    {
      "name": "Representative task",
      "question": "Can the team replay a known authorised event sequence and restart a disposable consumer?",
      "left": "With Oracle OCI Streaming, replay a known authorised event sequence and restart a disposable consumer.",
      "right": "With Google Cloud Pub/Sub, replay a known authorised event sequence and restart a disposable consumer.",
      "note": "The application can explain ordering, redelivery and recovery for the selected configuration."
    },
    {
      "name": "Access scope",
      "question": "Can the team run the authorised test with distinct permitted and restricted identities?",
      "left": "With Oracle OCI Streaming, run the authorised test with distinct permitted and restricted identities.",
      "right": "With Google Cloud Pub/Sub, run the authorised test with distinct permitted and restricted identities.",
      "note": "Only intended identities can access the configured resources."
    },
    {
      "name": "Failure handling",
      "question": "Can the team exercise a safe failed request and document retry or recovery?",
      "left": "With Oracle OCI Streaming, exercise a safe failed request and document retry or recovery.",
      "right": "With Google Cloud Pub/Sub, exercise a safe failed request and document retry or recovery.",
      "note": "The application can explain and handle the failure without unintended side effects."
    },
    {
      "name": "Complete estimate",
      "question": "Can the team document the selected configuration, expected usage and connected resources?",
      "left": "With Oracle OCI Streaming, document the selected configuration, expected usage and connected resources.",
      "right": "With Google Cloud Pub/Sub, document the selected configuration, expected usage and connected resources.",
      "note": "The estimate includes the actual billed units and required supporting services."
    }
  ],
  "exampleTable": {
    "caption": "Proposed checks using authorised non-production resources or copied projects. Record versions, configuration, licences, inputs and observed results.",
    "headers": [
      "Requirement",
      "Proposed exercise",
      "Accept when"
    ],
    "rows": [
      [
        "Representative task",
        "Replay a known authorised event sequence and restart a disposable consumer.",
        "The application can explain ordering, redelivery and recovery for the selected configuration."
      ],
      [
        "Access scope",
        "Run the authorised test with distinct permitted and restricted identities.",
        "Only intended identities can access the configured resources."
      ],
      [
        "Failure handling",
        "Exercise a safe failed request and document retry or recovery.",
        "The application can explain and handle the failure without unintended side effects."
      ],
      [
        "Complete estimate",
        "Document the selected configuration, expected usage and connected resources.",
        "The estimate includes the actual billed units and required supporting services."
      ]
    ]
  },
  "sections": [
    {
      "id": "scope-and-architecture",
      "navLabel": "Architecture",
      "title": "Scope and architecture",
      "paragraphs": [
        "OCI Streaming uses a stream-and-partition workflow; Pub/Sub uses topics and subscriptions. Decide which consumer and retention model the application needs, then validate ordering, acknowledgement and recovery under the selected configuration.",
        "Stream logs and subscription messaging are related but different abstractions. Verify the actual client protocol and delivery behaviour; provider terminology does not prove equivalent ordering or processing guarantees."
      ],
      "links": [
        {
          "url": "https://docs.oracle.com/en-us/iaas/Content/Streaming/home.htm",
          "label": "Oracle OCI Streaming product information"
        },
        {
          "url": "https://docs.cloud.google.com/pubsub/docs?hl=en",
          "label": "Google Cloud Pub/Sub product information"
        }
      ]
    },
    {
      "id": "cost-and-migration",
      "navLabel": "Costs & migration",
      "title": "Cost and migration planning",
      "paragraphs": [
        "For Oracle OCI Streaming, include selected stream traffic, retention and supporting resources. For Google Cloud Pub/Sub, include selected message traffic, retention and connected resources. Define the same task, configuration, data and operating assumptions, then confirm current terms for the selected products and connected resources.",
        "Replay authorised test events with known identifiers, restart a disposable consumer and inspect duplicates, missing records and retained-event access."
      ]
    }
  ],
  "faqs": [
    {
      "question": "How should we choose between Oracle OCI Streaming and Google Cloud Pub/Sub?",
      "answer": "OCI Streaming uses a stream-and-partition workflow; Pub/Sub uses topics and subscriptions. Decide which consumer and retention model the application needs, then validate ordering, acknowledgement and recovery under the selected configuration."
    },
    {
      "question": "Which costs belong in the comparison?",
      "answer": "For Oracle OCI Streaming, include selected stream traffic, retention and supporting resources. For Google Cloud Pub/Sub, include selected message traffic, retention and connected resources. Define the same task, configuration, data and operating assumptions, then confirm current terms for the selected products and connected resources."
    },
    {
      "question": "What should we validate before a production move?",
      "answer": "Replay authorised test events with known identifiers, restart a disposable consumer and inspect duplicates, missing records and retained-event access."
    }
  ],
  "sources": [
    {
      "url": "https://docs.oracle.com/en-us/iaas/Content/Streaming/home.htm",
      "facts": "Official product scope, deployment and integration context used for stream ingestion, consumers and retention design."
    },
    {
      "url": "https://docs.cloud.google.com/pubsub/docs?hl=en",
      "facts": "Official product scope, deployment and integration context used for stream ingestion, consumers and retention design."
    }
  ],
  "relatedLinks": [
    {
      "path": "/categories/data-platforms/",
      "title": "Data Platforms software"
    },
    {
      "path": "/categories/data-integration-engineering/",
      "title": "Data Integration Engineering software"
    },
    {
      "path": "/guides/cloud-cost-checklist/",
      "title": "Cloud workload and cost checklist"
    }
  ]
}
