1.NoSQL 데이터베이스
전통적인 관계형 데이터베이스(RDBMS)와 달리, 데이터를 고정된 스키마에 의존하지 않고 유연하게 저장하고 관리할 수 있는 비관계형 데이터베이스를 NoSQL 데이터 베이스라고 한다.
mongoDB가 대표적인 NoSQL 데이터베이스이다.
2.NoSQL 데이터베이스 특징
2-1.키-값 저장소
데이터를 단순히 키와 값으로만 저장하여 필요할 때 빠르게 조회합니다.
RDBMS 가 테이블을 만들고 각 열의 데이터를 정의후 데이터를 조회하기 위해 여러 열을 검색해야 하는것과 달리
NoSqL 데이터베이스는 단순 키와 값으로 조회할수있습니다.
"session:12345" : { "user_id": "u001", "login_time": "2024-11-08T10:30:00Z" }
GET session:12345
CREATE TABLE session_data (
session_id VARCHAR(20) PRIMARY KEY,
user_id VARCHAR(20),
login_time TIMESTAMP
);
INSERT INTO session_data (session_id, user_id, login_time)
VALUES ('12345', 'u001', '2024-11-08 10:30:00');
SELECT user_id, login_time FROM session_data WHERE session_id = '12345';
2-2.문서 지향 저장소
JSON 형식으로 복잡한 데이터를 구조화하여 한 문서 안에 저장합니다.
RDBMS는 테이블을 만들어 각 필드와 관계를 따로 저장합니다.
{
"_id": "u001",
"name": "John Doe",
"address": "123 Main St, City",
"contacts": [
{ "type": "phone", "value": "123-456-7890" },
{ "type": "email", "value": "john@example.com" }
],
"orders": [
{ "order_id": "o1001", "amount": 250, "date": "2024-11-07" },
{ "order_id": "o1002", "amount": 150, "date": "2024-11-08" }
]
}
CREATE TABLE users (
user_id VARCHAR(20) PRIMARY KEY,
name VARCHAR(100),
address VARCHAR(200)
);
CREATE TABLE contacts (
user_id VARCHAR(20),
type VARCHAR(20),
value VARCHAR(100),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
CREATE TABLE orders (
order_id VARCHAR(20) PRIMARY KEY,
user_id VARCHAR(20),
amount DECIMAL(10, 2),
date DATE,
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
'Computer Science > DataBase' 카테고리의 다른 글
[SQLD] 2과목 DDL, DCL (0) | 2024.05.09 |
---|---|
[SQLD] 2과목 DML, TCL (0) | 2024.05.09 |
[SQLD] 2과목 TOP N쿼리, 계층형 질의, PIVOT (0) | 2024.05.08 |