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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions