2023.12.18(월)

🗃️Data와 Database

  • 데이터(Data) : 어떤 의미나 목적 없이 단순히 수집된 순수한 ‘자료’
  • 정보(Information) : 데이터가 모여서 의도나 목적에 따라 분석/처리되어 ‘의미’가 부여된 것
  • 지식(Knowledge) : 정보 간의 관계를 통해 가치를 찾는 것
  • 데이터베이스(Database) : 이를 위해 여러 데이터를 한데 모아 두는 것. 데이터 집합체.

🗄️DBMS(DataBase Management System)

데이터 창고를 관리하는 프로그램

  • 데이터를 저장, 조회, 수정, 삭제(CURD)
  • 데이터가 중복되거나 잘못된 형식으로 저장되는 것을 방지
  • 보안 유지

📍DBMS의 종류

  • 크게 RDBMS와 NoSQL로 분류

  • 데이터베이스 랭킹 (Dec. 2023) 🔗

👑RDBMS(Relational DBMS)

Oracle MySQL Microsoft SQL Server PostgreSQL MariaDB SQLite

DB계의 오랜 대세로 2차원 테이블(Table)에 데이터를 저장하는 방식으로 데이터베이스를 관리

  • 구조


    3주차에 정리했던 🔑MariaDB Key 참고
    • 통상적으로 하나의 테이블이 아닌 여러 개의 테이블로 만들고(정규화: 중복을 최소화하게 데이터를 구조화하는 프로세스), 각 테이블 구조, 형식, 관계를 정의/설계(스키마, schema)
    • 스키마라는 틀에 맞추어 데이터를 저장하기 때문에, 체계적이고 안정적으로 데이터를 관리할 수 있고, 테이블간의 관계를 직관적으로 파악 가능
  • RDBMS의 언어, SQL(Structured Query Language)
    2주차에 언급했던 🖋️SQL 참고

    • 표준 SQL : SQL은 특정 회사에서 만드는 것이 아니라 국제표준화기구에서 SQL에 대한 표준을 정해서 발표하고 있음
      • 표준 SQL을 익히면 대부분의 DBMS에 공통적으로 적용 가능
      • 그런데 SQL을 사용하는 DBMS를 만드는 회사가 여러 곳이기 때문에 표준 SQL이 각 회사 제품의 특성을 모두 포용하지 못함
      • 그래서 DBMS를 만드는 회사에서는 되도록 표준 SQL을 준수하되, 각 제품의 특성을 반영한 SQL을 사용

🔐NoSQL

RDBMS의 공통적인 특징은 SQL을 사용한다는 것 → 이와 반대로 RDBMS가 아닌 DB는 ‘SQL을 사용하지 않는다’는 의미로 "Not only SQL”, NoSQL이라고 부름
(물론 RDBMS가 아니면서 SQL 기능이 있는 종류도 있고 SQL을 쓰지 않으면서 RDBMS인 제품도 있지만, 매우 드물기 때문에 통상적으로 NoSQL이라고 부름)

  1. 문서 데이터베이스 (Document Database)

    MongoDB CouchDB

    • XML이나 JSON과 비슷한 형태의 문서 형태로 저장
  2. 키-값 데이터베이스 (Key-value Database)

    Redis Amazon DynamoDB Memcached

    • key-value 쌍만을 저장하는 단순한 형태의 데이터베이스 (Map과 비슷)
    • 세션이나 토큰을 구현할 때 사용
  3. Graph Database

    Neo4j JanusGraph InfiniteGraph

    • 노드(node)와 노드들 간의 관계를 의미하는 엣지(edge)로 구성된 자료 구조
    • 노드에 key-value 형태로 property를 저장
    • 주로 페이스북이나 인스타그램 같은 SNS에서 사용자 간의 친구 관계를 구현하는 용도로 유용하게 사용됨

요즘 읽고 있는 책 "혼공얄코"에 잘 설명되어 있어서 참고해서 정리해보았다 :)

profile
이것저것 관심 많은 개발자👩‍💻

0개의 댓글