PostgreSQL과 MySQL과 MariaDB의 NoSQL 구현 상황

Happy Birthday to me!!

이 기사는 럭스 Advent Calendar 2016의 6 일째입니다.

어제는 @ 모리 히로 k의 "rm의 -f 옵션으로 울지 않기 위해"이었습니다.

OSS RDB에 구현된 NoSQL 구현 상황 요약



어느새 주요 OSS인 RDB인 PostgreSQL과 MySQL/MariaDB에 NoSQL 기능(이라기 보다 문서 DB 기능)이 붙어 있었기 때문에 일에도 사용할 수 있을 것 같아서 정리.

각종 사정에 의해 PostgreSQL 우대 기미로. 그러나 "PostgreSQL contains NoSQL."의 "너는 무슨 말을 하고 있구나"감이 대단하네요…

각 DBMS에 대한 NoSQL 기능 구현 버전



PostgreSQL


  • PostgreSQL 9.4에서 jsonb 타입 지원
  • 9.2에서 지원되는 json 유형 (텍스트)에서 개발되었으며 jsonb 유형은 바이너리로 처리됩니다
  • jsonb 형에도 GIN 인덱스가 있다

  • PostgreSQL 9.5에서 jsonb 형 조인 연산자 ||와 jsonb 관련 함수 다수 (jsonb_strip_nulls() 라든지 편리함)가 추가
  • PostgreSQL 9.6에서 jsonb_insert() 함수 추가

  • jsonb형을 본격적으로 사용한다면 9.5 이후라는 인상. 또한 CentOS7에서 9.5계를 넣기 위해서는PostgreSQL 공식 yum 리포지토리 추가 한다.

    참고: PostgreSQL 9.4 JSON 지원 정보

    공식 문서


  • 9.4
  • JSON 타입
  • JSON 함수와 연산자

  • 9.5
  • JSON 타입
  • JSON 함수와 연산자

  • 9.6
  • JSON 타입
  • JSON 함수와 연산자


  • MySQL



  • MySQL 5.7.8에서 JSON 유형 지원
  • JSON 타입
  • JSON 함수

  • MySQL 5.7.9에서 JSON의 항목에 색인이 추가되었습니다.

  • MySQL 8.0.1은 JSON 집계도 지원하는 것 같습니다


  • MariaDB



  • MariaDB 5.3에서 Dynamic Columns로 구현
  • 덧붙여서 MariaDB는 5.1 → 5.2 → 5.3 → 5.5 → 10.0 → 10.1 → 10.2 (current)와 변칙적으로 버전을 거듭하고있다
  • 5.3에서는 리스트로서 취급되고 있는 것 같기 때문에 중첩이라든지 할 수 없는 모습

  • MariaDB 10.0에서 COLUMN_JSON()이 구현되어 JSON으로 처리 할 수있게됩니다 (중첩도 가능합니다)

  • 후기



    정말 PostgreSQL9. 5로 CBCC 로 성능 비교라고 할까 생각했지만, 예년의 생일 근처에서 부진하게 빠지는 병에 걸렸기 때문에 단념. 마음이 맞으면 속편에서도 씁니다.

    내일은 @ 쿠마 키치 _ 군의 "PostgreSQL의 replication_slot 정보"입니다.

    쿠키 버터 초콜릿 쿠키! !

    좋은 웹페이지 즐겨찾기