Skip to content

[Volume 2][Chapter 03] Q&A #19

@kihyun-yang

Description

@kihyun-yang

기현

p87

  • 위치정보 저장을 위한 통신 프로토콜로 왜 HTTP를 사용하며 어떻게 keep-alive 옵션을 사용하면 효율을 높일 수 있는 것일까?
    • 서버에 연속적으로 동일한 클라이언트(단말)가 요청을 보낼 가능성이 높아서 효율이 높은 것일까?
    • 동일한 클라이언트에서 서버로 실시간 요청이 많이 발생하는 경우 keep-alive 옵션을 사용하면 효율을 높일 수 있다고 일반화할 수 있는 것일까?

p94

  • 애플리케이션이 지속적으로 수집한 사용자 위치 데이터를 통해 끊임없이 개선된다?
    • 사용자가 움직인 위치 데이터에 따라 도로 데이터를 갱신한다는 말인가?

p98

  • user_id는 파티션 키, timestamp는 클러스터링 키?
    • 카산드라에서 파티션키와 클러스터링 키가 무엇인지?
      image
      • Cassandra에서 파티션 키는 데이터를 저장하는 노드를 결정(파티션 키에 해시를 적용하여 각 노드에 할당하는 방식)하고, 클러스터링 키는 노드 내에 데이터가 저장되는 방법을 결정.
      • 예를 들어 다음과 같은 테이블이 있다고 가정.
        • PRIMARY KEY (city_id, event_id)
          • 이 기본 키는 두 개의 열로 표시되는 두 부분으로 구성
          • city_id 가 파티션 키. 즉, 데이터는 city_id 필드를 기준으로 분할되어 동 한 city_id 가진 모든 행이 동일한 노드에 저장된다.
          • event_id 클러스터링 키 역할을 합니다. 각 노드 내에서 데이터는 event_id 열을 기준으로 정렬된 순서로 구성 및 저장된다.
      • 참고
    • 즉, 특정 사용자의 특정 기간 내 위치를 효율적으로 읽을 수 있음.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions