1

비슷한 크기의 다른 10 개 언어로 50,000 단어 사전과 이에 상응하는 사전을 저장하는 appengine 응용 프로그램을 만들고 싶다고합시다.appengine 장난감 프로그램 읽기 및 쓰기에 대한 할당량 한도 적용

내 dev 서버에서 로컬로 작업하고 있지만 실제 응용 프로그램 서버에 첫 번째 사전을로드 할 때 즉시 할당량을 기록했습니다. 얼마나 많은 사전 항목이 데이터 저장소에 들어 왔는지 전혀 알지 못했습니다. 그래서 24 시간 후에 사전을 대량 다운로드하고 실제로 얼마나 많은 항목이 있는지 보았습니다.하지만 하루에 할당량을 읽었을 때 문제가 생기지 않았습니다. 일일 최대 금액 인 $ 1.00을 설정하여 청구를 사용하도록 설정하고 벌크 로더를 통해 할당량을 조회했지만 문제가 발생하거나 비용이 1.00 달러가되지 않았습니다.

어쨌든 내 데이터 저장소 뷰어를 살펴 보았고 각 사전 단어가 데이터 저장소에 8 개의 쓰기를 필요로한다는 것을 보여줍니다.

이렇게하면 이런 종류의 응용 프로그램이 appengine에 적합하지 않습니까? 거기에 사전을 저장하려고하지 않아야합니까? 이것을하는 더 똑똑한 방법이 있습니까? 예를 들어 사전을 파일 형식으로 BLOB 저장소에 저장 한 다음 프로그래밍 방식으로 그곳에서 프로그래밍 할 수 있습니까?

어떤 제안

답변

2

그것은 당신이 그렇게 문제가있는 데이터를 받고, 순전히을 읽고 작성 후 훨씬 적은을 읽는됩니다 가능성이 높습니다 주셔서 감사합니다.

현재 구성을 사용하려면 쓰기 속도가 느려지면됩니다. 그러면 아마 각 단어를 ID (원하는 단어 자체)로 가져올 수 있습니다. 따라서 원하는대로 정확히 읽고 빨리 작게 표현할 수 있습니다.

다음 작업을 수행 할 수 있습니다. 소스 데이터를 문자 당 1 개의 파일로 잘라냅니다. 해당 파일을 응용 프로그램과 함께 업로드하고 각 파일을 차례로 읽은 다음 천천히 데이터 스토어에 쓰는 작업을 만듭니다. 일단 작업이 완료되면 마지막 작업은 다음 작업을 호출하는 것입니다.

완료하는 데 일주일이 걸릴 수도 있지만, 일단 거기에 있으면 훨씬 더 편리 할 것입니다. 불투명 한 블롭을 블롭 저장소에서 가져 와서 실제로 관심있는 모든 단어 1 개당 N 개의 단어를 읽은 다음 모든 단어를 풀고 처리하십시오.

대량 다운로더를 사용하여 데이터를 업로드 할 수도 있습니다!

+0

나는 이것을 좋아한다. 고마워. 이것이 가능하다는 것을 알면 기쁘다. 나는 "너는 할 수 없다"거나 그와 비슷한 것을들을 까봐 두려웠다. 제안 해 주셔서 감사합니다. – slashdottir

+0

실제로 제가 사용하고있는 bulkloader.py는 할당량에 너무 빨리 도달했지만 무작위로 실행되고 일주일 정도 소요될 수있는 작은 배치로 스크립팅하는 아이디어를 좋아하지만 적어도 수행 할 수 있습니다. thx – slashdottir

+1

백엔드로 무언가를 할 수도 있지만, 하루에 약 9 시간 동안 무료로 실행할 수 있지만 오랜 시간이 걸리는 작업을 실행할 수 있으므로 여기에 대해 원하는 방식에 따라 유용 할 수 있습니다. https://developers.google.com/appengine/docs/python/backends/ –