데이터를 직렬화는 메모리의 객체를 전달 혹은 디스크에 저장하기 위해서 특정 형태로 변환하는 것.
- txt, json, csv... (스몰데이터 직렬화)
- avro, parquet (빅데이터 직렬화)
그냥 사용하면 안됨??
힙, 스택 메모리에서 참조 형식 데이터는 사용할 수 없고 value type 값만 사용할 수 있음
(python에서는 mutable immutable)
왜??
예를 들어,
1. 힙 메모리의 값(주소, 0X001)을 직렬화 했다고 치고
2. 그 데이터를 역직렬화 해서 다른 컴퓨터에서 정상적으로 받았다고 가정하면 (0X001)
3. 역직렬화 한 데이터는 아무 의미 없는 데이터(값이 아닌 주소 값이므로 다른 PC에서는 해당 주소 값에 다른 값이 저장되어 있음)
+ 효율적으로 직렬화를 하기 위한 노력
Avro, parquet(얘네는 스키마가 있는 데이터를 직렬화 함)
'Data Engineer' 카테고리의 다른 글
Big Data World, Part 3: Building Data Pipelines (0) | 2021.11.28 |
---|---|
Big Data World, Part 2: Roles (0) | 2021.11.28 |
Big Data World, Part 1: Definitions (0) | 2021.11.28 |
댓글