시리즈 홈 페이지로 연결되는 링크입니다: https://www.couchbase.com/blog/couchbase-oracle-developers-part-2-architecture/
데이터 리모델링의 일환으로 관계형 모델에서 JSON 모델로 이동하는 동안 데이터 유형 매핑을 고려해야 합니다. Oracle에서는 데이터를 로드하거나 쿼리를 작성하기 전에 각 열의 유형을 명시적으로 생성하고 선언해야 합니다. Couchbase에서는 JSON 구문을 준수하기만 하면 데이터 유형 해석이 자동으로 암시적으로 이루어집니다. 다음은 이러한 데이터 유형에 대한 매핑, 변환 및 산술에 대한 개요입니다.
| 기능 | Oracle | 카우치베이스 |
|---|---|---|
| 모델 | 관계형, 객체 관계형 | N1QL(JSON용 SQL)을 사용한 JSON 모델 |
| 데이터 유형 |
오라클 데이터 유형 참조 |
카우치베이스 데이터 유형 참조 |
| 문자열 데이터 유형 | 문자, 바이트열, 바이트열2, 엔차트, 엔바키, 롱바키 | 문자열(유니코드), 최대 20MB |
| 날짜 및 시간 데이터 유형 | 날짜, 시간, 타임스탬프(표준 시간대 포함), 간격 |
N1QL 날짜 함수가 있는 ISO-8601 문자열 상세 문서 |
| 부울 | 불린 | 참 / 거짓 |
| 숫자 | 숫자, 십진수, 빅인트, 스몰인트, 정수, 부동 소수점, 실수, 더블 |
정수, 실수, 지수 값 숫자 범위 |
| 이진 데이터 유형 | 바이너리, 바리바이너리, 롱바리바이너리 | 바이너리 문서 또는 Base64 인코딩된 값 |
| 대용량 개체 데이터 유형 | blob, raw, long_raw, clob | 각 문서 최대 20MB |
| 개체 |
사용자 정의 개체 유형 오라클 객체 유형 |
무제한 중첩이 가능한 네이티브 JSON 객체 |
| 배열 |
미리 정의된 유형이 있는 VARRAY VARRAY 문서 |
혼합 유형의 최고급 JSON 배열 "A": [1, "X", [3, 4]] "B": [{"x":1}, {"x":2}] |
추가 참고 사항
날짜 및 날짜/시간 유형.
Oracle 및 기타 RDBMS에는 시간 관련 데이터를 처리하고 조작하기 위한 광범위한 데이터 유형이 있습니다. JSON에는 날짜 또는 날짜/시간 유형이 없습니다. 그래서 저희는 ISO 8601 . ISO 8601을 준수하는 문자열 형식으로 날짜 및 시간 관련 데이터를 저장한 다음 일관된 방식으로 조작하는 것이 아이디어입니다.
기본 키를 문서 키로 변환합니다.
카우치베이스 문서 키는 항상 255바이트 미만이며 일반적으로 문자열입니다. RDBMS는 테이블에 대해 단일 열 또는 여러 열(복합) 기본 키를 가질 수 있습니다. 일반적인 변환 방법 중 하나는 각 부분을 문자열로 변환한 후 각 부분 사이에 구분 기호를 넣는 것입니다. 문서 키는 버킷에 고유해야 하므로 일반적으로 테이블(컬렉션) 유형이 접두사로 붙습니다. 버킷의 예제가 있는 블로그 를 올바르게 수행하는 방법에 대해 설명합니다.