반응형
설명
직렬화는 객체를 저장 가능한 상태(예를 들어 디스크에 파일 형태 등) 혹은 전송 가능한 상태(네트워크 상의 데이터 스트림 형태)로 변환하는 것을 뜻한다.
- 응용 프로그램에서 쓰는 데이터를 네트워크를 통해 전송하거나 DB 또는 파일에 저장 가능한 형식으로 바꾸는 프로세스
- 데이터 객체(데이터 저장소 영역 안에서 표현되는 코드와 데이터의 조합)를 전송하기 쉬운 형태로 객체 상태를 저장하는 일련의 바이트로 바꾸는 과정
※ 역직렬화(Deserialization)
외부 소스에서 데이터를 읽고 이를 런타임 객체로 바꾸는 반대 프로세스
일련의 바이트에서 데이터 구조 또는 객체를 구성하는 역 프로세스
특징
- 제3자와 데이터를 교환하는 대부분의 앱에서 필수적인 부분
- JSON 및 프로토콜 버퍼와 같은 일부 데이터 직렬화 형식은 특히 일반적
- 언어 중립적이고 플랫폼 중립적이기 때문에 모든 현대 언어로 작성된 시스템 간에 데이터 교환이 가능
데이터 직렬화 포맷
1. CSV, XML, JSON 형태의 직렬화
- 사람이 읽을 수 있다
- 저장 공간의 효율성이 상대적으로 떨어지고, 파싱 하는 시간이 오래 걸린다
- 주로 데이터의 양이 적을 때 사용한다
2. Binary 직렬화
- 사람이 읽을 수 없다
- 저장 공간의 효율성이 상대적으로 높고, 파싱 하는 시간이 빠르다
- 주로 데이터의 양이 많을 때 사용한다
- 모든 시스템에서 사용 가능하다
3. java 직렬화
- java 시스템 간의 데이터 교환이 필요할 때 사용한다
- Serializable 인터페이스를 구현함으로써 사용가능하다
반응형
'IT > etc' 카테고리의 다른 글
scale-up, scale-out (0) | 2025.02.26 |
---|---|
[DataFormat] YAML (0) | 2025.02.25 |
[DataFormat] XML (0) | 2025.02.25 |
정규표현식 (Regular Expressions) (0) | 2025.02.25 |
[DataFormat] JSON (0) | 2025.02.25 |