. 데이터 저장소에는 실제로 업데이트 개념이 없습니다. 기존 엔티티를 동일한 주소 (키)의 새 엔티티로 덮어 쓰면됩니다. 엔티티를 변경하려면 데이터 저장소에서 가져 와서 로컬로 수정 한 다음 다시 저장해야합니다.
LIKE 연산자와 동일한 기능도 없습니다. 와일드 카드 접미사 일치는 일부 트릭에서 가능하지만 '% Salt %'와 일치 시키려면 모든 단일 항목을 메모리에 읽고 문자열 비교를 로컬에서 수행해야합니다.
그래서 SQL만큼 깨끗하거나 효율적이지는 않습니다. 이것은 대부분의 분산 객체 저장소와의 단점이 있으며 데이터 저장소도 예외는 아닙니다.
즉, 이러한 일괄 업데이트를 용이하게하기 위해 the mapper library을 사용할 수 있습니다. 예제를 따라하고 process
기능이 같은 것을 사용 : 매퍼 외에 다른 대안이있다
def process(entity):
if entity.city.startswith('Salt'):
entity.city = entity.city.replace('Salt', 'Olympic')
yield op.db.Put(entity)
. 가장 중요한 최적화 팁은 업데이트를 배치하는 것입니다. 각 업데이트 된 엔티티를 개별적으로 저장하지 마십시오. 매퍼와 산출물 풋을 사용하면 자동으로 처리됩니다.
Drew- 매퍼 참조 용으로 대단히 감사합니다. 배울 점이있는 것처럼 보입니다. – Yarin