게임 세이브 시스템
Zork: The Great Underground Empire - Part 1 (1980, Infocom, PC)
The Legend of Zelda (1986, Nintendo, NES)
오프라인 데이터 관리
TEXT - 편함, 가독성 낮음
XML - 호환성 좋음, 복잡성, 중복 문제있음
JSON - XML과 비슷
Excel - 접근성 좋음, 호환성 안좋음(윈도우만 가능)
CSV - Excel보다 가볍고 적용하기 좋음
PlayerPrefs(Player Preference) with Unity - 옵션같은거 저장
(점수 정도만, 큰 데이터에는 부적합)
온라인 데이터 관리
C-ISAM( C-Indexed Sequential Access Method ) - 색인 순차 접근 방식, 단순한 파일 시스템
MySQL(오라클 인수 유료) -> Maria DB(무료) - Simple and Fast, 리눅스
MSSQL - MicroSoft, 윈도우 서버에서 많이 사용, 툴이 좋음
- Microsoft SQL Server Management Studio
Oracle - 안정성 좋음, 비싼 가격
Memory DB - DB 내용을 메모리에 기록, 빠른 접근
NoSQL - Not only SQL (오픈소스)
- 자료 분산, 클라우드 특화
- mongoDB, Redis, membase 등
저장이 필요한 이유
모든 데이터를 메모리에 담아둘 수 없음
게임이 종료되어도 데이터가 유지되어야 함
네트워크의 경우 어디서든 동일한 데이터를 유지할 수 있어야 함
왜 DB인가?
게임 엔진을 사용하는 것과 같은 이유
안정성 효율성 호환성 보안
어떤 내용들이 기록되는가
캐릭터 정보
인벤토리 정보
퀘스트 정보
게임 로그
로그인 정보
기록되지 않는 내용
랜덤값 (적 위치, 드롭 아이템 종류 등)
모델링 데이터
이미지 데이터
사운드 데이터
무료 데이터베이스 디자인 툴
Database Diagram Design Tool
ERD - Entity-Relationship Diagram
Vertabelo
dbdiagram.io
draw.io
Lucidchart
SQLDBM
QuickDBD
MySQL and MariaDB
DBMS (Database Management System)
관계형 / 객체지향 / 계층형 등
Relational Database: Key와 Value의 관계를 이용한 데이터베이스
SQL (Structured Query Language)
Query: DB에 보내는 명령어 혹은 요청
Table: 데이터가 저장되는 장소
Schema: 테이블 구조와 관련된 정보
Column Name / Column Type / Colume Length (Ex. id varchar 10)
Record: 스키마에 맞춰서 작성된 값
Primary Key: 레코드를 구별하는 고유 값
Index: 데이터를 찾기 쉽도록하는 색인
DDL (Data Define Language): 데이터베이스 정의 Ex) create, alter, drop
DML (Data Management Language): 데이터베이스 관리 Ex) select, insert, update, delete
DCL (Data Control Language): 데이터베이스 권한 관리 Ex) grant, revoke
'CS > 데이터베이스' 카테고리의 다른 글
20240417 DB (0) | 2024.04.17 |
---|