대학교 수업 시간에 Database, MySQL에 대해 다뤄봤지만, 기억이 나지 않을뿐더러 너무 오래된 내용이었다. 지금까지 프론트엔드에 대해서만 공부를 하고 백엔드에 대해 지식이 많이 부족한 상태이다. 백엔드 공부의 필요성을 느끼고 차근차근 공부중이다.
Oracle, MySQL, Redis, MongoDB 등 다양한 Database에 들어봤지만, 그 중 PostgreSQL, MySQL에 대해 다뤄볼 예정이다.
객체 관계형 데이터 베이스 관리 시스템(ORDBMS)이다.
PostgreSQL은 JSON, XML등 다양한 데이터 타입을 지원하며, 고급 인덱싱 기능, 복잡한 쿼리 최적화, MVCC 등을 제공한다.
따라서 복잡한 대용량 데이터 작업에 강점이 있다.
데이터 유형, 확장성, 동시성 및 데이터 무결성에 있어 유연성이 더 뛰어나다.
데이터베이스 관리 시스템에서 동시성 제어를 위해 사용하는 기법 중 하나이다.
MVCC는 데이터베이스의 각 레코드에 여러 버전을 저장한다. 각 트랜잭션은 레코드의 특정 버전을 참조한다. 이로 인해 읽기 작업이 쓰기 작업을 방해하지 않으며, 쓰기 작업도 다른 트랜잭션의 읽기작업을 방해하지 않는다.
오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)이다.
관계형 데이터베이스는 테이블 형태로 데이터를 저장하며, 테이블은 행과 열로 구성되어 있다.
주로 웹 어플리케이션에 사용되며, 사용의 용이성과 속도, 안정성이 뛰어나다는 특징이 있다.
위에서 각각의 특징은 살펴보았고, 어떤 데이터 베이스를 선택해야할까?
우선 PostgreSQL은 읽기-쓰기 작업, 대규모 데이터 세트 및 복잡한 쿼리를 관리하는데 선호되고, MySQL은 읽기 성능에 강점을 갖고 있다. 따라서 어느 한쪽이 좋다고 단정짓기는 어렵다. 오래된 자료이긴 하지만 속도 또한 단정짓기 어렵다. Windows Skills는 MySQL이 더 빠르다했고, Benchw은 PostgreSQL이 더 빠르다고 말했다.
데이터베이스 디자인, 하드웨어 환경, 사용목적에 따라 적절한 데이터베이스를 선택해야한다. 또한 두 시스템 간의 SQL문법, 데이터 타입이 약간 다르다고 하니 이것 또한 고려해봐야할 것이다.