
379
8
장
복잡한 데이터셋 생성
뷰를 사용하면 데이터에 쿼리를 수행하는 사람 모두가 동일한 데이터를 확인할 수 있습니다. 예
를 들어, 테스트용 트랜잭션이 필터링된 데이터 테이블을 뷰로 만들면 접근하는 사람 모두가 테
스트용 트랜잭션이 필터링된 결과를 확인합니다. 이렇게 분석하기 좋은 형태로 뷰를 만들어놓으
면 이용하는 사람이 원래 로직의 복잡성을 이해할 필요도 없고, 데이터 분석 초보자나 데이터에
가끔씩만 접근하는 사용자에게도 편리합니다. 또한, 보안을 추가해 원본 데이터의 특정 행이나
열에 접근하지 못하도록 하기도 합니다. 예를 들어, 뷰를 생성할 때 이메일 주소 등 개인 식별 정
보를 제외하면 뷰에 접근하는 사람들은 개인 식별 정보를 제외한 고객 정보만 보게 됩니다.
다만 몇 가지 단점도 있습니다. 뷰는 데이터베이스에 오브젝트
object
로 존재하므로 뷰를 생성하거
나 뷰 정의를 업데이트하려면 별도의 권한이 필요합니다. 또한 뷰는 실제 데이터를 저장하고 있
지 않아, 뷰에서 쿼리를 실행할 때마다 데이터베이스가 원본 테이블에 접근해 데이터를 가져와
야 합니다. 따라서 데이터 테이블을 직접 생성하는
ETL
을 완전히 대체하지는 못합니다.
대부분의 데이터베이스에서 지원하는
구체화 뷰
materialized
view
는 뷰와 비슷하지만 쿼리 결과를
실제 테이블로 저장합니다. ...