Datastream의 스트림은 이전 데이터를 백필하고 진행 중인 변경사항을 대상으로 스트림할 수 있습니다. 스트림을 만들 때 스트림의 소스 데이터베이스에 대한 정보가 구성되었습니다.
이전 데이터 백필 체크박스를 선택한 경우 Datastream이 데이터 변경사항 외에도 모든 기존 데이터를 소스에서 대상으로 스트리밍합니다.
이 체크박스를 선택하지 않았으면 Datastream이 데이터의 변경사항만 스트리밍합니다. Datastream이 모든 기존 데이터의 스냅샷을 소스에서 대상으로 스트리밍하도록 하려면 이 데이터가 포함된 객체에 대해 백필을 시작해야 합니다. 객체는 데이터베이스 스키마, 테이블, 열 형식입니다.
소스와 대상 사이에 데이터가 동기화되지 않은 경우에도 객체 백필을 시작해야 합니다. 예를 들어 사용자가 대상에서 데이터를 의도치 않게 삭제하여 데이터가 손실될 수 있습니다. 이 경우 객체 백필을 시작하면 모든 데이터가 한 번에 대상으로 스트리밍되기 때문에 객체 백필이 '재설정 메커니즘'과 같이 사용됩니다. 그 결과 소스와 대상 사이에 데이터가 동기화됩니다.
객체에 대해 백필을 시작한 후에는 백필을 중지할 수 있습니다. 위 예시에서는 사용자가 데이터베이스 스키마를 수정하고 스키마 또는 데이터가 손상됩니다. 이러한 스키마 또는 데이터가 대상으로 스트리밍되지 않아야 하므로 객체에 대해 백필을 중지합니다.
또한 부하 분산 목적으로 객체 백필을 중지할 수도 있습니다. Datastream은 여러 백필을 병렬로 실행할 수 있습니다. 그러면 소스에 추가 부하가 발생할 수 있습니다. 이러한 부하가 상당히 크면 객체 백필을 중지하고 하나씩 백필을 시작합니다.
객체 상태
객체에 대한 백필 시작 및 중지 수명 주기에는 다음과 같은 여러 상태가 포함됩니다.
상태 없음 (UI에서 -로 표시됨): 객체에 이 상태가 수신되는 이유는 다음과 같습니다.
스트림이 시작되지 않았습니다.
이전 데이터 백필 체크박스가 선택되지 않았습니다 (따라서 백필이 수동으로 정의됨).
객체가 자동 백필에서 명시적으로 제외되었습니다.
스트림은 향후 테이블을 포함하도록 구성됩니다. 이 경우 새 테이블이 소스에 추가되면 일반적으로 새 테이블에 백필할 '이전' 데이터가 포함되지 않기 때문에 이에 대해 자동 백필 태스크가 생성되지 않습니다.
Pending: 객체에 대해 백필이 아직 시작되지 않았습니다.
Active: 객체에 대해 백필이 진행 중입니다.
Completed: 객체에 대해 백필이 완료되었습니다.
Stopped: 객체에 대해 백필이 중지되었습니다. 객체에 대해 백필이 다시 시작되었으면 Datastream이 객체와 관련된 모든 기존 데이터를 소스에서 대상으로 스트리밍합니다.
객체를 하나만 선택했으면 대화상자에서 객체 백필 시작을 클릭합니다. 그렇지 않고 여러 객체를 선택했으면 여러 객체 백필 선택을 클릭합니다.
Datastream이 선택한 객체에 대해 백필을 시작하고 각 객체의 상태가 Pending에서 Active 및 Completed로 변경됩니다. 객체 상태가 Completed이면 Datastream이 객체의 모든 데이터를 읽었지만 데이터가 아직 대상에 로드되고 있을 수 있다는 의미입니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eDatastream can backfill historical data and stream ongoing changes from a source database into a destination.\u003c/p\u003e\n"],["\u003cp\u003eBackfill can be initiated to stream all existing data from source objects (schemas, tables, columns) into the destination, or to resync data if it's out of sync.\u003c/p\u003e\n"],["\u003cp\u003eBackfill can be stopped to prevent corrupted schema or data from being streamed, or for load balancing if multiple backfills are overloading the source.\u003c/p\u003e\n"],["\u003cp\u003eObjects in a stream have various statuses like \u003ccode\u003ePending\u003c/code\u003e, \u003ccode\u003eActive\u003c/code\u003e, \u003ccode\u003eCompleted\u003c/code\u003e, \u003ccode\u003eStopped\u003c/code\u003e, and \u003ccode\u003eFailed\u003c/code\u003e, which indicate the state of the backfill process.\u003c/p\u003e\n"],["\u003cp\u003eThe object tab can be used to initiate or stop backfill for objects, and view additional information including status, recent events, total size of data streamed, and details of the table columns.\u003c/p\u003e\n"]]],[],null,["# Manage backfill for the objects of a stream\n\nA stream in Datastream can backfill historical data, as well as stream ongoing changes into a destination. As part of creating a stream, you [configured information about the source database for the stream](/datastream/docs/create-a-stream#configuresourcedbinfo).\n\nIf you selected the **Backfill historical data** checkbox, then Datastream will stream all existing data, in addition to changes to the data, from the source into the destination.\n\nIf you didn't select this checkbox, then Datastream will stream only changes to the data. To have Datastream stream a snapshot of all existing data from the source to the destination, you must initiate backfill for the objects that contain this data. The objects are in the form of database schemas, tables, and columns.\n\nAnother reason for initiating backfill for an object is if data is out of sync between the source and the destination. For example, a user can delete data in the destination inadvertently, and the data is now lost. In this case, initiating backfill for the object serves as a \"reset mechanism\" because all data is streamed into the destination in one shot. As a result, the data is synced between the source and the destination.\n\nAfter initiating backfill for an object, you can stop backfill for it. In the preceding example, the user modifies the database schema, and the schema or data is corrupted. You don't want this schema or data to be streamed into the destination, and so you stop backfill for the object.\n\nYou can also stop backfill for objects for load balancing purposes. Datastream can run multiple backfills in parallel. This may put an additional load on the source. If the load is significant, stop backfill for the objects, and then initiate backfill for them, one by one.\n\nObject statuses\n---------------\n\nThe various statuses in the lifecycle of initiating and stopping backfill for an object include:\n\n- No status (represented in the UI as `-`): Reasons for an object receiving\n this status include:\n\n - The stream hasn't been started.\n - The **Backfill historical data** checkbox wasn't selected (so the backfill is defined as manual).\n - The object is excluded explicitly from being backfilled automatically.\n - The stream is configured to include future tables. If this happens, then when new tables are added to the source, there's no automatic backfill task created for them (because new tables typically don't have any \"historical\" data to backfill).\n\n | **Note:** For more information, see [Configure information about the source database for the stream](/datastream/docs/create-a-stream#configuresourcedbinfo).\n- `Pending`: backfill hasn't yet started for the object.\n\n- `Active`: backfill is in progress for the object.\n\n- `Completed`: backfill is completed for the object.\n\n- `Stopped`: backfill is stopped for the object. If backfill is initiated\n again for the object, then Datastream will stream all existing data\n associated with the object from the source into the destination.\n\n- `Failed`: backfill failed for the object and the backfill must be initiated\n again.\n\nInitiate backfill\n-----------------\n\n1. Go to the **Streams** page in the Google Cloud Console.\n\n [Go to the Streams page](https://console.cloud.google.com/datastream/streams)\n2. Click the stream that contains objects for which you want to initiate backfill.\n\n3. Click the **OBJECTS** tab.\n\n4. Select the checkbox for each object for which you want to initiate backfill.\n\n5. Click **INITIATE BACKFILL**.\n\n \u003cbr /\u003e\n\n | If an object has a status of `Pending` or `Active`, then you can't initiate backfill for the object.\n\n \u003cbr /\u003e\n\n6. If you selected only one object, then in the dialog, click **INITIATE OBJECT BACKFILL** . Otherwise, if you selected multiple objects, then click **INITIATE OBJECT BACKFILLS**.\n\n Datastream will start backfill for the objects that you selected, and\n the status of each object will change from `Pending` to `Active` to\n `Completed`. When an object has a status of `Completed`, this means that\n Datastream has read all the data for the object, but the data might\n still be loading to the destination.\n | If an object has a status of `Failed`, then backfill failed for the object, and you must initiate the backfill again.\n\nStop backfill\n-------------\n\n1. Go to the **Streams** page in the Google Cloud Console.\n\n [Go to the Streams page](https://console.cloud.google.com/datastream/streams)\n2. Click the stream that contains objects for which you want to stop backfill.\n\n3. Click the **OBJECTS** tab.\n\n4. Select the checkbox for each object for which you want to stop backfill.\n\n5. Click **STOP BACKFILL**.\n\n \u003cbr /\u003e\n\n | If an object has a status of `Completed`, `Stopped`, or `Failed`, then you can't stop backfill for the object.\n\n \u003cbr /\u003e\n\n6. If you selected only one object, then in the dialog, click **STOP OBJECT BACKFILL** . Otherwise, if you selected multiple objects, then click **STOP OBJECT BACKFILLS**.\n\n Datastream will stop backfill for the objects that you selected, and the status of each object will change to `Stopped`.\n\n When an object has this status, backfill is stopped for the object. If backfill is initiated again for the object, then Datastream will stream all existing data associated with the object from the source into the destination.\n\n| You can also use the **OBJECTS** tab to view additional information about the objects of a stream. This information includes:\n|\n| - The status of the objects.\n| - How many events Datastream processed and loaded into the destination for an object in the last 7 days.\n| - The total size (in GB) of all events that Datastream processed and loaded into the destination for an object in the last 30 days.\n| - Details about the table columns of the database schemas that are streamed from the source into the destination.\n\nWhat's next\n-----------\n\n- To learn more about streams, see [Stream lifecycle](/datastream/docs/stream-states-and-actions).\n- To learn how to view information about your stream, see [View a stream](/datastream/docs/view-a-stream).\n- To learn how to modify a stream, see [Modify a stream](/datastream/docs/modify-a-stream).\n- To learn how to monitor a stream, see [Monitor a stream](/datastream/docs/monitor-a-stream).\n- To learn how to recover a failed stream, see [Recover a stream](/datastream/docs/recover-a-stream)."]]