데이터베이스
종량제 데이터베이스에서 커서 페이지네이션이 `skip`보다 나은 이유
`skip(N)`은 건너뛰는 모든 문서를 읽고 폐기하며, 읽기당 비용이 청구되는 데이터베이스에서는 이 모든 문서에 대해 요금이 부과됩니다. 다음은 그 계산법과 이를 대체하는 쿼리, 그리고 순서를 안정적으로 유지하는 동점 처리기입니다.
태그
`skip(N)`은 건너뛰는 모든 문서를 읽고 폐기하며, 읽기당 비용이 청구되는 데이터베이스에서는 이 모든 문서에 대해 요금이 부과됩니다. 다음은 그 계산법과 이를 대체하는 쿼리, 그리고 순서를 안정적으로 유지하는 동점 처리기입니다.
데이터베이스가 자동 쓰기 재시도를 금지하는 경우, 모든 쓰기는 그 자체로 멱등성을 가져야 합니다. 콘텐츠에서 파생된 ID를 사용하면 이를 비용 없이 달성할 수 있습니다. 여기에 그 유도 과정과 안전성을 보장하는 한 가지 불변식이 있습니다.
Firestore는 MongoDB 와이어 프로토콜을 지원하지만, 재시도 가능 쓰기는 거부합니다. 드라이버에서 이 기능이 기본적으로 활성화되어 있으면, 쓰기가 무작위로 실패하는 것처럼 보입니다. 그 이유와 해결 방법은 다음과 같습니다.