다음을 통해 공유


보존 정책

적용 대상: ✅Microsoft Fabric✅Azure Data Explorer

보존 정책은 테이블 혹은 구체화된 보기에서 데이터를 자동으로 제거하는 메커니즘을 제어해 드립니다. 테이블로 지속적으로 전달되고 관련성이 연령 기반인 데이터를 제거하는 것이 유용합니다. 예를 들어 이 정책은 2주 후에 관련성이 없어질 수 있는 진단 이벤트를 보유하는 테이블에 사용할 수 있습니다.

보존 정책은 특정 테이블 또는 구체화된 뷰 또는 전체 데이터베이스에 대해 구성할 수 있습니다. 그런 다음, 정책을 재정의하지 않는 데이터베이스의 모든 테이블에 정책이 적용됩니다. 정책이 데이터베이스 및 테이블 수준에서 모두 구성된 경우 테이블의 보존 정책이 데이터베이스 정책보다 우선합니다.

보존 정책을 설정하는 것은 데이터를 지속적으로 수집할 때 중요하므로 비용이 제한됩니다.

보존 정책이 "외부"인 데이터는 제거할 수 있습니다. 제거가 발생하는 경우 구체적인 보장은 없습니다. 보존 정책이 트리거되더라도 데이터가 "느린" 상태가 될 수 있습니다.

보존 정책은 수집 이후 데이터의 기간을 제한하도록 가장 일반적으로 설정됩니다. 자세한 내용은 SoftDeletePeriod를 참조하세요.

참고 항목

  • 삭제 시간이 정확하지 않습니다. 시스템은 한도를 초과하기 전에는 데이터가 삭제되지 않도록 보장하지만 해당 시점 직후에는 삭제되지 않습니다.
  • 일시 삭제 기간 0은 테이블 수준 보존 정책의 일부로 설정할 수 있지만 데이터베이스 수준 보존 정책의 일부로 설정할 수는 없습니다.
  • 이 작업이 완료되면 수집된 데이터가 원본 테이블에 커밋되지 않으므로 데이터를 유지할 필요가 없습니다. 따라서 Recoverability .로만 설정할 Disabled수 있습니다.
  • 이러한 구성은 주로 데이터가 테이블에 수집될 때 유용합니다. 트랜잭션 업데이트 정책은 트랜잭션을 변환하고 출력을 다른 테이블로 리디렉션하는 데 사용됩니다.
  • 구체화된 뷰보존 정책은 원본 테이블이 아닌 뷰에만 영향을 줍니다. 원본 데이터는 영향을 받지 않습니다.

정책 개체

보존 정책에는 다음 속성이 포함됩니다.

  • SoftDeletePeriod:
    • 데이터를 쿼리에 사용할 수 있도록 보장하는 시간 범위입니다. 이 기간은 데이터가 수집된 시간부터 측정됩니다.
    • 기본값은 1,000 years입니다.
    • 테이블 또는 데이터베이스의 일시 삭제 기간을 변경할 때 새 값은 기존 데이터와 새 데이터에 모두 적용됩니다.
  • 복구 가능성:
    • 데이터가 삭제된 후의 데이터 복구 기능(사용/사용 안 함)입니다.
    • 기본값은 Enabled입니다.
    • 설정 Enabled하면 일시 삭제된 후 14일 동안 데이터를 복구할 수 있습니다.
    • 복구 기간을 구성할 수 없습니다.

관리 명령

Defaults

기본적으로 데이터베이스 또는 테이블을 만들 때는 보존 정책이 정의되어 있지 않습니다. 일반적으로 데이터베이스가 만들어지고 알려진 요구 사항에 따라 작성자가 즉시 보존 정책을 설정합니다. 해당 정책 집합 Policy 이 없는 데이터베이스 또는 테이블의 보존 정책에 대한 명령을 실행 .show 하면 다음과 같이 null표시됩니다.

위에서 언급한 기본값을 사용하는 기본 보존 정책은 다음 명령을 사용하여 적용할 수 있습니다.

.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"

이 명령은 다음 정책 개체를 데이터베이스 또는 테이블에 적용합니다.

{
  "SoftDeletePeriod": "365000.00:00:00", "Recoverability":"Enabled"
}

다음 명령을 사용하여 데이터베이스 또는 테이블의 보존 정책을 지울 수 있습니다.

.delete database DatabaseName policy retention
.delete table TableName policy retention

예제

명명MyDatabase된 데이터베이스가 있는 환경의 경우 테이블 MyTable1MyTable2MySpecialTable.

7일의 일시 삭제 기간 및 복구 기능 사용 안 함

데이터베이스의 모든 테이블을 일시 삭제 기간(7일)으로 설정하고 복구 기능을 사용하지 않도록 설정합니다.

  • 옵션 1(권장): 데이터베이스 수준 보존 정책을 설정하고 테이블 수준 정책이 설정되어 있지 않은지 확인합니다.

    .delete table MyTable1 policy retention        // optional, only if the table previously had its policy set
    .delete table MyTable2 policy retention        // optional, only if the table previously had its policy set
    .delete table MySpecialTable policy retention  // optional, only if the table previously had its policy set
    .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled
    .alter-merge materialized-view ViewName policy retention softdelete = 7d 
    
  • 옵션 2: 각 테이블에 대해 일시 삭제 기간이 7일이고 복구가 비활성화된 테이블 수준 보존 정책을 설정합니다.

    .alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled
    .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled
    .alter-merge table MySpecialTable policy retention softdelete = 7d recoverability = disabled
    

7일의 일시 삭제 기간 및 복구 가능

  • 테이블을 MyTable1 MyTable2 설정하고 일시 삭제 기간을 7일로 설정하고 복구 기능을 사용하지 않도록 설정합니다.

  • 일시 삭제 기간을 14일로 설정하고 복구 기능을 사용하도록 설정합니다 MySpecialTable .

  • 옵션 1(권장): 데이터베이스 수준 보존 정책을 설정하고 테이블 수준 보존 정책을 설정합니다.

    .delete table MyTable1 policy retention   // optional, only if the table previously had its policy set
    .delete table MyTable2 policy retention   // optional, only if the table previously had its policy set
    .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled
    .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
    
  • 옵션 2: 각 테이블에 대해 관련 일시 삭제 기간 및 복구 가능성을 사용하여 테이블 수준 보존 정책을 설정합니다.

    .alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled
    .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled
    .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
    

7일의 일시 삭제 기간 및 MySpecialTable 데이터를 무기한 유지

테이블을 MyTable1 MyTable2 설정하고 일시 삭제 기간을 7일 MySpecialTable 로 설정하고 데이터를 무기한 유지합니다.

  • 옵션 1: 데이터베이스 수준 보존 정책을 설정하고, 일시 삭제 기간이 1,000년인 테이블 수준 보존 정책을 기본 보존 정책 MySpecialTable으로 설정합니다.

    .delete table MyTable1 policy retention   // optional, only if the table previously had its policy set
    .delete table MyTable2 policy retention   // optional, only if the table previously had its policy set
    .alter-merge database MyDatabase policy retention softdelete = 7d
    .alter table MySpecialTable policy retention "{}" // this sets the default retention policy
    
  • 옵션 2: 테이블 및 MyTable2테이블 MyTable1 수준 보존 정책을 설정하고 데이터베이스 수준 및 테이블 수준 정책이 MySpecialTable 설정되지 않은지 확인합니다.

    .delete database MyDatabase policy retention   // optional, only if the database previously had its policy set
    .delete table MySpecialTable policy retention   // optional, only if the table previously had its policy set
    .alter-merge table MyTable1 policy retention softdelete = 7d
    .alter-merge table MyTable2 policy retention softdelete = 7d
    
  • 옵션 3: 테이블 MyTable1 의 경우 테이블 MyTable2수준 보존 정책을 설정합니다. 테이블 MySpecialTable의 경우 기본 보존 정책인 일시 삭제 기간이 1,000년인 테이블 수준 보존 정책을 설정합니다.

    .alter-merge table MyTable1 policy retention softdelete = 7d
    .alter-merge table MyTable2 policy retention softdelete = 7d
    .alter table MySpecialTable policy retention "{}"