TreasureData에서 과거 데이터 삭제

2509 단어 TreasureData

개요



이미 TD 상의 테이블에 저장되어 있는 과거 데이터를 지우는 대략으로 나누어 두 가지 방법이 있다.
  • 기간을 지정하여 삭제 명령 실행 (partial_delete)
  • CLI

  • 일정 기간 경과에 의한 자동 삭제 설정(Expire)
  • 웹 콘솔
  • CLI


  • 여기서 말하는 「과거 데이터」이지만, 이것은 「데이터의 작성일(time)」을 기준으로 하고 있다.

    본 엔트리에서는 상기의 굵은체로 표기되어 있는 2개의 순서에 대해 정리한다.

    절차



    partial_delete



    기간을 지정하여 데이터를 삭제할 수 있는 명령입니다.
    속도에 관해서는, 50억 레코드 삭제로 대체로 10분 정도.
    폭속이다.

    매뉴얼은 다음과 같습니다.
    htp // // cs. t 어째서였다. 코 m / 아 rc c ぇ s / ぇ 치온

    매뉴얼에도 쓰고 있지만, 커맨드 예로서는 이하와 같이 실행하면 좋다고 생각한다.
    td table:partial_delete example_db table1 --from '2014-01-01 00:00:00 JST' --to '2015-01-01 00:00:00 JST'

    이것은 작년 1 년분의 데이터 삭제를 실행하는 명령입니다.
    그러면 다음과 같은 작업이 달린다.
    DELETE FROM table1 WHERE 1388502000 <= time AND time < 1420038000
    

    from <= time < to 의 범위에서 삭제를 실시한다.

    주의해 주었으면 하는 것이, 시각 표기상은 분초까지 지정할 수 있는 것처럼 보이지만, 실제로는 1시간 단위까지 밖에 지정할 수 없다고 하는 점. 즉, 다음과 같은 기간 지정은 불가능합니다.
    td table:partial_delete example_db table1 --from '2014-01-01 00:00:00 JST' --to '2014-12-31 23:59:59 JST'
    

    위를 실행하려고하면 오류가 표시되므로 즉시 알 수 있습니다.

    Expire



    테이블에 설정하면 time이 일정 기간을 경과한 데이터가 자동으로 삭제된다. 예를 들면 어떤 로그를 최근 1개월만 TD상에 유지해 두고 싶다고 하는 때 어쩐지 사용할 수 있다.

    이쪽은 CLI에서도 할 수 있지만 모처럼 웹 콘솔에서 설정 가능하게되어 있으므로 여기에서 설정하는 것이 좋다고 생각한다.

    매뉴얼로서는
    htp // // cs. t 어쨌든. 코 m / 아 rc c ぇ s / dabase-an d-da b ぇ # e x Pirin g-data-f-ro m-da b ぇ

    절차

    1. 테이블 설정 화면에서 Settingsタブ 열기
    2. Expire data?를 Yes로 설정
    3. afterテキストボックス 에 일수 입력
    4. Update Tableボタン


    위의 예라면 150일이 지난 데이터는 자동 삭제된다. 데이터가 TD상에 저장되면 대체로 5개월 정도는 유지되고, 그 이후는 삭제된다는 것이다.

    Expire 설정을 실시한 시점에서 5개월 전 이전의 데이터가 모두 삭제되므로 주의

    요약



    TD는 점점 돌진할 수 있으므로 편리합니다만, 계약 내용에 따릅니다만 너무 쌓이면 이용 가능 상한에 이르게 되므로, Expire 설정을 실시할지 기간 지정에 의한 데이터 삭제를 해 갑시다

    좋은 웹페이지 즐겨찾기