티스토리 뷰

공부

[DBMS] Row Oriented vs Column Oriented

승가비 2021. 12. 19. 01:48
728x90

### Row Oriented

하나의 Row 데이터를 추가/삭제할때 하나의 페이지만 사용하기에 좋다.
하나의 Row의 대부분의 컬럼을 읽어야 하거나 변경하는 경우 하나의 Read/Write로 가능하다.
모든 Row를 읽는 경우 불필요한 Column값을 다 읽어야 한다.
Page의 사용하지 않는 공간까지 읽어야 한다.

 

 

### Column Oriented

다수의 컬럼을 조회하는 상황이라면 쓸모가 없어보인다.
오히려 결과를 합치는 작업 비용이 더 커져서 느릴 경우가 발생할 거 같다.

Row형으로 저장하는 대신 Column으로 저장하는 방식이다.
모든 Column들은 개별적으로 다뤄지며 Column별로 연속적으로 저장된다.
Column별로 데이터가 저장되기때문에 압축에도 높은 효율을 얻을 수 있다.

 

 

https://nesoy.github.io/articles/2019-10/Column-Oriented-DBMS

 

Column Oriented DBMS란?

 

nesoy.github.io

https://dataschool.com/data-modeling-101/row-vs-column-oriented-databases/

 

Compare Row vs Column Oriented Databases

Column oriented databases have become dominant over row oriented databases in data warehousing.

dataschool.com

https://www.linkedin.com/pulse/columnar-vs-row-oriented-databases-basics-2-min-read-faraz-khan/

 

Columnar Vs. Row Oriented Databases - The Basics (2 min read)

Columnar databases have become the popular choice for storing analytical data workloads. Below are some quick take ways about the differences between column-oriented vs.

www.linkedin.com

https://docs.aws.amazon.com/redshift/latest/dg/c_columnar_storage_disk_mem_mgmnt.html

 

Columnar storage - Amazon Redshift

Columnar storage Columnar storage for database tables is an important factor in optimizing analytic query performance because it drastically reduces the overall disk I/O requirements and reduces the amount of data you need to load from disk. The following

docs.aws.amazon.com

 

728x90

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

[Java] Array stream max  (0) 2021.12.19
[Spark] Partition Pruning & Predicate Pushdown  (0) 2021.12.19
[Spark] job & stage & task  (0) 2021.12.19
[Spark] App name  (0) 2021.12.18
[Java] map.foreach((k, v) -> {})  (0) 2021.12.18
댓글