Database 복습 (4)
0927
1. NoSQL의 특징 (Not Only SQL)
- RDBMS 처럼 데이터 간의 관계를 정의하지 않음
- 대용량 데이터를 구축하는데 특화되어 있음
- 분산형 저장 구조
- 고정되지 않은 데이터 스키마 구조(스키마를 따로 작성하지 않으며 데이터 타입도 특정하지 않음)
=> 빅데이터와 같은 비정형 데이터를 사용하는데 유리 - 유연성, 확장성, 고성능, 고기능성
- 관계형 데이터베이스에 비해 일관성은 낮음
- 데이터를 행과 열로 구성하지 않고 collection 과 Json, Field로 구성
- 기존 RDBMS의 한계를 극복하기 위한 데이터 저장소의 형태로 수평적 확장성을 가짐
2. MongoDB
- 문서 지향 저장소를 제공하는 NoSQL 데이터베이스 시스템
- NoSQL 중 인지도 1위
- 스키마 제약이 없이 자유로움
- BSON(Binary Json) 형태로 각 문서가 저장됨 ==> Javascript와 찰떡궁합
=> SQL을 이용한 query를 날릴필요 없음! 코드 훨씬 간결 - 문서지향 데이터베이스로서 객체지향 프로그래밍과 잘 맞다
3. RDBMS와 MongoDB의 용어 차이
[MySQL] [MongoDB]
database database
table collection
index index
row JSON document
column JSON field
join embedding and linking
primary key _id field
group by aggregation
4. Mongogoose
- Node Js와 mongoDB를 위한 ODM (Object Documnet Mapping) 라이브러리
- Object는 Js의 객체 / Document는 mongoDB의 문서
- 문서를 DB에서 조회할 때 Js 객체로 변환해주는 역할
5. MongoDB와 Express를 이용한 서버 통신 구축
1) atlas mongodb - 호스팅 서비스 like AWS rgb?
2) express --no-view mongodb_server
3) npm install
4) npm install mongoose
5) config폴더 만들고 안에 json파일 (MongoDB 연결 위함)
6) bin 폴더 내의 www 파일 수정 (MongoDB 연결 위함)
7) mongogoose를 이용하여 스키마 생성
=> 데이터가 작고 정형화 되어있을때는 스키마 있는게 더 편하니까!
8) models 폴더 생성 후 파일을 만들어 스키마 생성
9) router 작성
10) Postman으로 통신해보니 MongoDB에 데이터 저장이 된다!
Author And Source
이 문제에 관하여(Database 복습 (4)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wsds7euk/Database-복습-4저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)