less than 1 minute read

Today I Learned

데이터베이스는 왜 필요한가?

모든 서비스는 데이터를 만들어내고 그 데이터의 저장을 필요로 한다.

예) 카카오톡

  • 사용자 등록시 사용자 정보(ID, 암호, 전화번호 등등)의 저장이 필요하다.
  • 사용자 친구 리스트의 관리가 필요하다.(친구들의 ID 저장)
  • 특정 사용자 혹은 단톡방에서의 채팅 기록을 저장해야한다.

어디에 데이터를 저장해야할까?

  • 프로덕션 관계형 데이터베이스(RDBMS), 예) MySQL, PostgreSQL…
    • 어떤 서비스의 운영에 필요한 데이터를 저장하는 곳
    • 빠른 처리속도가 중요하다.
    • 데이터를 구조화된 테이블들의 집합으로 구성하여 저장하고 관리한다.
    • 백엔드, 프론트엔드 개발자 상관없이 잘 알아야 하는 기본 기술이다.
    • 관계형 데이터베이스의 프로그래밍 언어가 SQL이다.
  • 데이터 웨어하우스, 예) BigQuery, Snowflake, MySQL…
    • 회사관련 데이터를 저장하고 분석함으로서 의사결정과 서비스 최적화에 사용한다.
    • 처리속도보다는 구조화된 큰 데이터를 처리하는 것이 중요하다.

다양한 데이터베이스의 종류

  • 관계형 데이터베이스 : 구조화된 데이터
    • 프로덕션용 관계형 데이터베이스
    • 데이터 웨어하우스용 관계형 데이터베이스
  • 비관계형 데이터베이스 : 비구조화 데이터도 다룸
    • 흔히 NoSQL 데이터베이스라고 부르기도 한다.
    • 보통은 프로덕션용 관계형 데이터베이스를 보완하기 위한 용도로 많이 사용된다.
    • 크게 4종류가 존재한다.
      • Key/Value Storage: Redis, Memcache, …
      • Document Store: MongoDB
      • Wide Cokumn Storage: Cassandra, HBase, DynamoDB
      • Search Engine: ElasticSearch

+프로그래머스 (실리콘밸리에서 날아온 데이터베이스편) 한기용 강사님 자료 참고.

Updated: