반응형
SQLite MySQL PostgreSQL 차이 장단점
공통점 : 관계형 데이터베이스
SQLite : 임베디드 관계형 데이터베이스 관리 시스템
- 응용 프로그램에 넣어 사용하는 가벼운 DB
- python 기본 패키지로 sqlite를 사용할 수 있음
- 트랜잭션은 ACID를 준수
- 오픈 소스이나 압축 및 암호화에 도움이 되는 확장 기능을 제공
데이터 타입
- null: NULL값을 포함
- integer: 부호가 있는 정수로 값의 크기에 따라 1, 2, 4, 6, 8 바이트로 저장
- real: 실수 또는 8바이트 부동 소수점 숫자로 저장되는 값
- txt: 데이터베이스 인코딩을 사용하여 저장된 텍스트 문자열. UTF-8, UTF-16BE, UTF-16LE
- blob: 입력된 그대로 저장된 데이터의 blob
장점
- 가볍다
- 파일로 저장디므로 이식성이 뛰어나다
- 초기 설정이 거의 없어서 빠르게 개발이 가능하다
단점
- 동시성 제한 (주어진 시간에 하나의 프로세스만 DB 변경 가능)
- 사용자 관리가 존재하지 않음 (파일만 있으면 누구나 볼 수 있음)
- 보안이 약하다
개인적인 생각
- 로컬에서 개발하는 경우, 서버를 신경 쓰고 싶지 않을 경우 사용 권장
- JSON 데이터가 없을 경우 사용 권장
- 서버가 없다면, 로컬에서 도커로 mysql 컨테이너 띄워서 작업하는 것을 권장
MySQL : RDBMS
- 널리 쓰이고 있는 DB
- 영리 목적일 경우 유료
장점
- 정보가 풍부함
- 보안 수준니 높은 레벨
- 속도가 빠르다
- 복제 가능
단점
- 트랜젝션 지원이 완벽하지 않다
- 사용자 정의 함수의 사용이 쉽지 않고 유연하지 못하다
PostgreSQL : 오픈 소스 객체-관계형 데이터베이스 시스템(ORDBMS)
- 객체 관계형(object-relational) 데이터베이스
- 기본적으로는 관계형 데이터베이스지만 객체 데이터베이스와 연관되는 기능
(예를 들면 테이블 상속 및 함수 오버로딩)도 포함 - 동시성, ACID 준수
장점
- 표준 SQL을 준수
- 무료
- 확장성이 뛰어남
단점
- 메모리 성능이 떨어짐
- 읽기가 많은 경우 다른 DB보다 성능이 떨어짐
- 정보 부족
데이터 무결성이 중요하고, 복잡한 연산을 할 경우 권장
반응형
'지식' 카테고리의 다른 글
HTML CSS 기초 웹사이트 표준 접근성 크로스 브라우징 (0) | 2023.03.21 |
---|---|
정적 타입과 동적 타입 언어의 차이점 (0) | 2023.03.21 |
tsx ts란 차이 다른점 (0) | 2023.03.14 |
객체지향 언어의 특징 (0) | 2021.12.30 |
CSR? SSR? (0) | 2021.12.30 |
댓글