이 문서는 BigQuery의 테이블 클론에 관해 간략하게 설명합니다.
이 문서는 BigQuery 및 BigQuery 테이블에 익숙한 사용자를 대상으로 작성되었습니다.
테이블 클론은 다른 테이블(기본 테이블이라고 함)의 경량 사본으로서 쓰기가 가능합니다. 기본 테이블과 다른 테이블 클론의 데이터를 저장하는 경우에만 요금이 청구되므로 처음에는 테이블 클론에 대한 스토리지 비용이 발생하지 않습니다. 스토리지의 청구 모델과 기본 테이블의 일부 추가 메타데이터를 제외하면 테이블 클론은 표준 테이블과 유사하여 쿼리, 복사, 삭제 등을 수행할 수 있습니다.
테이블 클론의 일반적인 사용 사례는 다음과 같습니다.
개발 및 테스트에 사용할 수 있는 프로덕션 테이블의 사본을 만듭니다.
사용자가 모든 프로덕션 데이터를 물리적으로 복사하지 않고 자체 분석 및 데이터 조작을 생성하도록 샌드박스를 만듭니다.
변경된 데이터만 청구됩니다.
테이블 클론을 만든 후 테이블 클론은 기본 테이블과 독립적으로 존재합니다. 기본 테이블 또는 테이블 클론의 변경사항은 서로에게 반영되지 않습니다.
같은 프로젝트의 데이터 세트 간에, 다른 프로젝트의 데이터 세트 간에 테이블을 클론할 수 있습니다. 하지만 테이블 클론의 대상 데이터 세트는 클론되는 테이블과 같은 리전 및 조직에 있어야 합니다. 예를 들어 EU 기반 데이터 세트의 테이블을 US 기반 데이터 세트에 클론할 수 없습니다.
테이블 데이터 세트의 시간 이동 기간보다 오래되었기 때문에 테이블 데이터를 클론할 수 없습니다.
테이블 클론을 만들 때 기존 테이블 또는 테이블 클론을 덮어쓸 수 없습니다. 자세한 내용은 테이블 이름 지정을 참조하세요.
쓰기 최적화 스토리지에 데이터가 있는 테이블을 클론할 경우(최근에 스트리밍된 행의 스트리밍 버퍼) 쓰기 최적화된 스토리지의 데이터가 테이블 클론에 포함되지 않습니다.
시간 이동에 데이터가 있는 테이블을 클론할 경우 시간 이동 데이터가 테이블 클론에 포함되지 않습니다.
테이블 클론은 탐색기 창의 표준 테이블과 구분할 수 없습니다. 하지만 테이블 세부정보를 확인하여 표준 테이블과 테이블 클론을 알 수 있습니다.
테이블 클론 세부정보에는 표준 테이블에 없는 기본 테이블 정보 섹션이 있습니다.
클론 작업을 사용하여 기존 테이블에 데이터를 추가할 수 없습니다. 예를 들어 --append_table=true 및 --clone=true 플래그 설정을 동일한 bq cp 명령어에 사용할 수는 없습니다. 테이블을 복제할 때 데이터를 추가하려면 복사 작업을 대신 사용하세요.
테이블 클론을 만들 때 해당 이름은 테이블을 만들 때와 동일한 이름 지정 규칙을 따라야 합니다.
[[["이해하기 쉬움","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-07-26(UTC)"],[[["\u003cp\u003eTable clones are writable, lightweight copies of a base table, incurring storage costs only for data that differs from the base table.\u003c/p\u003e\n"],["\u003cp\u003eCommon uses for table clones include creating development/testing environments and sandboxes for user analytics without duplicating all production data.\u003c/p\u003e\n"],["\u003cp\u003eTable clones are independent of their base tables, meaning changes to one are not reflected in the other.\u003c/p\u003e\n"],["\u003cp\u003eTable clones have similar functionality to standard tables, allowing for querying, access control, and deletion, among other operations.\u003c/p\u003e\n"],["\u003cp\u003eStorage costs for table clones are incurred when data is added, updated, or if data is changed or deleted in the base table that also exist in the clone.\u003c/p\u003e\n"]]],[],null,["# Introduction to table clones\n============================\n\nThis document gives an overview of table clones in BigQuery.\nIt is intended for\nusers who are familiar with [BigQuery](/bigquery/docs)\nand BigQuery [tables](/bigquery/docs/tables-intro).\n\nA *table clone* is a lightweight, writable copy of another table\n(called the *base table*). You are only charged for storage of data in the\ntable clone that differs from the base table, so initially there is no storage\ncost for a table clone. Other than the billing model for storage, and some\nadditional metadata for the base table, a table clone is similar to a\nstandard table---you can query it, make a copy of it, delete it, and so on.\n\nCommon use cases for table clones include the following:\n\n- Creating copies of production tables that you can use for development and testing.\n- Creating sandboxes for users to generate their own analytics and data manipulations, without physically copying all of the production data. Only the changed data is billed.\n\nAfter you create a table clone, it is independent of the base table. Any changes\nmade to the base table or table clone aren't reflected in the other.\n\nIf you need read-only, lightweight copies of your tables, consider using\n[table snapshots](/bigquery/docs/table-snapshots-intro).\n\nTable clone metadata\n--------------------\n\nA table clone has the same metadata as a standard table, plus the following:\n\n- The project, dataset, and name of the table clone's base table.\n- The time of the table clone operation. If [time travel](/bigquery/docs/time-travel) was used to create the table clone, then this is the time travel timestamp.\n\nFor more information, see\n[INFORMATION_SCHEMA.TABLES](/bigquery/docs/information-schema-tables).\n\nTable clone operations\n----------------------\n\nIn general, you use table clones in the same way as you use\n[standard tables](/bigquery/docs/managing-tables), including the following\noperations:\n\n- Querying\n- Access control\n- Getting metadata\n- Partitioning and clustering\n- Working with schemas\n- Deleting\n\nHowever, the creation of a table clone is different from the creation of a\nstandard table. For more information, see\n[Create table clones](/bigquery/docs/table-clones-create).\n\nStorage costs\n-------------\n\n[Storage costs](/bigquery/pricing#storage) apply for table clones,\nbut BigQuery only charges for the data in a table\nclone that is not already charged to another table:\n\n- When a table clone is created, there is initially no storage cost for the\n table clone.\n\n- If data is added or changed in a table clone, then you are charged for the\n storage of the added or updated data.\n\n- If data is deleted in a table clone, then you are not charged for the storage\n of the deleted data.\n\n- If data is changed or deleted in the base table that also exists in a table\n clone, then you are charged for the table clone storage of the changed or\n deleted data. If there are multiple clones that contain the changed or\n deleted data, you are only charged for the storage used by the oldest clone.\n\n- If data is added to the base table after the table clone was\n created, then you aren't charged for storage of that data in the table clone,\n but you are charged for it in the base table,\n\nThe difference between base table and table clone storage charges is shown in\nthe following image:\n\n| **Note:**\n| - Because BigQuery storage is column-based, small changes to the data in a base table can result in large increases in storage cost for a clone of the table.\n| - Some changes to a base table can result in you being charged the full storage amount for a table clone of the table. For example, if you modify a base table with [clustering](/bigquery/docs/creating-clustered-tables#modifying-cluster-spec), that can lead to automatic re-clustering. Because re-clustering can rewrite the base table's storage blocks, the base table's storage is no longer the same as the storage of its clones. This causes the oldest of the base table's clones to be charged the full storage amount of the modified partition.\n| - Partitions can help reduce storage costs for table clones. In general, BigQuery only makes a copy of modified data within a partition, instead of the entire table clone.\n\nFor more information, see\n[BigQuery storage pricing](/bigquery/pricing#storage).\n\nLimitations\n-----------\n\n- You can clone a table between datasets in the same project, and between datasets in different projects. However, the destination dataset for the table clone must be in the same [region](/bigquery/docs/locations), and under the same [organization](/resource-manager/docs/creating-managing-organization), as the table being cloned. For example, you cannot clone a table from an EU-based dataset into a US-based dataset.\n- You can't create a clone of a table's data as it was further back than the duration of the [time travel](/bigquery/docs/time-travel) window for the table's dataset.\n- You can't create a clone of a [view](/bigquery/docs/views-intro) or a [materialized view](/bigquery/docs/materialized-views-intro).\n- You can't create a clone of an [external table](/bigquery/docs/external-tables).\n- If you clone a table that has data in write-optimized storage (the [streaming buffer for recently streamed rows](/bigquery/docs/streaming-data-into-bigquery#dataavailability)), the data in the write-optimized storage is not included in the table clone.\n- If you clone a table that has data in [time travel](/bigquery/docs/time-travel), the data in time travel is not included in the table clone.\n- Table clones can't be distinguished from standard tables in the **Explorer** pane. However, you can tell a table clone from a standard table by [looking at the table details](/bigquery/docs/tables#get_table_information_using_information_schema). Table clone details have a **Base Table Info** section that standard tables don't.\n- You can't use a clone operation to append data to an existing table. For example, you can't use the flag settings `--append_table=true` and `--clone=true` in the same [`bq cp`](/bigquery/docs/reference/bq-cli-reference#bq_cp) command. To append data when duplicating a table, use a copy operation instead.\n- When you create a table clone, its name must adhere to the same [naming rules](/bigquery/docs/tables#table_naming) as when you create a table.\n- Table clone creation is subject to BigQuery [limits](/bigquery/quotas#copy_jobs) on copy jobs.\n- The time that BigQuery takes to create table clones might vary significantly across different runs because the underlying storage is managed dynamically.\n\nQuotas and limits\n-----------------\n\nTable clones are subject to the same quotas and limits as standard tables. For\nmore information, see\n[table quotas and limits](/bigquery/quotas#table_limits). They also have\n[table clone limits](/bigquery/quotas#table_clones) that apply.\n\nWhat's next\n-----------\n\n- [Create a table clone](/bigquery/docs/table-clones-create)."]]