0

저는 새 프로젝트에 GAE + NDB를 사용하는 방법을 피하고, 조상 쓰기를 위해 초당 1 개의 쓰기 제한에 관심이 있습니다. 정보가 누락되었을 수 있으므로 도움을 요청하게되어 기쁩니다.NDB : 1/s 쓰기가 초과되면 어떻게됩니까?

몇 명의 사용자가 주문을 처리한다고 말합니다. 모든 새로운 "주문"엔티티가 동일한 고유 조상을 가지고있는 경우, 5 명의 사용자가 각각 새로운 주문을 만들고 동시에 5 명이 모두 "저장"을하면 어떻게 될까요?

당신은 그 연루가 무엇인지 알 수 있습니까?

감사합니다.

+0

다른 하나는 실패하지만 다른 하나는 실패합니다. 모든 새로운 엔티티를 공통 조상으로 두는 것은 많은 수의 경합 오류를내는 좋은 방법입니다. – Patrice

+0

@Patrice - 정확히는 아닙니다. 내 대답을 보라. –

답변

1

당신의 사용 사례에서 아무런 문제가 발생하지 않을 것입니다. 모든 쓰기가 성공할 것입니다. 일부는 App Engine에서 내부적으로 재 시도 할 수 있지만 걱정하지 않아도됩니다. 상당 기간 동안이 비율을 초과 할 것으로 예상되는 경우에만 우려해야합니다. 그런 다음 재 시도가 이전 재 시도의 맨 위에오고 커밋이 실패 할 수 있습니다. 당신의 모범을 보일 때, 문제가되기 전에 미친 듯이 그 명령에 따라 일하는 수백만 명의 사람들이 필요할 것입니다. 문서 (강조 광산)에서

: 당신은 너무 빨리 단일 엔티티 그룹에 쓰기를 시도 할 때

타임 아웃의 첫 번째 유형은 발생합니다. 단일 엔티티 그룹에 대한 쓰기는 이며 App Engine 데이터 저장소에 의해 일련 화되므로 에 하나의 엔티티 그룹을 얼마나 빨리 업데이트 할 수 있는지에 대한 제한이 있습니다. 일반적으로이 방법은 을 초당 1 ~ 5 건의 업데이트로 처리합니다. 좋은 가이드 라인 그룹이 연장 기간 일 때 초당 두 개 이상의 업데이트를 유지해야한다고 예상 할 경우 을 다시 설계하는 것이 좋습니다.

+0

안녕하세요, Andrei, 답변 해 주셔서 감사합니다. 필자의 경우, 같은 조상을 가진 엔티티에서 동시에 많은 양의 사용자가 노려 보는 일은 결코 없을 것입니다. – kxtronic