해결해야 할 흥미로운 문제가 있습니다. Postgres에 테이블 A가 있습니다. 이 테이블은 일련의 작업이있는 대기열처럼 취급됩니다. ID는 Postgres의 증분 ID입니다.Postgres 테이블에서 ID가있는 사용자 정의 AWS 클라우드 워치 메트릭을 생성합니다.
현재 처리 된 위치 (ID)와 최대 ID 수를 포함하는 측정 항목이 필요합니다. 그 두 숫자는 1 초마다 누적됩니다.
효율적인 방법이 있습니까?
이 테이블에서선택 blablah 후 최소 ID를 얻기 위해 ASC
에 의해1 개 순서를 제한하고를 사용
내 머리 위에 가장 쉬운 방법은 매 10 초 (변화)이 SQL 쿼리를 실행하는 것입니다 가장 큰 ID를 얻기위한 동일한 접근법.
하지만이 명령은 비용이 많이 듭니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
이 대신 RDS의 위해 SQS를 사용하지 않는 이유라도? – user184994
단일 트랜잭션에는 큐에서 태스크 읽기, 2 개의 테이블 (비즈니스 관계) 업데이트 및 해당 작업 삭제가 포함됩니다. 그래서 우리는 ACID를 이용하여 3 개의 테이블을 사용합니다. –
Dynamo와 트랜잭션 라이브러리를 사용하여이 디자인을 향상시킬 수 있습니다. 지금까지 Dynamo 트랜잭션 라이브러리를 사용하고있는 사람이 있는지 확인하지 않았습니다. –