PostgreSQL, Oracle

zioo·2022년 1월 2일
0

PostgreSQL

  • PostgreSQL은 ORDBMS중 하나이며 무료로 제공되고 있습니다.
  • 오라클 개발자들이 대거나와 PostgreSQL 개발에 합류하여 oracle과 유사합니다.

  • 한국에서는 잘 사용되지 않고 있으나 전세계적으로의 트렌드는 4위에 랭킹되어 있으며 작년, 전달대비 꾸준히 점유율이 증가하고 있는 DB입니다.

RDBMS와의 차이점
1. 데이타의 저장 및 접근 방법에 대한 관점의 차이
RDBMS는 행과 열이 있는 하나 이상의 관계 또는 테이블의 모음입니다.
ORDBMS는 데이터가 객체로 저장된 것처럼 작동합니다.

장점

2-1. 라이선스에 대한 비용 문제가 없음

  • BSD 라이선스이며, 소스를 변경하고 그 소스를 숨긴 채 재배포 해도 법적으로 문제가 없습니다.

2-2. 오래된 오픈소스의 안정성

  • 가볍게 돌아가며 대용량 처리에도 큰 문제가 없습니다.

  • 표준 SQL을 잘 따르고 있습니다.

2-3. 발전중인 데이터베이스

  • 무료 SQL이지만 꾸준히 업데이트 되고 있으며 현재 14베타 버전이 나왔고 안정화 버전으로는 13.3 버전을 지원합니다.

2-4. 독창적인 자료형 및 문법

  • PostgreSQL만의 독창적인 자료형이 있습니다.
  • jsonb,json 형식으로 저장이 가능하며 ILIKE기능으로 대소문자 상관없이 매칭되는 글자를 찾을 수 있습니다.

2-5. oracle에 버금가는 통계 함수

  • oracle에 버금가는 통계 함수를 제공합니다.

단점

3-1. CRUD성능이 RDBMS보다 좋지 않음

  • CRUD 성능이 RDBMS보다 좀 떨어집니다.

3-2.독창적인 자료형 및 문법

  • 독창적인 자료형과 문법때문에 새로운 개발자를 가르치는 비용이 발생합니다.

  • 다른 DB로 migration하기 쉽지 않습니다.

migration : 좀 더 나은 운영환경으로 옮겨지는 걸 말합니다.

사용해야 되는 이유?

무료로 제공되며 무료로 제공하는 타 DBMS에 비해 트랜잭션 및 ACID이 월등히 좋습니다.

오래된 DBMS인만큼 안정적이고 신뢰성을 가지고 있습니다.

꾸준한 기능 추가 및 발전을 하고 있습니다.

JSONB, ARRAY같은 타입으로 획기적으로 확장성을 늘릴수 있으며 인덱싱 작업 역시 효율적으로 할 수 있습니다.

vacuum이라는 작업을 통해 데이터를 좀 더 효율적으로 관리 할 수 있습니다.

vacuum : PostgreSQL에서 제공하는 디스크 조각 모음입니다.
변경 또는 삭제된 자료들이 차지하고 있는 디스크 공간을 다시 사용할 수 있게 하며 인덱스 전용 검색 기능을 향상
트랜잭션 ID겹침이나 다중 트랜잭션 ID 겹침 상황으로 손실될 가능성을 방지합니다.
자세한 내용은 링크를 참조하세요

oracle은 좋지만 가격이 비싸며 MySQL이 대안으로 사용되었는데 oracle에 인수됨에 따라 다른 DBMS로 눈을 돌리고 있는 경우가 많이 생겼습니다. PostgreSQL도 좋은 대안이 될 수 있다.

PostgreSQL

  • 대용량 데이터 처리를 위한 기능 구현됨
  • 다양한 운영체제 지원
  • DB 보안을 위해 데이터 암호화, 접근 제어, 접근 감시 3가지로 구성됨
  • 여러 언어 지원
  • 신뢰성과 안정성이 매우 높음
  • 오픈 소스이기 때문에 무료로 사용 가능
  • 인스타그램, CISCO, 스카이프, 트립어드바이저, 이케아 등에서 사용

Oracle

오라클은 오라클 회사의 관계형 데이터베이스 관리 시스템의 이름이다.

오라클은 대용량 데이터베이스에 적합한 성능과 기능을 제공하며

유료인만큼 다른 데이터베이스 보다 유용한 기능이 많다는 점이 특징이다.

  • 세계 점유율 1위
  • 대부분의 운영체제를 지원
  • 분산처리를 통해 효율성 증대
    - DBMS 실행 컴퓨터 / 서버 역할 컴퓨터 / DB응용 프로그램 실행 컴퓨터를 다르게 분산처리
  • 대규모 데이터베이스와 영역 관리
    - 고가의 HW를 효율적으로 활용할 수 있도록 영역 사용을 완벽하게 제어
  • 다중 동시 데이터 베이스 사용자 지원
    - 여러 사용자가 동일한 데이터에서 작동하는 다양한 데이터베이스 응용 프로그램을 실행하도록 지원하여 데이터 경합을 최소화하고 데이터 동시성을 보장
    - 데이터 경합(row level locking) : 데이터 경쟁. 한 사용자가 데이터를 변경하려고 접근할 때 데이터에 lock이 걸리는 것
    - 데이터 동시성 : 다수의 사용자가 동시에 접근 가능
  • 접속성
    - 서로 다른 유형의 컴퓨터와 운영체제가 네트워크를 통해 정보를 공유하도록 함
  • 고성능 트랜잭션 처리
    - 다른 데이터베이스보다 고성능의 트랙잭션을 처리

MySQL

Mysql은 세계에서 가장 많이 사용하는 오픈 소스의 관계형 데이터베이스 관리 시스템이다.

  • SQL 문법 기반

  • 오라클 회사가 인수하여 관리, 지원 하고 있으며,

  • 다양한 언어, API 가 지원되고 또한 다양한 OS 에서 사용히 가능하다.

Apache 프로그램, php등과 같은 언어와 상호 연동이 잘 되어있어서 홈페이지나 쇼핑몰 등에 널리 사용된다.

  • 오픈소스이기 때문에 무료로 가볍게 이용할 수 있다는 것이 장점이다.
  • 처리 속도가 빠르고 대용량 데이터 처리에 용이
  • 설치 방법과 사용법이 쉬움
  • 보안성이 우수
  • 구글, 링크드인, 아마존, 넷플릭스, 트위터 등에서 사용

오라클은 일단 Mysql보다 비싸기 때문에 대기업 같이 돈이 많은 기업에서는 Oracle을 선호하고,

중소기업이나 작은 프로젝트를 진행하는 곳에서는 Mysql을 주로 많이 사용한다고 한다.

MariaDB

  • MariaDB는 Mysql과 마찬가지로 오픈소스 데이터베이스이다.

  • mysql 개발자 일부가 참여하여 Mysql의 대체제로 개발됨

  • Mysql하고는 기본적으로 구조 및 사용방법 등이 모두 동일하다는 특징을 가진다.

  • Mysql 과는 완벽 호환이 되며, 마이그레이션이 쉽다는 장점을 가진다.

마리아 DB는 Mysql 과 비교했을 떄 속도가 약 4~5천배가 차이난다.

또한 Mysql의 기능을 모두 완벽히 구현하면서도 성능도 훨씬 좋다고 자부할 수 있기 때문에

요즘은 Mysql 에서 MariaDB 로 대체하는 경우도 있다고 한다.

MSSQL

마이크로소프트 SQL 서버(영어: Microsoft SQL Server)는 마이크로소프트가 1989년 사이베이스(Sybase)를 기반으로 개발한 관계형 데이터베이스이다.

  • 기업체에서 사용을 할때에는 라이선스료를 지불을하고 사용을 하여야 한다.

요약

오라클은 유료인 만큼 다른 DB에 비해서 많은 기능을 제공하며, 대용량 데이터베이스에 적합하다.

Mysql은 오라클보다 기능적으로는 조금 부족하지만 무료이기 때문에 가성비가 좋다.

MariaDB는 Mysql과 거의 똑같다고 보면 되지만 기능 및 성능 면에서 더 뛰어나다.

출처: https://mangkyu.tistory.com/71 [MangKyu's Diary]
https://benlee73.tistory.com/178

0개의 댓글