데이터베이스와 DBMS
DBMS
- 데이터베이스 내 데이터에 접근하도록 도와주는 시스템
- 크게 질의처리기와 저장 시스템으로 이루어짐
- MySQL, Oracle
데이터 베이스 VS 파일 시스템
엔티티와 스키마
트랜잭션과 ACID
- 데이터의 무결성과 일관성을 위해 지켜야함
- A : 원자성
- 모두 되거나 되지 않는것
- C : 일관성
- 일관적인 DB상태를 유지
- I : 격리성
- 다른 트랜잭션의 작업이 끼어들지 못함
- D : 지속성
- 성공적으로 수행된 트랜잭션 영원히 반영되는 것
RDBMS와 SQL
SQL
효율적 쿠
데이터베이스 설계
파티셔닝
- 테이블을 컬럼 단위로 나누어 관리하는 기법
- update나 insert같은 작업이 분산되어 성능이 향상
- 테이블 간 join 비용이 증가
- index를 별도로 파티셔닝 할 수 없다는 단점을 가지고있음
샤딩
- 테이블을 row단위로 분산하여 저장하는 방법
- 규칙이 필요(key를 통한 규칙)
- Hash Sharding
- 기본키의 id % 4 와 같은 규칙으로 나눠서 넣을 때
- 데이터가 많아지면 확장이 불가능하다
- Dynamic Sharding
- 번호의 크기마다 나눠 하나씩 추가한다
- 데이터가 많아지면 확장이 간편하다
NoSQL
- Not Only SQL의 약자로, SQL을 보완한다는 의미
- 스키마가 없어서 데이터를 조회하고 삽입하는 속도가 빠름
- 대량의 분산 데이터를 저장하는데 특화되어 있습니다.
- RDBMS와 큰 차이는 스키마의 차이이다.
번호 | 이름 |
1 | 홍길동 |
해당 위 테이블은 이미 정해진 스키마(구조)가 있기 때문에 추가 불가능하지만 NoSQL은
{번호 : 1, 이름 : 홍길동, 나이 : 20}형식으로 자유롭게 추가가 가능하다
'CS' 카테고리의 다른 글
정리 - SPRING (1) | 2024.10.30 |
---|---|
정리 - JAVA (0) | 2024.10.30 |
정리 - 네트워크 (0) | 2024.10.30 |
정리 - 자료 구조 (0) | 2024.10.30 |
정리 - 운영체제 (0) | 2024.10.30 |