File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -81,3 +81,27 @@ Delta Lake 개념
8181 - 3 ) list 연산을 피하라. 가능하다면 사전식 키 범위로 요청하라.
8282
8383## Existing Approaches for Table Storage
84+
85+ 오브젝트 스토어에 tabluar 데이터 저장을 위한 기존 접근법들
86+
87+ ** 1. Directories of Files**
88+ - 레코드들이 디렉토리 기반으로 파티션되는 구조. hive-style partitioning이 여기에 해당한다. 파티션 컬럼에 따라 쪼개진다.
89+ - 일부 파티션만 접근하면 되므로 list와 읽기 연산을 줄일 수 있다.
90+ - 장점 : 테이블이 객체 덩어리이므로 추가적인 데이터 저장 체계 없이도 여러 도구들에서 읽을 수 있음.
91+ - 단점 : 객체 덩어리라 성능과 동시성 문제 발생.
92+ - 여러 객체 간 원자성 없음: 부분 읽기, 쓰기 문제 발생. 트랜잭션 실패 시 충돌된 상태로 남음.
93+ - eventual consistency: 트랜잭션이 성공하더라도 일부는 갱신되지 않은 상태를 볼 수 있음.
94+ - 낮은 성능: 쿼리와 연관된 객체를 찾기 위한 리스팅이 비싸다. parquet나 orc파일의 객체별 통계 접근이 느리다.
95+ - 운영 기능 없음: 테이블 버저닝, 감사 로그 등의 데이터 웨어하우스 표준 유틸리티가 없음.
96+
97+ ** 2. Custom Storage Engines.**
98+ - 일부 데이터 웨어하우스들은 자체 저장 엔진을 사용한다.
99+ - 단점
100+ - 모든 입출력 연산이 메타데이터 서비스를 거쳐야 한다. 이는 자원 비용 증가, 성능 및 가용성 저하를 초래한다.
101+ - parquet와 같은 오픈 포맷을 사용하지 않아서 spark, tensorflow등 다른 도구에서 접근하려면 엔지니어링 공수가 든다.
102+ - 특정 서비스 제공자에 종속된다.
103+ - Apache Hive ACID는 hive metastore를 사용하여 ORC포맷으로 저장된 여러 파일의 갱신 상태를 저장하는데, 이는 메타스토어의 성능 문제로 병목이 되곤 했다.
104+
105+ ** 3. Metadata in Object Stores**
106+ - delta lake의 접근법으로 트랜잭션 로그와 메타데이터를 오브젝트 스토어에 직접 저장한다.
107+ - parquet 포맷으로 저장하고 다른 도구에서 접근할 수 있다.
You can’t perform that action at this time.
0 commit comments