2017-12-04 4 views
0

Datastore의 key은 삽입 날짜순으로 주문했지만 나쁘다고 생각했습니다. 정기적으로 Datastore에서 새로운 엔티티를 찾아서 가져 와서 처리해야합니다.새 엔티티 만 가져 오기

지금까지는 마지막으로 가져온 key을 저장하고 그보다 큰 값을 잘못 쿼리했습니다.

이렇게하는 방법이 있습니까?

미리 감사드립니다.

답변

1

데이터 스토어가 자동으로 생성 된 키는 검색을보다 효율적으로 수행하기 위해 균일 한 분포로 생성됩니다. 키를 사용하여 마지막으로 추가 된 엔터티를 이해할 수 없습니다.

대신에 여러 가지 방법을 시도해 볼 수 있습니다.

  1. 또 다른 백그라운드 작업이이 마지막으로 추가 된 항목을 소비 할 수 있도록 Pub/Sub 및 아키텍처를 사용하십시오. 엔티티에서 DB에 추가하면 키 이벤트로 Pub/Sub에 새 이벤트를 게시하기 만하면됩니다. 이벤트 리스너 (별도의 루틴)가 이벤트 리스너를 수신합니다.

  2. 사용자 이름을 사용하고 사용자 정의 이름을 생성하십시오. 그러나 순차적으로 늘어나는 이름을 만들려는 경우 큰 데이터 범위가 아니라도이 경우 성능이 저하됩니다. 자세한 내용은 Google Datastore 모범 사례에서 확인할 수 있습니다. https://cloud.google.com/datastore/docs/best-practices#keys

  3. 추가 생성 시간 열을 추가 할 수 있으며 자동 키 생성을 계속 사용할 수 있습니다.

+0

고맙습니다! 내 솔루션을 재고해야합니다! –