본문 바로가기

2019/0424

MongoDB 7일차 1. 샤딩이란? MongoDB에 의한 수평 스케일을 실현하는 구조로 샤드는 여러 노드에 걸친 데이터의 분산 배치 구조 MongoDB의 데이터를 분할하여 각 서버에 저장해 나갈 자동 샤드를 구성한다. 데이터를 여러 서버에 분할, 데이터의 분할은 MongoDB가 분할된 데이터는 상황에 따라 각 Shard로 이동 MongoDB 이용자(앱)은 여러 서버를 의식하지 않아도 된다. 복제가 동일한 데이터의 사본을 여러 DB가 가진 반면, Sharding은 다른 데이터를 여러 DB에 넣는다. 따라서 보통의 운용은 Sharding + ReplicaSet(복제) 로 구성된다. ⓐ 샤드 : 실제로 데이터가 저장되어 있는 mongod 프로세스 하나의 문서는 하나의 샤드에 저장되어 샤드 간의 데이터 복제는 되지 않는다. 복제 .. 2019. 4. 23.
MongoDB 6일차 - 코드몽키 코드 몽키같다는 느낌을 받는다. 이해한 부분은 적고 그저 따라친다. 2019. 4. 22.
MongoDB 6일차 1. MVC Pattern + MongoDB를 해볼 예정 2. 오늘 enum이라는 걸 배워봤다. ex) 요일 (7), day (1~31) 등을 관리할 때 사용한다. 변수는 하나인데 값이 여러개 있을 때!!!! 3. Beans 설정 4. MongoDB는 AutoCommit이라 Commit, Rollback이 없다. 5. DAOBOOK 패키지의 NewMyDAO클래스를 다음과 같이 작성해준다. 6. 메인설정을 해준 뒤 실행해주면 이렇게 MongoDB에 Input이 되었음을 알 수 있다. cf. 여기서 실수할 수 있는 부분 왜 그런지 살펴보자. context:annotation-config는 @Required와 @AutoWired를 읽어들이는 기능을 한다. 반면 Componenet-Scan은 @Componene.. 2019. 4. 22.
MongoDB 5일차 1. DB작업 create database testdb; / use testdb; show databases; show dbs drop database testdb; / db.dropDatabase 2. 컬렉션 작업 create table product(); //db.createCollection("product"); show tables; / show collections; select * from tab; / db.test.remove({}), db.test.drop() 3. 문서 조작(삽입) insert / save db.test.insert({"name" : "mongo"}); db.test.insert){"string": "abc", "array" : ["a" , "b", "c"]}); 4. 문.. 2019. 4. 19.
MongoDB 수업 4일차 파일처리 : 일반문서처리, 문서 변환, 좌표를 그리드 영역으로 처리 1. 일반문서처리 MongoDB표준명령 : mongofiles를 사용한다. 명령어 put get search delete option : "-d"로 DB로 지정 -v 이중화(파일을 올릴 때 쓰레드에 안전하다) cf. 일반적으로 MongoDB에 저장할 수 있는 파일의 크기는 16MB 단위로 이루어진다. 16MB이상은 GridFS를 사용한다. GridFS는 MongoDB 데이터를 분할해서 (입/출력) 하기 위한 인터페이스 C:\TEST>mongofiles -v -d images put a.jpg C:\TEST>mongofiles -v -d images put b.jpg C:\TEST>mongofiles -v -d images put c.jp.. 2019. 4. 18.
MongoDB 수업 3일차 1. 오늘 했던 실수 관리자 권한에 들어가지 않고 mongo라고 입력하면 접속이 되지 않는다. 2. 자기가 사용하고 있는 DB의 메모리를 보고 싶을 때는 무엇이라고 입력하면 되는가? db.stats(); 3. 질문 - myScore vs Score Collections? 4. 연습문제 1) ID와 가격만 출력해보자 db.Product.aggregate([{$project : {_id:1, Category:1}}]); 2) 가격만 출력해보자. db.Product.aggregate([{$project : {_id:0, Price:1}}]); 3) 가격과 카테고리를 출력하자. 단 가격별 오름차순으로 출력하자 db.Product.aggregate([{$project : {_id:0, Price:1, Catego.. 2019. 4. 17.