데이터베이스와 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