1

내 App Engine에 대한 분석 데이터 (누군가가 페이지 X를로드하고 js 플러그인을로드하고 거래를 취소 할 때)를 기록하고 싶습니다.AppEngine Analytics 모델에 시간 목록이 있습니다.

다음과 같이 설정합니다.
1. 이벤트 X가 발생합니다.
2.이 이벤트를 데이터 저장소에 넣으려면 태스크 대기열에 추가하십시오.
3. 데이터 저장소를 필터링하여 사용 데이터를 그래프로 만들고 분석합니다.

여기에 문제가 있습니다. 하나의 Analytics 모델을 만들고 각 이벤트를 해당 작업의 해당 목록에 타임 스탬프로 저장하고 싶습니다. 이 단일 모델을 데이터 저장소의 여러 인스턴스에 분할하고 각각을 임의로 작성한 다음 그 결과를 그래프로 결합합니다.

하지만 GAE에서는 목록을 필터링 할 수 없으므로 모든 이벤트에 대해 필터를 적용 할 수는 없습니다 (실제로하고 싶은 부분입니다).

도움이나 의견을 보내 주시면 감사하겠습니다.

답변

0

모델을 조각 낼 이유가 없습니다. 주어진 종류의 이름으로 가질 수있는 엔티티의 수에는 제한이 없습니다. 어쨌든 동일한 BigTable에 모두 저장됩니다!

목록에서 필터링해야하는 작업이 명확하지 않습니다. 당신은 명확히 할 수 있습니까? 어떤 종류의 쿼리를 수행 하시겠습니까?

+0

기본적으로 페이지가로드 될 때 또는 누군가가 로그인 할 때 타임 스탬프를 기록하려고한다고 가정합니다. 그런 다음 그래프 등의 타임 스탬프 데이터 포인트에 대한 분석을 실행할 수 있기를 원합니다. GAE에서 가장 좋은 방법은 무엇입니까? ? 나는 각 데이터 포인트 (공간 낭비)에 대해 하나의 Model 인스턴스를 저장하고 싶지 않지만 모든 인스턴스를 동일한 인스턴스에 넣을 수는 없다 (사인 DB 쓰기가 블로킹). 더 좋습니까? – Barbara

+0

@Barbara 항목 당 모델 인스턴스가이 작업을 수행하는 가장 좋은 방법입니다. 가능한 한 많은 필드를 인덱스로 설정하여 공간 사용을 최소화하고 짧은 종류의 이름과 속성 이름을 사용하십시오 (코드에서 사용하는 이름과는 별도로 지정할 수 있음). –

0

이 데이터를 앱에 기록하는 대신 Google 애널리틱스와 같은 적절한 분석 소프트웨어를 앱에 삽입하는 방법을 고려해 보셨습니까?

로그인이 필요한 경우에도 앱이 정상적인 웹 사이트와 완전히 다르지는 않습니다. Google 웹 로그 분석은 단순히 데이터를 데이터 저장소에 저장하는 것보다 훨씬 효과적인보고 기능을 제공합니다.

이전의 공연에서 Omniture와 비슷한 작업을했는데, 예를 들어 특정 브라우저에만 집중할 수있게 해주는 등 훌륭하게 작동했습니다.

관련 문제