DBMS/MongoDB

[MongoDB] NoSQL MongoDB 설치 및 사용법 (장점/명령어/종류)

쌍쌍바나나 2016. 3. 18. 15:41
반응형

Database 


university.mongodb.com에 가면 무료로 강의도 들을 수 있다.


  • MongoDB 특징
    • Humongos(현: 10gen) 라는 회사에서 만든 제품
    • JSON Type의 데이터 저장 구조
    • Sharding(분산) / Replica(복제) 기능
    • MapReduce(분산/병렬처리) 기능
    • CRUD위주의 다중 트랜잭션 처리
    • Memory Mapping 기술 기반 Big Data 처리 탁월
  • MongoDB의 용어
    • NoSQL - SQL
    • Collection - Table
    • Document - Row (Record)
    • Field - Column
    • Object_id - Primary Key
    • Embedded & Linking - Relationship
  • 다운로드
    • https://www.mongodb.org/
  • 사용하기
    • mongodb는 bin아래 파일을 실행하지요.
    • data의 folder를 따로 만들어 줘야해요.
    • Mongo 데몬 실행
      • shell에서 $MONGODB_ROOT/bin/mongod --dbpath /data_path를 지정해주자.
      • 만약 Cannot start server 라는 에러 메시지가 생기면 mongod --storageEngine=mmapv1 --dbpath /data_path로 실행
    • 관리툴 
      • 실행하기 위해서는 $MONGODB_ROOT/bin/mongo로 실행.
      • Mongo 데몬을 종료하기 위해서는 
      • > use admin 
      • > db.shutdownServer();
      • > exit
  • mongo 관리 명령어
    • 데이터베이스 목록을 보기 위해
      • > show dbs;
    • db의 상태를 확인하기 위해서
      • > db.stats();
    • Collection을 만들자 (Column을 설정할 필요가 없어요)
      • > db.createCollection('board')
    • Document를 삽입하기 위해 save ,insert
      • > db.board.save({_id:1, title:'title1', content:'content1', writer:'banana'})
      • > db.board.insert({_id:2, title:'title2', content:'content2', writer:'ssangssang'})
    • Document를 확인하기 위해서는 find
      • > db.board.find();
    • Collection 생성 / 관리
      • db.createCollection('name', [option]) : collection 생성
      • db.name.insert({key:value}) : collection 생성
      • show collections : collection 목록 보기
      • db.name.renameCollection('new_name') : collection 이름 변경
      • db.name.drop() : 삭제
    • 데이터 추가/갱신/삭제/조회
      • db.name.save ({key-1:value-1, key-2:value-2 ... });
      • db.name.insert ({key-1:value-1, key-2:value-2 ... });
      • db.name.update({ckey:cvalue}, {$set:{key-1:value-1});
      • db.name.remove({ckey:cvalue});
      • db.name.find()
    • 비교 연산자
      • $cmp : A>B:0+, A<B:0-, A=B:0
      • $eq : 동등
      • $gt : A>B : true
      • $lt : A<B : true
      • $lte: A<=B : true
    • 논리 연산자
      • $and : &
      • $not : !
      • $or : |
    • 산술 연산자
      • $add : +
      • $devide : /
      • $mod : %
      • $multiply : *
      • $subtract : -
    • 문자 연산자
      • $strcasecmp : 문자 비교
      • $substr : 문자 자르기
      • $toUpper : 대문자 변경
      • $toLower : 소문자 변경


반응형