본문 바로가기
[2020]KIC 캠퍼스 복습/NoSQL, MongoDB(5)

[수업 D-21 ] NoSQL)MongoDB,

by 두블두블 2020. 8. 10.

2020.08.10(월) 5주차 1일

 

NoSQL의 대표주자 MongoDB에 대해 간략히 배웠다. 

 

- 데이터는 정형데이터와 비정형데이터, 반정형데이터가 있다. 

정형  : 엑셀 등 스프레드시트, 관계형 데이터 (SQL)
반정형 : 컴퓨터 언어 : HTML, Json, Schema, MetaData
비정형 : 영상, 이미지, 텍스트, 음성 NoSQL : SQL이 아닌 데이터?

 

 NoSQL 종류 : 저장형식에 따라 다르다.

카산드라 Casandra, 하둡 HBase, 
MongoDB, Azure


1. 몽고 디비

카페 NoSQL 카테고리 

 

1) * RDBMS와 비교 *

기존 SQL문을 MongoDB로 바꿔주는 툴과 사이트들이 많다. 

 

 

 RDBMS    MongoDB

Database
Table
Tuple / Row
Column 
Table Join
Primary Key     

Database

Collection

Document

Key / Field

Embedded Documents

Primary Key (_id)

2) 특징

  - Schema-less (Schema가 없다. 같은 Collection 안에 있을지라도 다른 Schema를 가질 수 있다)

  - 각 객체의 구조가 뚜렷하다

  - 복잡한 JOIN 이 없다.

  - Deep Query ability (문서지향적 Query Language 를 사용하여 SQL 만큼 강력한 Query 성능을 제공한다.

  - 어플리케이션에서 사용되는 객체를 데이터베이스에 추가 할 때 Conversion / Mapping이 불필요하다.

 

3) 몽고디비 시작 (국내에서 가장 많이 쓰이는 NoSQL, 대형일경우 하둡)

cmd에서 몽고디비 실행화면(성공적!)

1) https://www.mongodb.com/try/download/community

2) 고급시스템 설정

C:\Program Files\MongoDB\Server\4.4\bin 주소 복사

내 피시 우클릭 -> 시스템 속성 -> 고급 - > 환경변수 -> 시스템 변수 -> path

-> 편집 => c추가




3) cmd -> mongo 엔터 시작,

mongod --bind_ip 192. 168. 0. 52

show dbs

use test

db

=============


> db.abc. insert({username: 'smith'})

> db.abc.insert({username:'tom',juso:'Seoul'})


show collections

> var m = {usernama:'john',juso:'jeju'}

> db.abc.insert(m)

> db.abc.find() * 입력된 데이터 다 보여줌

>db.abc.insert({x:1,y:new Date()}) * 규칙이 없기 때문에 앞에 데이터를 신경안쓰고 그냥 insert가 된다.

> db.abc.drop()

다 지움

======================

show collections : Table 목록보기

db. stats():

exit





================

3. https://nosqlbooster.com/ 몽고디비 툴

4. 구글에 NoSQL 명령어 라고 치고 자습해라

==========================





5. 자바에서 불러보기

1) 데이터 만들기

user mydb

db (내위치 확인 : 현재 mydb 컬렉션 : myuser)

> db.myuser.insert({name:'홍길동', age:20, job:'프로그래머}) 3개 만들기

2) 카페 http://cafe.daum.net/flowlife/RZ23/8 가서 MongoDB Driver Downloads

mongo-java-driver-3.9.1 다운로드. 자바 work로 옮기기

3) java_pro4 -> build path, add external jar

4) Dbtest9Mongodb

// NoSQL의 mongoDB와 연동

//자료 건수

// 자료 읽기 : document(행) 읽기

// 자료추가

// 현재 자료 출력

J2SE 종료

 


※ 오늘 배우고 느낀 것 

 

1. 채용공고보니 NoSQL 많이 쓰더라. 잘 공부해야겠다. 

 

2. J2SE 는 오늘부로 정리. 이제부터 웹이다. 

 

3.