Share
Sign In

데이터베이스 선택? : 어떤 데이터베이스를 골라야 할까?

MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.
MySQL
설치 및 관리가 비교적 쉽다. 빠르고 안정적이다. 전체 구조 파악이 어렵지 않은 간단한 데이터베이스
check 제약조건이 도메인 무결성을 보장해주지 않는다.
lock을 통한 mvcc
간단한 쿼리시 PostgreSQL보다 성능이 좋음.
PostgreSQL
복잡한 쿼리와 대규모 데이터베이스를 다룰 수 있는 높은 무결성의 풍부한 기능이 있는 데이터베이스
다양한 데이터타입을 지원
다양한 인덱스 타입과 전략 존재
다양한 기능 (mview, extension)
복잡한 읽기 쓰기에 강하다.
비교적 높은 관리 리소스 (트랜젝션시 mvcc에 의한 Vacuum 관리 → 인덱스, 스토리지, )
두 언어의 Query 차이
1.
대소문자 구분
mysql 은 대소문자 구분을 하지 않는다. 데이터베이스에서 표시되는 대로 문자열을 대문자로 표기할 필요 없다.
postgresql은 대소문자를 구분한다. 데이터베이스에서 표시되는 것과 동일하게 대문자로 표기하지 않으면 쿼리가 실패한다.
2.
if, if null 절을 사용
MySQL에서 IF 및 IFNULL 문을 사용해도 아무런 문제가 되지 않는다. PostgreSQL에서는 IF 및 IFNULL 문은 사용할 수 없다. 대신 CASE 문을 사용해야 한다.