2012-03-31 2 views
0

로그 대신 DB에 모든 트랜잭션을 저장하지만 테이블을 크고 느리게 만들지 않으므로 cron 작업을 생성하려고합니다. 같은마다 몇 달에 뭔가를 : table_backup 3과 같은 새 테이블 뭔가 하드 드라이브테이블을 백업하고 레코드를 삭제하는 Ruby/Bash 스크립트

1 백업 2 이동 모든 레코드를 테이블은 해당 테이블

이 방법에서 레코드를 삭제 케이스 인서트는 거대한 테이블로 많은 시간을 들여야합니다. 테이블은 몇 개월마다 해제 될 것입니다.

Please Please DB 테이블에 액세스하기 위해 활성 레코드 모델을 가진 루비를 사용하지 않고, 그런 일을하는 가장 좋은 방법은 무엇이라고 생각하니, 내가 제안한 것에 대한 대안이 있습니까?

답변

1

나는 다음과 같은 제안 :

  1. 중복 - 데이터가 얼마나 중요한에 따라, 당신은 중복 저장을 할 수 있습니다 (예를 들어, 마스터 - 슬레이브 데이터베이스 설정, 또는 RAID 장치의 데이터베이스)
  2. 백업 -이 시간별/일별/주간 백업 (다시는 이러한 백업을 유지하는 것이 얼마나 중요한에 따라, 당신은 당신이지고 얼마나 많은 트래픽 및 미치는 영향은 무엇인가, 그들을 위해 얼마나 많은 공간을 감당할 수 데이터베이스에서).
  3. 잘라 내기 - 어떤 임계 값 (2 주?)보다 오래된 모든 항목을 삭제하는 cron 작업 (이 작업을 쉽게 수행 할 수있는 whenever gem을 확인하십시오)이 있습니다. 이전 항목을 삭제하기 위해 새 테이블을 채울 필요가 없습니다.

나는 이러한 접근 방식은 직교 생각, 그래서 당신은 사람들이 당신을 맞게 중 선택, 또는 먼저 중요한 (들)을 구현할 수 있습니다.

+0

직교? 8면이 있다는 뜻인가요? – pguardiario

+0

미안하지만, 나는 옥토코토늄이라고 말했어 야했다. –

관련 문제