-
20140409 MongoDBDB/Nosql 2014. 4. 9. 17:37반응형
- CAP이론 : ACID(원자성, 일관성, 고립성, 지속성)
- RDB : 단일서버 / 일관성, 가용성 지원 / 분산이 되는 순간 일관성이 깨짐 / 분산 된 한 서버가 죽더라도 계속 유지가 됨
* 몽고디비 : Agile(기민한, 빠른) / humongous(거대한), C++로 짜여져 있어서 빠르다 / sharding(샤딩), 나눠서 저장해줌, 기능성을 손상시키지 않고 수평 스케일(커짐) => auto !! 설치만 하면 몽고디비가 알아서 해줌
scale up : 업그레이드, 더 큰 서버를 삼.
scale out : 서버를 여러대 둠(늘리는만큼 서버가 커짐)
json 구조로 저장, 스키마자 자유롭다
- 같은 collection에 다 저장함 -> 관리의 어려움이 있으므로 같은 변수 형태로 만들기
- 명령문 :
select * from saves where a=2 == db.scores.find({a:2})
select * scores where a>15 == db.scores.find({a:{'$gt':15}});
gt : great than, lt : less than
$set : 키추가/$push : 기존값에 추가/ $pull : 기존값에서 삭제
delete from users where name='sue' == db.users.remove({name:'sue'});
- RDB -> ODB -> MongoDB
- GUI 툴 : UMONGO
- 실행방법
mongod.exe 로 실행
다른 작업 실행
mongo1 폴더 만듬
test.js (http://mongoosejs.com/) -> node test1.js
npm install mongoose
(언어형태 string, date, number)
update update_at == orderby ascending
-update_at == orderby decending
- MongoDB 서비스 등록 : (cmd창으로 실행할 필요 없이 자동으로 실행됨)
1) 바탕화면 명령프롬프트 관리자 권한으로 실행
2) mongodb\bin>
3) sc create MongoDB binPath= "C:\mongodb-2.6.0\bin\mongod.exe --service --dbpath C:\data\db --logpath c:\data\mongoserivce.log --logappend --directoryperdb" start= auto
4) sc start MongoDB
- express/nodejs 와 mongoDB로 TODO 프로그램 만들기
1) todo 저장 : save
2) todo 리스트 : find
3) todo 삭제 : rename
4) todo 수정 : update
1. package.js 에 mongoose : "*" 만들고 todo폴더에서 npm install
2.
* RDB vs MongDB
1) 데이터베이스
2) 테이블 / 컬렉션
3) 레코드 / 문서 {키:값}
4) 컬럼 / X
5) insert / save
select / find
update / update, save
delete / remove
- 하둡도 굉장히 학습곡선이 큼
* 익스플로어 테스트
- http://try.mongodb.org/
- next 치면서 단계별 테스트 진행
* 포트번호
- tcp/ip -> mysql : 3300
반응형'DB > Nosql' 카테고리의 다른 글
Centos에 Mongodb 설치 (0) 2014.04.28 2014-04-10 MongoDB - pool (0) 2014.04.10