NDJSON 파일이란?
NDJSON — 줄 단위 JSON
어떤 형식인가요?
NDJSON은 완전한 JSON 객체 하나를 한 줄에 담으며, 이를 감싸는 대괄호나 줄 사이의 쉼표가 없습니다. 각 줄은 다른 줄과 무관하게 독립적으로 해석됩니다.
대용량 데이터를 다룰 때 이 방식의 장점이 두드러집니다. 일반적인 JSON 파일은 전체를 메모리에 불러온 뒤에야 처리할 수 있지만, NDJSON은 한 줄씩 읽어 들이면 됩니다. 덕분에 메모리가 8GB뿐인 컴퓨터로도 50GB짜리 파일을 처리할 수 있습니다.
역사와 유래
스트리밍 방식의 데이터 처리가 확산되면서, 파일 전체를 한꺼번에 불러오는 방식이 감당할 수 없을 만큼 데이터양이 커지자 이 관행은 자연스럽게 자리를 잡았습니다.
이후 애플리케이션 로그와 대용량 데이터베이스 내보내기 작업에서 사실상의 표준 형식으로 굳어졌습니다.
어떤 점이 좋은가요
파일 전체 용량과 관계없이 한 줄씩 스트리밍 방식으로 처리할 수 있습니다.
한 줄이 손상되어도 나머지 데이터는 영향을 받지 않습니다. 반면 일반 JSON은 쉼표 하나만 잘못 놓여도 파일 전체를 읽을 수 없게 됩니다.
한계와 단점
엄밀히 말해 유효한 JSON은 아니어서, 일반적인 JSON 파서는 이를 거부합니다.
공식 명세가 없다 보니 구현마다 조금씩 다른 변형이 존재합니다.
활용 팁
로그, 대량 데이터 내보내기, 데이터 스트림 처리에는 NDJSON이 적합한 선택입니다.
스프레드시트에서 다루려면 CSV로 변환하십시오. 단, 데이터 구조가 평평한(중첩되지 않은) 경우에만 가능합니다.
프랑스에 있는 안전한 서버에서 NDJSON 파일을 몇 초 만에 변환하세요.
NDJSON 변환하기