본문 바로가기

Computer Science/MongoDB

Mongoose regex 사용하기 Mongoose regex 사용하기 - MongoDB에서 like 기능 구현하기 RDBMS의 like query와 같은 기능을 구현하기 위해서 정규식을 사용해야 합니다. 우선 Number collection에 name : 1name : 11name : 111 name : 2 name : 222 라는 데이터가 있다고 가정합니다. 여기에서 1이 들어있는 document를 찾기 위해서는 기본적으로 Number.find({name : /1/ }, function(err, nums){// logic}) 과 같이 생각할 수 있습니다. 정규식을 고정적으로 사용할 경우 문제가 없지만, parameter를 통해서 요청에 따라 동적으로 만들어 질 경우에는 다음과 같이 진행하겠죠. Bad) const query = '/'+.. 더보기
MongoDB 3.0 Sharding * sharding - 여러 단말에 걸쳐 데이터를 저장하는 방법. 1. 목적 - 큰 dataset과 높은 처리속도는 단일 서버에서는 힘든일이다. - working set 크기가 램 크기보다 커지면 disk i/0로 인해 버벅거리게 된다. - 이를 해결하기위해 2가지 방법이 있다. Vertical scaling과 Sharding( horizontal scaling). - Sharding은 각 shared가 처리하는 operation 수를 줄여준다. 각 Shared 는 클러스터가 커짐에 따라 적은 operation을 수행하게 된다. 2. 구성요소 - Shard, Query router, config server - Shard : 데이터를 저장한다. 각 Shard는 replica set이다. - Query r.. 더보기
MongoDB 3.0 replication * Replication의 목적 - 단일 서버 상황에서의 디비 손실로 부터 보호할 수 있다. - replica set 은 같은 dataset을 가지는 mongodb의 집합이다.- primary mongod가 모든 write operation을 받는다. 다른 모든 mongod instances(secondaries) 같은 operation을 적용한다. - primary : accept all write operations from clients. - Replica set에서 primary는 1개만 존재한다.- primary는 dataset의 모든 변화를 log에 남긴다.- Secondary는 primary의 log를 받아서 그들의 dataset에 operation을 적용시킨다.Secondary의 datas.. 더보기
MongoDB 3.0 release http://java.dzone.com/articles/announcing-mongodb-30 더보기
MongoDB java driver 1. download the java driverhttp://central.maven.org/maven2/org/mongodb/mongo-java-driver/ 2. operation 은 MongoDB 사이트 참조 http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/ * 여러 thread를 올리더라도 database connection을 담당하는 MongoClient는 한 개만 존재하여야 한다. 더보기