JSON의 정의

데이터는 무엇보다 중요합니다. 하지만 다양한 종류의 데이터를 어떻게 활용해야 할지 아는 일은 그보다 더 중요하죠. 프로그래머, 개발자, IT 전문가들은 어떤 언어에서든 데이터 구조와 실제 데이터를 다른 언어 및 플랫폼에서 해석 가능한 형식으로 전송할 수 있어야 합니다. JavaScript Object Notation(JSON)은 이를 가능케 하는 데이터 교환 포맷입니다.

JSON이 개발자들 사이에서 인기를 얻게 된 이유는 사람이 읽을 수 있는 문서로 이루어졌기 때문입니다. 이 문서는 역직렬화가 필요하지 않기 때문에 경량에 코딩도 더 적게 필요하고, 처리 속도도 빠릅니다.

JSON 데이터 유형 및 예시

JSON은 파싱 또는 직렬화 없이도 JavaScript 프로그램에서 사용할 수 있습니다. JSON은 JavaScript 객체 리터럴, 배열, 스칼라 데이터를 표현하는 텍스트 기반의 방식입니다.

JSON은 상대적으로 쉽게 읽고 작성할 수 있고, 소프트웨어에서 파싱 및 생성하기도 쉽습니다. 종종 구조화된 데이터를 직렬화해 이를 네트워크에서 교환할 때(보통 서버와 웹 애플리케이션 간) 사용됩니다.

JSON은 여러 데이터 유형으로 세분화할 수 있습니다.

  1. 배열
  2. Boolean
  3. Null
  4. 숫자
  5. 객체
  6. 문자열

배열

배열 데이터 유형은 순서가 지정된 값의 모음입니다. JSON에서 배열 값은 문자열, 숫자, 객체, 배열, Boolean 또는 Null 유형이어야 합니다.

예시


{

"Influencers" :   [ 
{
 "name" : "Jaxon", 
 "age" : 42, 
 "Works At" : "Tech News"
}

{
 "name" : "Miller", 
 "age" : 35
 "Works At" : "IT Day"
}

] 
}
	

Boolean

Boolean 값은 또는 거짓으로 지정됩니다. Boolean 값은 따옴표로 묶이지 않으며 문자열 값으로 취급됩니다.

예시


{ "AllowPartialShipment" : false }
	

Null

Null은 빈 값입니다. 키에 어떤 값도 할당되어 있지 않은 경우 해당 키는 Null로 취급할 수 있습니다.

예시


{ "Special Instructions" : null }
	

숫자

JSON 숫자는 JavaScript의 배정도수 부동소수점 형식을 따릅니다.

예시


{
  "number_1" : 210,
  "number_2" : 215,
  "number_3" : 21.05,
  "number_4" : 10.05
}
	

객체

JSON 객체 데이터는 {}(중괄호) 사이에 삽입된 한 쌍의 이름 또는 값입니다. 키는 반드시 문자열이어야 하며, 쉼표로 구분되고, 고유 값이어야 합니다.

예시


{
  "Influencer" :   { "name" : "Jaxon" ,  "age" : "42" ,  "city" ,  "New York" }
}
	

문자열

JSON의 문자열은 유니코드 문자로 구성되며, 백슬래시(\) 이스케이프 문자를 사용합니다.

예시


{ "name" : "Jones" }
	

JSON과 데이터 유형에 대해 설명했으니, 이제부터는 그 활용법에 대해 알아보도록 하겠습니다.

가장 자주 사용되는 JSON 유형

JSON 튜토리얼

데이터베이스에 저장된 JSON 문서 작업에 활용할 수 있는 새로운 기능들을 확인해 보세요.

JSON 사용 사례

1.사용자 생성 데이터로부터 JSON 객체 생성

JSON은 임시 데이터의 저장에 적합합니다. 예를 들어, 웹사이트에 제출된 양식과 같은 사용자 생성 데이터는 임시 데이터입니다. JSON은 또한 모든 유형의 프로그래밍 언어를 위한 직렬화 데이터 형식으로 사용될 수 있기 때문에 고도의 상호 운용성을 제공합니다.

2.시스템 간 데이터 전송

웹사이트 데이터베이스에는 고객의 우편 주소가 저장되어 있지만, 해당 주소의 유효성 검증을 위해서는 API를 통한 검증이 필요합니다. 해당 주소 데이터를 JSON 형식으로 주소 검증 서비스 API에 전송할 수 있습니다.

3.애플리케이션용 데이터 구성

애플리케이션 개발 시 각 애플리케이션에는 데이터베이스 및 로그 파일 경로 연결에 필요한 인증이 필요합니다. 해당 인증 및 로그 파일 경로를 JSON 파일로 지정해 읽고 사용할 수 있습니다.

4.복잡한 데이터 모델 간소화하기

JSON은 데이터 추출 프로세스를 예측 가능하고 사람이 읽을 수 있는 JSON 파일로 변환함으로써 복잡한 문서를 의미 있는 것으로 식별된 구성 요소로 간소화할 수 있습니다.

JSON이 개발자들 사이에서 인기 있는 이유

JSON은 API 코드 프로그래밍 및 웹 서비스를 통해 성장세를 이어왔습니다. 더욱 빠른 데이터 교환 및 웹 서비스 결과 도출을 지원하기 때문이죠. 또한 애플리케이션 코드 및 직렬화된 표현에서 객체 간 임피던스 불일치도 줄여줍니다. JSON은 텍스트 기반의 경량 언어이며, 추가적인 코드 작업 없이도 손쉽게 파싱이 가능한 데이터 형식입니다. 많은 데이터를 반환 및 표시해야 하는 웹 서비스의 경우 특히 JSON이 이상적인 선택이죠.

JSON 개발자 가이드

Oracle Database에 저장된 JSON 문서 작업에 활용할 수 있는 새로운 기능들을 확인해 보세요.

JSON 개발자 가이드 확인하기

문서 데이터베이스란?

문서 데이터베이스는 문서 지향 정보를 저장, 검색, 관리하기 위해 설계된 비관계형 데이터베이스 유형입니다. 스키마를 사전 정의하는 대신 문서 데이터베이스는 문서로 이루어진 데이터 컬렉션을 저장할 수 있게 해 줍니다. NoSQL 데이터베이스 및 JSON(문서) 데이터베이스는 문서 데이터베이스에 해당합니다. 컨버지드 데이터베이스인 Oracle Database는 문서 저장 워크로드를 기본적으로 지원합니다.

문서 데이터베이스가 개발자들의 사랑을 받는 이유는 데이터를 관계형(구조적) 형식이 아닌 문서 모델 형식(반 구조적)으로 저장하기 때문이죠. 문서 데이터베이스는 관계형 데이터베이스보다 더 큰 유연성을 제공하는데, 개발자가 사전에 스키마를 계획할 필요 없이 애플리케이션 코드에 사용 중인 것과 동일한 형식을 사용할 수 있게 해주기 때문입니다. 다시 말해 SQL 데이터베이스를 위한 신중한 계획이 필요없다는 뜻이죠. 덕분에 문서 데이터베이스는 빠르게 진화하는 스키마에도 유용합니다. 이와 같은 문서 데이터베이스는 앞으로 소프트웨어 개발에 더 흔히 사용될 것으로 보입니다. 하지만 그 대신 속도, 크기, 특수성을 희생해야 할 수 있습니다.

JSON 문서 데이터베이스란?

다양한 JSON 데이터 유형 및 JSON 지향 쿼리 언어를 사용하는 애플리케이션은 JSON 문서 데이터베이스에 저장된 데이터와 상호작용할 수 있습니다. JSON 문서 데이터베이스는 JSON을 위한 네이티브 지원을 제공합니다.

JSON 문서 데이터베이스를 정의하는 특성은 다음과 같습니다:

  • JSON 문서 데이터베이스는 JSON 문서를 저장 및 쿼리하기 위해 설계된 비관계형 데이터베이스입니다.
  • 데이터베이스 내 JSON 데이터는 문서를 기반으로 하지만 해당 텍스트는 Oracle Database 21c의 네이티브 JSON 데이터 유형과 같은 이진 형식을 사용해 저장될 수 있습니다.
  • 데이터베이스에 저장된 JSON 데이터에 액세스하는 일은 Oracle Call Interface(OCI), .NET, Java Database Connectivity(JDBC)를 사용한 다른 데이터베이스 데이터에 액세스하는 것과 유사합니다.
  • JSON 문서 데이터베이스 내의 JSON 데이터는 데이터를 정의할 스키마 없이도 저장, 인덱싱, 쿼리될 수 있습니다.

JSON 문서 데이터베이스 활용법

앞서 언급했듯이 JSON은 문서 교환의 표준을 수립하는 경량 데이터 전송 포맷입니다. 이제 JSON 데이터를 JSON 문서 데이터베이스에 저장하고 이를 관리하는 방법에 대해 알아보도록 하겠습니다.

JSON 데이터 저장하기

JSON 데이터를 JSON 문서 데이터베이스에 저장하면 역직렬화 없이도 문서를 그대로 저장할 수 있습니다. Oracle Database에서는 Oracle Database 21c에서 데이터 유형이 VARCHAR2, CLOB, BLOB 또는 Oracle의 네이티브 이진 JSON 데이터 유형인 열을 사용합니다. 어떤 데이터 유형을 사용할지는 보통 JSON 문서의 크기에 따라 달라집니다. 표준 SQL 데이터 유형을 사용해 JSON 데이터를 데이터베이스에 저장한다는 것은 JSON 데이터가 다른 모든 유형의 데이터처럼 조작될 수 있다는 것을 의미합니다.

JSON 데이터 관리하기

JSON 데이터는 데이터 유형에 관계없이 JSON 문서 데이터베이스에서 테이블로 관리 및 수정될 수 있습니다. 보통은 JSON 문서의 크기에 따라 사용되는 테이블의 종류가 달라집니다. Oracle Database의 특징 중 하나는 열이 포함된 테이블을 JSON 데이터를 사용해 손쉽게 복제할 수 있다는 것입니다.

간단한 Oracle Document 액세스(SODA)

Oracle Database는 스키마없는 애플리케이션 개발을 지원하기 위해 설계된 SODA API 제품군을 제공합니다. 이 API를 사용하면, 개발자는 SQL을 사용하지 않고도 Oracle Database가 관리하는 JSON 문서로 작업할 수 있습니다. SODA는 여러 플랫폼 및 언어를 통해 지원되며, 여기에는 REST, Java, Node.js, Python, PL/SQL, OCI가 포함됩니다. 보다 자세한 내용은 여기에서 확인할 수 있습니다.

Oracle Database API for MongoDB

Oracle Database API for MongoDB는 Oracle Database에서도 MongoDB 드라이버, 도구, 프레임워크를 사용하여 MongoDB 애플리케이션을 지속적으로 구축할 수 있도록 지원합니다. 개발자는 노트북 컴퓨터에서 구축한 MongoDB 애플리케이션을 Oracle Database에 배포할 수 있습니다.

JSON 문서 데이터베이스 사용 사례

네이티브 JSON 문서 데이터베이스는 개발자들에게 더 많이 보고, 생성하고, 무엇보다도 더 많이 이해할 수 있는 능력을 제공합니다.

데이터베이스 내 고객은 이름과 주소로 식별될 뿐만 아니라, 각 고객의 속성은 값으로 할당되고, 개인화된 제품 추천 및 보다 강력한 관계 형성을 위한 배열로 표시될 수 있습니다.

JSON 데이터의 효과는 온전히 해당 데이터를 구동하는 데이터베이스에 달려있습니다.

더욱 개인화된 경험을 제공하는 애플리케이션 여러 디지털 자산을 통해 매력적인 맞춤형 고객 경험과 실시간 추천을 제공할 수 있습니다.
콘텐츠 및 카탈로그 관리 광범위한 속성과 메타데이터를 다루는 콘텐츠 관리 및 제품 카탈로그 서비스를 개발할 수 있습니다.
통합 IoT 애플리케이션 통합 애플리케이션을 생성해 클릭스트림, 모니터링, 로깅, 센서 시스템을 통해 초당 수백만 건의 삽입과 검색을 처리할 수 있습니다. 이를 통해 데이터 정확도를 포기하지 않고도 새로운 인사이트를 도출할 수 있죠.

JSON 데이터 및 Autonomous JSON Database

JSON 문서 데이터베이스는 JSON 데이터 유형에 대한 네이티브 지원을 제공할 뿐만 아니라, 손쉬운 마이그레이션, 로코드 개발을 가능케 합니다. 데이터의 저장 및 관리 시 스키마 변경도 불필요하죠. Oracle Database 19c 버전부터는 Oracle Database가 모든 배포를 위한 네이티브 JSON 및 문서 저장소 지원을 제공합니다.

하지만 만약 서버리스 환경에서 Oracle Database의 이점을 활용할 수 있는 방법이 있다면 어떨까요? 클라우드 문서 데이터베이스는 자동화된 프로비저닝, 확장 및 복구 기능으로 완전 관리형 플랫폼에서 JSON 애플리케이션을 손쉽게 개발할 수 있게 해주는 동시에 99.95%의 가용성을 제공합니다.