콘텐츠로 이동

2021 09 04

2021-09-04

DB 특강

  • DB 엔지니어? - DB 구성 및 설계 - DB Replication: - 재난 상황을 대비하여 Disaster Recovery 정책 수립 - DB 백업 및 복구 - CPU utilization을 보면서 비상 사태를 대비할 것 - DB 용량 산정 - scale-out: db 해당 사이즈를 여러개 - scale-up: db 사이즈를 크게 - DB 최적화 - query per second를 측정하여 최적화 - DB 보안 - 접속 권한에 대한 보안 필요! - DB 트러블 슈팅 - 현상 및 원인 파악 -> 문제해결/정상화 -> 원인 상세 분석 -> 재발 방지 대책 수립
  • 서비스 특징에 따라 DB 정하기 - RDBMS - 대표 벤더: Oracle, MySQL, PostgreSQL, SQLite - 저장 구조: 테이블, 칼럼, 로우 - 스키마: 변경에 어려움 - 확장: 수직적 확장 - 우선사항: ACID - NoSQL - 대표 벤더: redis, mongoDB, casandra, HBASE - 저장 구조: Document, Key-Value, Graph - 스키마: 동적 변경 가능 - 확장: 수평적 확장 - 우선 사항: 유연한 사용, 확장성, BASE
  • DB Key Point 1. OLTP 2. ACID 3. MVCC
  • DB 엔지니어의 미래 - 인프라 전반을 이해하기 - 클라우드 & 컨테이너 환경에 대한 이해 - DBA + 개발자 => DevOps로 나아가기

SQL vs NoSQL

  • 참고 1: https://www.youtube.com/watch?v=Q_9cFgzZr8Q
  • 참고 2: https://www.youtube.com/watch?v=5llIti9VK48
  • NoSQL: Document DB, Key Value DB, GraphDB - Document DB (mongoDB) - json document로 데이터 저장 - 데이터의 포맷이 일관될 필요 없음 - Key Value DB (CassandraDB, DynamoDB) - 많이 쓰고 개빨리 읽어야 할 때 - Graph DB (Tao) - column, document 필요없음 - 각 노드 사이 관계 알아야 할 때 - 각각의 엔티티 만들고 연결관계 저장 - 페이스북에서 사용
  • 장점: 데이터 추가하기에 유연하다!!