2013-05-16 4 views
0

DynamoDB에 다소 익숙하기 때문에 다음을 수행해야합니다.Amazon DynamoDB + Rails 2.3.18

  1. 티켓은 여러 장소 (우리는 Mysql에 저장)에서 생성됩니다.
  2. 각 티켓에는 N 개의 활동이 있고 N은 각 티켓마다 다릅니다.
  3. 더 빠른 검색을 위해 DynamoDB에 티켓 활동을 저장할 계획입니다.

    다음

    1. 활동 ID (내가 생성하는 것이다 UUID) => 활동 자료
    2. 각 티켓 (티켓 ID를에서 (키 => 값과 같이) DynamoDB의에 저장 내 계획 내 RDBMS) => 활동 ID의 배열 ..

그래서, 내가 같은 쿼리 나에게 티켓을위한 모든 활동을 표시 할 수 있습니다.

이제 진짜 문제는 ..

어떻게 처리 할 수 ​​있습니까? 예 : 티켓 활동 만 볼 수있는 액세스 권한이 있거나 티켓의 모든 활동을 볼 수있는 사용자가있을 수 있습니다 ..

어떻게 데이터를 발전기에 저장할 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.

발전기의 다른 유형의 저장소도 깊은 평가를받습니다.

답변

0

UUID가 암호화 된 경우 사용자는 다른 사용자의 티켓 활동을 추측 할 수 없으므로 쿼리 할 수 ​​없습니다.

일반적으로 적용되지 않는 응용 프로그램 수준 <에 유효성 검사가없는 경우입니다.

데이터베이스는 일반적으로 사용자의 유효성을 검사 한 후 작성된 쿼리를 사용하여 응용 프로그램에 의해 쿼리됩니다. 응용 프로그램은 수퍼 유저 (admin)이므로 dynamodb에서 원하는 항목을 얻을 수 있지만 응용 프로그램 수준에서 쿼리 자체를 인증해야합니다.

DynamoDb에는 항목 별 인증이 없습니다. 앱에서 알아낼 필요가 있습니다.

사용자의 세부 사항을 위해 MySQL 솔루션을 계속 사용할 수 있으며, 예를 들어 사용자의 (암호화 된) 해시를 DynamoDb의 키로 사용할 수 있습니다.

사용자 세부 정보 구성을 DynamoDb의 다른 테이블로 이동할 수도 있습니다. 그러나 특정 질문이없는 한 사용자 세부 정보 구성을 너무 광범위하고 구체적으로 처리 할 수 ​​없습니다.

+0

감사합니다. Chen ... DynamoDB의 쿼리 기능은 어떻습니까? 나는 많은 액티비티들을 가지고 있다고 가정한다. (예를 들어, 티켓 아이디, 그것을 한 사람, created_at 등등 ...). 하나 또는 2 또는 3 속성의 조합을 기반으로 쿼리 할 수 ​​있습니까 ?? 그게 허용됩니까? 검색 할 수있는 링크가 있습니까? LSI에 대해 읽었습니다. 그러나 과 같은 질문을 할 수 있습니다. 1. 티켓 (주어진 티켓 아이디)에 대한 모든 활동을 제공하십시오. 2. 지난 2 분간 최근 활동을 말하십시오 (예 : ) 3. 모든 활동 – Venky

관련 문제