Conference & Lecture

[웨비나] AWS TechCamp / AWS Clean Rooms를 활용한 프라이빗한 데이터 공유 환경 구축

Bay Im 2024. 9. 4. 11:43
  • 데이터 협업의 필요성
    • 빅데이터→ 스마트 데이터 시대로 변환하고 있다.
    • 방대한 데이터에서 양질의 데이터가 필요하다는 소리
  • AWS Clean Rooms
    • 데이터 협업 서비스
    • 데이터를 공유하지 않아도 여러 사용자와 데이터를 분석하고 협업 가능

실습

데이터 협업하기

  • Clean Rooms 공동 작업 생성
    • Clean Rooms- 공동 작업- 공동 작업 생성 클릭
    • 세부 정보
      • 이름: Newsnow_collaboration
      • 설명: Collaboration with Newsnow data
    • 멤버
      • 멤버 1: Streamwave, ID는 자동 부여
      • 멤버 2: Newsnow, ID는 제공한 ID 사용
    • 멤버 자격
      • 쿼리 실행: 본인
      • 쿼리에서 결과 수신: 전체 멤버 클릭
    • 쿼리 로깅
      • 로그 스토리지 켜기 클릭
    • 버킷
      • aws-clean-rooms-query-results-{계정ID} 버킷을 선택
    • 컴퓨팅 비용 지불 동의 체크 후 공동 작업 및 멤버십 생성 클릭


     
  • 테이블 연결
    • 공동 작업 화면- 테이블 탭- 테이블 연결 클릭
    • 새 테이블 구성 클릭
      • DB 및 테이블 선택
      • 공동 작업에서 허용되는 열: 모든 열 선택
      • 구성된 테이블 세부 정보
        • 이름: StreamWaveTable
      • 새 테이블 구성 클릭
    • 구성된 테이블의 분석 규칙 구성 클릭
      • 분석 규칙 유형: 집계
      • 생성 방법: 가이드 흐름
      • 집계 함수: 원하는 열과 집계 함수 클릭
      • 조인 컨트롤
        • 조인 열 지정: user_id
      • 차원 컨트롤: where 절이나 group by 절 사용할 열 클릭
      • 집계 제약 조건: watch_duration 열, 5
      • 분석 규칙 구성 클릭
    • 이후 공동 작업에 연결 클릭
      • 공동 작업: 해당 공동 작업 클릭 후 테이블 연결 클릭
  • 연결된 테이블에 쿼리 실행
    • 공동 작업 환경- 테이블 탭- 직접 분석 상태- 준비 안 됨 클릭
      • 구성 클릭 후 모든 멤버 선택 후 분석 규칙 구성 클릭
    • 공동 작업 환경- 쿼리 탭- 분석
      • 실행할 쿼리문 작성 후 실행 클릭
        • 예시 쿼리문
          • --예제 1. Newnow 구독자 중 'Politics'카테고리를 찾아본 유저가 Streamwave에서 즐겨보는 컨텐츠 장르, 시청 시간, 평균 별점
            SELECT SUM(a."watch_duration"), a."genre", a."name", COUNT(b."read_time") as newsnow_readtime
            FROM "streamwavetable" a INNER JOIN "newsnow_data" b ON a."user_id"= b."user_id"
            WHERE a."join_year" > '2002' AND b."category" = 'Business'
            GROUP BY a."genre", a."name"
            
            --예제 2. 2002년 이후 가입자 중 Newsnow의 'Business' 아티클을 읽는 사람들이 보는 장르
            SELECT SUM(a."watch_duration"), AVG(a."rating"), a."genre", a."name", COUNT(b."read_time") as newsnow_readtime
            FROM "streamwavetable" a INNER JOIN "newsnow_data" b ON a."user_id"= b."user_id"
            WHERE b."category" = 'Politics'
            GROUP BY a."genre", a."name", b."category"
            
            --예제 3. StreamWave에서 'Mystery' 장르를 시청하는 사람들의 총 시청 시간, 이름을 조회하고 해당 사용자들의 Newsnow의 카테고리별 읽은 시간을 조회
            SELECT SUM(a."watch_duration") as total_duration, a."name", COUNT(b."read_time") as newsnow_readtime, b."category"
            FROM "streamwavetable" a INNER JOIN "newsnow_data" b ON a."user_id"= b."user_id"
            WHERE a."genre" = 'Mystery'
            GROUP BY a."genre", a."name", b."category"
    • 쿼리 실행 완료시 결과에서 확인 가능


 


차등 프라이버시

  • 공동 작업 생성
    • Clean Rooms- 공동 작업- 공동 작업 생성 클릭
    • 세부 정보
      • 이름: Newsnow_collaboration_dp
      • 설명: Newsnow collaboration dp
    • 멤버
      • 멤버 1: Streamwave, ID는 자동 부여
      • 멤버 2: Newsnow, ID는 제공한 ID 사용
    • 멤버 자격
      • 쿼리 실행, 결과 수신: Newsnow 선택
    • 나머지는 기본 값 유지 후 공동 작업 및 멤버십 생성 클릭
  • 구성된 테이블 생성
    • 구성된 테이블- 새 테이블 구성 클릭
      • DB와 테이블 선택
      • 공동 작업에서 허용되는 열: 모든 열 선택
      • 세부 정보
        • 이름: StreamWaveTableDP
      • 새 테이블 구성 클릭
  • 분석 규칭 구성 클릭
    • 유형: 사용자 지정
    • 생성 방법: 가이드 흐름
    • 차등 프라이버시: 켜기
    • 사용자 식별자 열: user_id
    • 모든 쿼리를 생성할 수 있는 AWS 계정: AWS 계정 추가 클릭 후Newsnow 클릭
    • 나머지는 기본 값 유지하고 분석 규칙 구성 클릭
  • 구성된 테이블 공동 작업에 연결
    • 공동 작업에 연결 클릭
      • 위에서 만든 Newsnow_collaboration_dp 선택 후 공동 작업 선택 클릭
    • 기본값 유지 후 테이블 연결 클릭
     
  • 차등 프라이버시 설정 구성하기
    • 차등 프라이버시 설정 구성 클릭
    • 기본값 유지 후 구성 클릭
  • 이후 파트너(newsnow) 계정에서 차등 프라이버시 기반 집계 쿼리 실행 가능
728x90