개발

해시 테이블 및 SQL/NoSQL

jih0ssang 2023. 10. 21. 15:26

해시 테이블(Hash Table)

해시 테이블은 딕셔너리와 같이, 키와 값을 짝지어 모은 것이다.

menu = {
  아메리카노: 10,
  라떼: 12,
  카모마일차: 15,
};

배열에 담겼다면 배열의 데이터를 처음부터 모두 확인(선형 검색)해야해서 오래 걸리지만,

해시 테이블은 빠르게 알아낼 수 있다.

 

해시 테이블에 쓰이는 해시 함수는 우리가 검색할 때 쓰는 Key를 숫자, 즉 인덱스로 바꿔주는 역할을 수행한다.

 

SQL

개발자들이 SQL을 잘 모르는 이유는 ORM 때문이다.

 

ORM(Object Relational Mapping)

  • 개발자에게 SQL 번역기 같은 도구
  • 사용자에게 익숙한 프로그래밍 언어로 SQL을 사용할 수 있게 함

 

NoSQL

데이터베이스 종류

Document DB

  • 데이터를 JSON 형식으로 저장. 
  • ex) Mongo DB
  •  
[
	{ "id": 1, "name": "슬리퍼", "price": 3000 },
    { "id": 2, "name": "바지", "price": 5000 }
]

Key-Value DB

  • 한 행에 열이 넓음. 속도가 매우 빠름. 대용량 데이터 빠르게 저장 및 읽기
  • ex) 카산드라디비(Cassandra DB), Dynamo DB(아마존에서 개발)

Graph DB

  • 열이나 도큐먼트 필요하지 않음. 노드 등장