StoryCode

'Database 관리/Mongo DB'에 해당되는 글 5건

  1. MongoDB vs MySQL CRUD 비교
  2. 성능 최적화 전략
  3. 기초사용법
  4. 설치 ( Windows )
  5. 용어

MongoDB vs MySQL CRUD 비교

Database 관리/Mongo DB
반응형

- Scalability : Max ScaleUp vs Many ScaleOut

 

- Scale Up의 한계

  * 연결16개부터 성능향상 없음.

  * CPU Core 16 개부터 성능향상 없음.

 

- CAP 이론

  * MongoDB 는 C-P

 

- ACID 이론

 

 

- NoSQL(MongoDB) VS RDBMS(MySQL)

  * 동일한 데이터에 대해 CRUD 연산

  * 2개 이상의 클라이언트를 연결하여 연산 시도

  * MongoDB 는 싱글노드, 멀티노드를 구분하여 작업

  * 데이타 구하기 : https://www.data.gov/tools/123

  (https://www.data.gov/climate/ecosystem-vulnerability/ecosystem-vulnerability-tools/123)

 

 

[참고] https://www.slideshare.net/WooYeongChoe1/slidshare-mongodbmysqlcrud

반응형

'Database 관리 > Mongo DB' 카테고리의 다른 글

성능 최적화 전략  (0) 2019.04.21
기초사용법  (0) 2019.04.18
설치 ( Windows )  (0) 2019.04.18
용어  (0) 2019.04.16

성능 최적화 전략

Database 관리/Mongo DB
반응형

- 데이터 모델링.References

db.member_tbl.find({memberid:'abc'});  와 같이 find 하면,
   { "_id" : ObjectId("5cb82543ffd1c1ef601f0350"), "memberid" : "abc" }

위와 같이 _id 의 ObjectId 가 있으며, _id 로 검색도 가능함. 즉 _id 를 다른 Collection 에넣고 참고 하는 방법이 가능.

   db.member_tbl.find({_id:ObjectId('5cb82543ffd1c1ef601f0350')}); 

 

- 데이터 모델링.BSON

  Binary 는 최대 16MB.

 

- Index

  * 각 Index 는 8KB 의 데이타 공간 필요.

  * Index 는 system.indexes Collection 에 저장됨 : db.system.indexes.find() 로 Index 확인 가능.

  * Index 생성 : db.member_tbl.ensureIndex({"username":1, "hpno":-1}, {"name":"idx_member_tbl"}, {"unique":true},}{"dropDups":true}, {"background":true}) # 1은 오름차순. -1 이면 내림차순. background 는 백그라운드로 생성.

                  ensureIndex = createIndex

  * Index 확인 : db.member_tbl.getIndexes()

  * Index 삭제 : db.member_tbl.dropIndex("name_1")

db.runCommand({"dropIndexes":"user", "index":"*"})

 

- Spatial Index

  * db.map_tbl.ensureIndex({"gps":"2d"})

  * Ex> {"gps":[0,100]}, {"gps":{"x":30,"y":30}}, {"gps":{"lat":30,"long":30}}

  * db.map_tbl.ensureIndex({"gps2":"2d"}, {"min":-1000, "max":1000})

    이 경우오류 발생함 : db.map_tbl.insert({"gps2":{-1001, 0}})

  * 참고 : https://docs.mongodb.com/manual/core/geospatial-indexes/

- Multikey Index

  Array Field Index

 

- Text Index

  * String 컨텐츠에 대한 Index

  * 참고 : https://docs.mongodb.com/manual/core/index-text/

 

- Hashed Index

  db.member_tbl.createIndex({"a":"hashed"})

 

- PLAN 확인.explain

  db.member_tbl.find().sort({"$natural":-1}).explain("executionStats")

 

- Capped Collection ( 제한 컬렉션 )

  * 고정사이즈. Insert, Retrive 시 high-throughput.

  * Insert 순서 보장.

  * 정렬을 위한 인덱스 불필요. 오버헤드 없이 higher insertion throughput.

  * db.createCollection("log", { capped:true, size:100000}}

  * Document 개수 제한 : db.createCollection("log", { capped:true, size:100000, max:5000}}

  * Document 는 항상 입력순서대로 원형큐에 저장

  * 큐가 다 찼을 경우, 오래된 문서부터 대치됨.

  * 역순서 정렬 : db.user.find().sort({"$natural",-1})

 

 

 

 

 

 

 

 

 

[ 참조 ] https://www.slideshare.net/mrg7211/mongo-db-52216593

반응형

'Database 관리 > Mongo DB' 카테고리의 다른 글

MongoDB vs MySQL CRUD 비교  (0) 2019.04.21
기초사용법  (0) 2019.04.18
설치 ( Windows )  (0) 2019.04.18
용어  (0) 2019.04.16

기초사용법

Database 관리/Mongo DB
반응형

실행) "C:\Program Files\MongoDB\Server\4.0\bin\mongo.exe"

 

DDL) db.help() 참조

DB 생성 : use DB명. Collection 을 하나 생성해야 show dbs 에 보인다.

DB 선택 : use DB명. 이미 DB명이 있으면 선택. 없으면 생성됨.

DB 삭제 : use DB명 후 db.dropDatabase()

현재 DB 보기 : db 혹은 db.getName()

 

COLLECTION 생성 : db.createCollection("member_tbl") 혹은 insert cllection 시 자동 생성

                          생성시 옵션으로 db.createCollection("member_tbl", "{capped:true, autoIndex:true,size:6142800,max:10000}") 등을 줄 수 있다.

COLLECTION 삭제 : db.member_tbl.drop()

 

DML) 1 row = 1 Document

https://docs.mongodb.com/manual/tutorial/insert-documents/

https://docs.mongodb.com/manual/tutorial/query-documents/

https://docs.mongodb.com/manual/tutorial/update-documents/

https://docs.mongodb.com/manual/tutorial/remove-documents/

 

Ex> 사용 예제

> show dbs

admin    0.000GB

config    0.000GB

local      0.000GB

 

> use mydatabasename

> db.member_tbl.insert({memberid:'userid', memberpwd:1234, info:{membername:'hongildong', age:34}});

> show dbs

admin    0.000GB

config    0.000GB

local      0.000GB

mydatabasename 0.000GB

> show collections

member_tbl

db.member_tbl.find({memberid:'userid'})

> db.member_tbl.remove({memberid:'userid', justOne:false}); # 전체 삭제

 

[ 참조 ]

https://velopert.com/457

반응형

'Database 관리 > Mongo DB' 카테고리의 다른 글

MongoDB vs MySQL CRUD 비교  (0) 2019.04.21
성능 최적화 전략  (0) 2019.04.21
설치 ( Windows )  (0) 2019.04.18
용어  (0) 2019.04.16

설치 ( Windows )

Database 관리/Mongo DB
반응형

다운로드 후 설치시, Windows 7 에서는 진행이 안되는 경우가 발생할 수 있다.

Compas 문제인데, Windows 8 부터 지원한다.

이 경우에는 아래지시를 따른다.


1. Run the installer with a double-click.

2. Click next.

3. Accept the License Agreement

4. Select the Complete installation type and click Instal

5. Uncheck the Install Compass option (by default this checked and Compass requires the Microsoft .NET Framework version 4.5 or later

6. With in a minute time installation will get complete and you can see the exe files under C:\Program Files\MongoDB\Server\3.6\bin

 

[ 참조 ] https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/

반응형

'Database 관리 > Mongo DB' 카테고리의 다른 글

MongoDB vs MySQL CRUD 비교  (0) 2019.04.21
성능 최적화 전략  (0) 2019.04.21
기초사용법  (0) 2019.04.18
용어  (0) 2019.04.16

용어

Database 관리/Mongo DB
반응형

[참조] https://www.a-mean-blog.com/ko/blog/MEAN-Stack/_/MEAN-Stack-%EC%86%8C%EA%B0%9C

 

몽고DB는 대표적인 NoSQL, Non Relational Database

문장, 이미지데이터(base64) 등 길이가 길고 일정하지 않은 데이터들을 저장하고 검색하는데 적합한 DB

고전적인 테이블, 행, 열의 개념이 없음

 

document : 하나의 데이터. JSON형식. Javascript의 object와 마찬가지로 고정된 형식이 없으며 항목의 추가 삭제가 자유

 

collection : document의 모음.

 

데이터의 조작은 SQL대신 Javascript로 할 수 있습니다.

반응형

'Database 관리 > Mongo DB' 카테고리의 다른 글

MongoDB vs MySQL CRUD 비교  (0) 2019.04.21
성능 최적화 전략  (0) 2019.04.21
기초사용법  (0) 2019.04.18
설치 ( Windows )  (0) 2019.04.18