[기본미션]
p.203
1.
④ 운영체제, ③ 커널, ② 오픈 소스 소프트웨어, ① 프리웨어
[선택 미션]
- 데이터베이스(DB):
- 많은 양의 데이터를 한데 모아 놓은 곳(base)
- 특정 소프트웨어나 프로그램에 종속되지 않고 독립적인 정보의 집합 또는 저장소
- DBMS(Database Management System)
- 원하는 데이터를 쉽게 꺼내 쓰고 관리하기 위한 데이터베이스 관리 시스템(소프트웨어)
- 그 중 표처럼 생긴 데이터베이스를 "RDBMS(관계형 데이터베이스)"라고 함
- 관계형이 아닌 데이터베이스를 "비 관계형 데이터베이스(NoSQL 데이터베이스)"라고 함
- SQL(구조화 질의 언어)
- DB에 저장된 자료를 사용자가 원하는 방식대로 조회, 수정, 삭제 등을 하기 위해 데이터를 관리하는 방식
- sequel(씨퀄)이라고 읽기도 함
- 표 같이 생긴 DB에 정보를 넣고 조작하는데 사용되는 언어
- 범용 프로그램이라기 보다는 특정 사용처에 사용되는 도메인 특화 언어
- RDBMS는 SQL을 통해 데이터를 관리함.
- RDBMS(Relational Database Management system)
- SQL 데이터베이스라고 함
- 엑셀과 같이 테이블(표)에 데이터를 저장하는 방식
- 데이터 형식이 미리 설정되어 있어 데이터가 잘못 입력되는 것을 방지함(일관성)
- 관계형 데이터베이스는 데이터가 중복되거나 수정 시 많은 row를 수정해야하는 등의 단점을 해결하기 위해 테이블을 분할해서 데이터를 입력하는 방법을 제공. 나누어진 테이블은 join 기능을 사용해서 다시 테이블을 합쳐서 보거나 관리할 수 있음.
- 종류: 오라클 데이터베이스, MySQL, 마이크로소프트 SQL 서버(MSSQL), PostgreSQL, MariaDB, SQLite
- NoSQL
- 관계형이 아닌 데이터베이스를 지칭하는 말
- 종류: MongoDB, Cassandra, DinamoDB, Riak, Redis 등
- MongoDB: 문서 데이터베이스로 RDBMS의 일관성을 포기한 대신, 유연성과 속도를 장점으로 갖고 있음. 용량이 커졌을 때 다른 곳으로 분산하기 쉬워 빅데이터 등 대량의 데이터를 빨리 처리해야 할 때 씀
- Redis: 키-값 데이터베이스로 한 쌍의 값으로 데이터가 간단하게 저장. 세션을 구현하기 위해 세션 아이디와 사용자 번호값을 메모리에 저장하는 용도로 사용.
- neo4j: 그래프 데이터베이스. 프로그래밍에서 graph는 여러 정점(node)들이 특정 방향과 방식으로 관계를 맺는 자료구조를 의미함. cyper를 사용하여 sns 상의 사회적 관계 또는 키워드나 해시태그 기준으로 뉴스기사의 연관성 등을 알 수 있음.