공부, 기록

SQL Server와 MySQL만 하다가 PostgreSQL을 공부하니.. 본문

공부/DATABASE

SQL Server와 MySQL만 하다가 PostgreSQL을 공부하니..

무는빼주세요 2024. 10. 15. 08:45

1. 클러스터링 구조가 아닌 힙구조로만 테이블이 구성된다

PK에 대하여 클러스터 구조는 제외하고 생각해야한다

시퀀스가 반드시 필요하다는 것에 대해 비즈니스를 제외하면 잘 모르겠다

 

2. VARCHAR 타입의 불필요한 크기 설정이 디메리트가 없다고 보인다

다른 dbms에서는 메모리에서 디메리트가 있는데 PG는 그런게 없는 것으로 확인된다

 

3. 배큠에 대한걸 지속적으로 인지하기가 쉽지 않다

delete 작업에 대해 배큠으로 인한 락을 인식하는게 좀 쉽지 않았다

 

4. DELETE, UPDATE 의 LIMIT 처리가 정식적으로는 미 지원이다

서브쿼리, cte를 사용하여 처리해야한다

 

5. DELETE, UPDATE를 JOIN 처리하여서 일부 데이터만 처리하는게 정식적으로는 미 지원이다

Using 등의 처리가 가능하다

 

6. 시퀀스 타입이 여러가지이다

  • Sequence
  • Serial
  • GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY

3가지 타입이 있는데 약간씩의 차이가 있고 최근에는 GENERATED AS IDENTITY 를 사용하는게 일반적인 듯 하다

 

7. LW Lock, Relation 등 타 RDBMS 와 다른 ORDBMS 구조이다

Access lock 등 다양한 락이 존재한다.

다른 DBMS는 보통 메모리에서 락을 관리하는데 PostgreSQL 은 Tuple 의 헤더에서 관리한다 (물리적 디스크) 이로 인한 차이가 좀 있었다

 

8. 필팩터 수치가 다른 DBMS보다 더 의미있어 보인다

HOT 업데이트 관련하여 

https://aws.amazon.com/ko/blogs/tech/postgresql_fillfactor/

'공부 > DATABASE' 카테고리의 다른 글

[MySQL] MySQL group by 개선  (0) 2024.11.28
[AWS] Aurora, ElastiCache 타입 변경 스크립트  (0) 2024.11.21
Valkey의 멀티스레드 아키텍처  (0) 2024.10.12
[AWS] DynamoDB  (0) 2024.09.15
[AWS] OpenSearch Service  (0) 2024.09.15