DevOps BootCamp/데이터베이스

데이터베이스 기초

cloudmaster 2023. 3. 29. 09:23

메모리에 임시 저장(In-Memory)

 > 데이터를 다룰 때에는 프로그램이 실행될 때에만 존재하는 데이터

 > 예를 들어 변수를 만들어 값을 저장한 경우, 해당 값은 메모리 상에 일시적으로 저장되지만, 프로그램이 종료될 때 해당 프로그램이 사용하던 데이터도 사라짐

 

파일 입/출력(I/O)

 > 파일을 읽는 방식으로 작동하는 형태를 말함 

 > 엑셀 시트나 CSV 같은 파일의 형태

 > but 데이터가 필요할 때마다 전체 파일을 매번 읽어야 함, 복잡하고 데이터량이 많아질수록 데이터를 불러들이는 작업이 점점 힘들어 짐

 

but 관계형 데이터베이스에서는 하나의 CSV 파일이나 엑셀 시트를 한 개의 테이블로 저장할 수 있음

 > 한번에 여러 개의 테이블을 가질 수 있기 때문에 SQL 을 활용해 데이터를 불러오기 수월

 

★ RDBMS vs NoSQL

 RDBMS : SQL을 기반

비관계형 데이터베이스 : NoSQL로 데이터를 다룸, 데이터를 읽어올 때 스키마에 따라 데이터를 읽어 옴,

 > 'schema-on-read'

 

 > 대표적인 관계형 데이터베이스 : MySQL, Oracle, SQLite, PostgreSQL, MariaDB등 이 있음

 > 대표적인 NoSQL은 MongoDB, Casandra

    Key-Value 타입, 문서형(Document) 데이터베이스, Wide-Column 데이터베이스, 그래프(Graph) 데이터베이스

 

SQL 기반의 관계형 데이터베이스를 사용하는 케이스

1. 데이터베이스의 ACID 성질을 준수해야 하는 경우

 > ACID는 Atomicity(원자성), Consistency(일관성), Isolation(격리성), Durability(지속성) 를 의미

 

NoSQL 기반의 비관계형 데이터베이스를 사용하는 케이스

  1. 데이터의 구조가 거의 또는 전혀 없는 대용량의 데이터를 저장하는 경우
  2. 클라우드 컴퓨팅 및 저장공간을 최대한 활용하는 경우
  3. 빠르게 서비스를 구축하는 과정에서 데이터 구조를 자주 업데이트 하는 경우

★ 다운타임(데이터베이스 서버를 오프라인으로 전환하여 데이터 처리를 진행하는 작업 시간)

 

'DevOps BootCamp > 데이터베이스' 카테고리의 다른 글

파티셔닝  (0) 2023.03.29
레플리카  (0) 2023.03.29
낮은 검색 성능 - 인덱싱  (0) 2023.03.29
SQL - INSERT, UPDATE, DELETE  (0) 2023.03.29
SQL - SELECT  (0) 2023.03.29