Open chominyeong opened 8 months ago
일반적인 업무 시스템에서 사용되는 데이터베이스
레코드 단위의 읽고 쓰기에 최적화
ex. Oracle Database, MySQL 등의 RDB(관계형데이터베이스)
테이블의 각 행을 하나의 덩어리로 디스크에 저장
새 레코드를 추가하면 파일의 끝에 데이터를 추가한다.
매일 발생하는 대량의 트랜잭션을 지연 없이 처리한다.
행지향 데이터베이스는 데이터 검색 고속화를 위해 '인덱스(index)'를 만든다.
그러나 데이터분석에서는 컬럼이 중요하기 때문에 거의 도움이 되지 않는다.
따라서 인덱스에 의지하지 않는 고속화 기술 필요
집계 시스템 종류 | 스토리지의 종류 | 최적의 레코드 수 |
---|---|---|
RDB | 행 지향 | ~수천만 정도 |
MPP 데이터베이스 | 열 지향(하드웨어 일체형) | 수억~ |
대화형 쿼리 엔진 | 열 지향(분산 스토리지에 보관) | 수억~ |
MPP가 하드웨어 일체형이면 일반인은 써볼 기회가 없을 것 같은디..
2-1 크로스 집계의 기본
☑트랜잭션 테이블(cross table)
☑크로스 테이블(cross table)
☑크로스 집계(cross tabulation)
☑피벗 테이블(pivot table)
✅피벗 테이블 기능에 의한 크로스 집계
☑룩업 테이블(lookup table)
✅1) BI 도구에 의한 크로스 집계
✅2) Pandas에 의한 크로스 집계
✅3) SQL에 의한 테이블의 집계