Web/MongoDB

반응형
반응형
Web/MongoDB

[MongoDB]Map Reduce

Map Reduce - aggregation framework가 처리하지 못하는 복잡한 집계 작업에 사용 - javascript function을 사용하여 복잡한 작업 처리 - shard에 대응 ! - > 분산 처리 가능 [순서] query → map → reduce → out - map : data mapping (grouping) - reduce : 집계 연산 실행 - query : 입력될 document - out : collection or document 출력 db.score.mapReduce( myMap, myReduce, {out:{replace:"myRes"}} ); # pretty(): 예쁘게 정렬해서 보여주는 기능 db.myRes.find().pretty() # 기능확인을 위해 우선 데..

Web/MongoDB

[MongoDB]aggregation

PipeLine - collection 이 각 stage를 거치면서 document 처리 및 집계 - 일부 처리는 shard에 대응 (각 shard에서 처리) * pipeline : 이전 단계의 연산 결과를 다음 단계에서 사용 * stage 순서 중요! SQL ↔︎ NoSQL aggregation db.score.aggregate( score collection 에서 {$match:{"test":"midterm"}}, test가 midterm 인 document들을 뽑고, {$project:{"kor":1}}, kor만 출력시켜서, {_id:"!..", kor:""} {$group:{"_id":"test","average":{"$avg":"$kor"}} 집계해서 {_id:"test", average:n}..

Web/MongoDB

[MongoDB]CRUD_연습문제

연습 Data db.score.insertMany([ {name:"홍길동",kor:90,eng:80,mat:98,test:"midterm"}, {name:"이순신",kor:100,eng:100,mat:76,test:"final"}, {name:"김선달",kor:80,eng:55,mat:67,test :"midterm"}, {name:"강호동",kor:70,eng:69,mat:89,test:"midterm"}, {name:"유재석",kor:60,eng:80,mat:78,test:"final"}, {name:"신동엽",kor:100,eng:69,mat:89,test:"midterm"}, {name:"조세호",kor:75,eng:100,mat:100,test:"final"} ]) 정답파일 문제1 1. test..

Web/MongoDB

[MongoDB]CRUD ★

더 많은 연습문제 보러가기 >> Insert db.collection.insertOne( document ) db.collection.insertMany([ document, document, !!... ]) * _id (primary key) : 명시하지 않으면 자동으로 ObjectId값 생성 # insertOne db.qclass.insertOne({ name:'cho-gi',kor:100,eng:100,math:100} ) # insertMany db.qclass.insertMany([ {name:'jang-sy',kor:100,eng:100,math:100}, {name:'kim-',kor:90,eng:90,math:90}, {name:'choi-hs',kor:90,eng:90,math:90} ]..

Web/MongoDB

[MongoDB]Data Structure

Database - 독립적인 하나의 권한을 가짐 - 각각의 db는 분리된 파일로 저장 - 예약된 db name admin : root db local : 복제되지 않는 db (특정 서버에만 저장하는 collection에 사용) config : shard 정보 저장 Collection - document들의 group (rdbms의 table 역할) - schema를 가지지 않는다 (document들의 field가 각각 다를 수 있다) Document - data recode를 BSON (Binary JSON)으로 저장 - field(key) 중복 불가 - 대소문자 구별 BSON이란 binary로 인코딩(serialization) 된 JSON을 말한다. JSON이 그러하듯이 네트워크 전송비용이 적고 정형화..

Web/MongoDB

[mongoDB]NoSQL

NoSQL [Non Relational Operation Database SQL] 고정되지 않은 테이블 스키마 :필요할 때 마다 필드를 추가/ 제거 가능 → 개발 속도 향상 관계형 데이터베이스가 아닌 SQL: 데이터 간의 관계를 정의하지 않는 데이터베이스 일반적인 관계형 데이터베이스에서는 데이터의 중복을 제거하고 무결성을 보장하기 위해서 정규화를 하게 되는데 이러한 정규화가 과도한 JOIN으로 인해 성능 저하가 있을 수 있습니다. 하지만 NoSQL은 아래의 그림 처럼 중첩데이터 형태를 띔으로써 불필요한 JOIN 을 최소화시킵니다. NoSQL의 장점 1) 불필요한 Join의 최소화 2) 유연성있는 서버 구조 제공 3) 비정형 데이터 구조로 설계비용 감소 4) Read/Write가 빠르며 빅데이터 처리가 가..

emojiyeon
'Web/MongoDB' 카테고리의 글 목록