메모리에 임시 저장(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 기반의 비관계형 데이터베이스를 사용하는 케이스
- 데이터의 구조가 거의 또는 전혀 없는 대용량의 데이터를 저장하는 경우
- 클라우드 컴퓨팅 및 저장공간을 최대한 활용하는 경우
- 빠르게 서비스를 구축하는 과정에서 데이터 구조를 자주 업데이트 하는 경우
★ 다운타임(데이터베이스 서버를 오프라인으로 전환하여 데이터 처리를 진행하는 작업 시간)
'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 |