일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- probability
- 몽고디비
- No SQL
- 확률
- 주일설교
- Big Data
- 딥러닝
- 빅데이터
- data science
- MongoDB
- Deep learning
- Artificial Intelligence
- 김양재
- 김양재 목사
- 데이터 과학
- 통계
- Machine Learning
- Statistics
- 우리들교회
- R
- 빅데이타
- openCV
- WebGL
- 빅 데이터
- 김양재 목사님
- 인공지능
- node.js
- c++
- nodeJS
- 빅 데이타
- Today
- Total
목록데이터베이스 (32)
Scientific Computing & Data Science
by Geol Choi | March 24, 2014MongoDB를 활용한 개발자가 아닌 관리자라면 성능과 헬스를 모니터링하는 것이 중요하다. MongoDB의 모니터링 전략은 세 가지 정도로 요약할 수 있다:첫번째, 데이터베이스의 활동을 실시간으로 리포팅하는 유틸리티를 활용하는 방법이다. 이 유틸리티는 MongoDB 다운로드 패키지에 포함되어 있다.두번째, 데이터베이스 명령을 활용하는 방법이다. 이 명령을 통해 현재 데이터베이스의 상태에 대한 통계를 확인할 수 있다.세번째, MMS 모니터링 서비스(MMS Monitoring Service)를 활용하는 방법이다.MMS는 MongoDB Management Service의 약자이며, 데이터에 대한 시각화 및 경고 등을 제공하는 서비스이며, MongoDB가 제공..
by Geol Choi | March 24, 2014이번 글에서는 MongoDB를 시작하는 것에 대해 알아보도록 하겠다. 이전의 내용들을 이해하거나 실습을 통해 학습하였다면 이미 시작하는 방법을 알고있는 것이라 할 수 있지만 이번 글에서는 시작과 관련된 여러가지 옵션 또는 셋팅에 대해 좀 더 자세히 다룰 것이다. 커맨드라인에서 시작하기커맨드라인 툴(Mac OS: Terminal, Windows: cmd)에서 MongoDB를 시작할 때 "mongod"를 실행한다. 이 명령어 실행 시 자주 사용되는 옵션에 대하여 정리하였다. --dbpath데이터가 저장될 디렉터리를 지정한다. 만약 이 옵션이 생략되면 디폴트로 Linux에서는 "/dada/db", Windows에서는 "C:\data\db\"로 지정된다.mon..
by Geol Choi | March 10, 2014이번 글에서는 "데이터베이스 간 참조"에 대하여 알아보도록 하겠다. 도큐먼트를 참조하는 방법은 크게 두 가지가 있는데, 하나는 수동 참조(Manual Reference)이며 다른 하나는 "DBRef"를 사용하는 것이다.그러면 각각에 대하여 자세히 알아보자. 수동 참조수동 참조 방식은 참조할 다른 도큐먼트의 아이디(ObjectID)를 도큐먼트 내 하나의 키(key)로 저장하는 것이다. 즉, 키 값인 아이디를 통해 참조할 도큐먼트를 얻어내어 해당 도큐먼트의 다른 데이터를 얻는 방식이다. 이 방법은 간단한 방식으로 대부분의 경우에서 사용된다.'백문이 불여일견'이므로 예제(예제는 MongoDB의 공식문서를 참조하여 작성하였다)를 통해 자세히 설명하도록 하겠다...
by Geol Choi | March 6, 2014이번 글에서는 비교적 큰 사이즈의 바이너리 파일을 저장하는 메커니즘인 "GridFS"에 대해 알아보도록 하겠다.예를 들어, 블로그 같이 글을 작성하는 사이트를 만들어 DB와 연동할 경우 텍스트만이 아닌 이미지, 또는 특정 어플리케이션의 바이너리를 저장해야 할 것이다. MongoDB는 이러한 바이너리 파일을 효율적으로 관리하는 메커니즘을 제공하는데 이것이 GridFS이다. GridFS를 사용해서 파일을 저장해야 하는 이유를 들면 다음과 같다:GridFS는 MongoDB를 위해 설정한 "replication"이나 "autosharding"을 활용한다. 이는 패일오버(Failover) 및 스케일아웃(Scale-out)을 하는데 매우 쉽다. (Replicatio..
by Geol Choi | March 6, 2014지금까지는 데이터가 추가되거나 삭제될 때 저장 사이즈가 동적으로 변하는 컬렉션에 대하여 다루어 왔다.MongoDB는 저장 사이즈가 고정된 다른 유형의 컬렉션을 제공하는데, 이 컬렉션을 "Capped Collections"라고 한다. 가장 큰 특징 중 하나는 "aging-out"으로써, Capped collections는 도큐먼트가 저장되는 순서 그대로 저장되며 만약 저장소("queue"라고 함)가 가득 차 있을 경우 가장 오래된 도큐먼트를 삭제하고 새로운 도큐먼트를 저장한다.따라서, 저장소의 모양을 다음과 같이 형상화 할 수 있다:[그림 1] 새로운 도큐먼트는 queue의 맨 마지막에 들어온다.[그림 2] queue가 가득차게 되면, 최고(最古)의 도큐먼..
ETL 도구들은 하나의 빅데이터 환경에서 얻은 데이터를 다른 데이터 환경으로 이전하는데 필요한 세 가지 중요한 기능(추출(Extract), 변형(Transform), 불러내기(Load))을 결합한다. 전통적으로, ETL은 데이터 웨어하우스 환경에서 일괄 처리 작업을 하는데 사용되어 왔다. 데이터 웨어하우스는 사업자들에게 사업 중점에 관계되는 데이트에 대한 분석과 리포트를 강화하는 수단을 제공한다. ETL 도구들은 데이터 웨어하우스가 요구하는 포맷으로 데이터를 변형한다.변형은 사실상 데이터가 데이터 웨어하우스에 로딩되기 전 중간 위치에서 실행된다. IBM, Informatica, Pervasive, Talend, Pentaho를 포함한 많은 소프트웨어 벤더들이 ETL 소프트웨어 툴을 제공한다.ETL은 다음..
Written by cinema4d이번 글에서는 DB 명령어에 대해 알아보도록 하겠다. 그 동안 앞선 글에서 다루지 않았던 수많은 MongoDB의 명령어에는 어떤 것들이 있는지 훑어볼 수 있는 기회가 될 것이다.(물론 하나하나 다루지는 않는다. 여기서 다루지 않은 명령어들은 MongoDB의 공식 도큐먼트 페이지를 통해 알아보기 바란다.) 우선 "db.listCommands()" 명령을 통해 DB 명령어의 리스트를 살펴보도록 하자:> db.listCommands() _isSelf: no-lock { _isSelf : 1 } INTERNAL ONLY _migrateClone: no-lock adminOnly slaveOk internal - should not be called directly _recvCh..
by Geol Choi | March 2, 2014앞의 글에서 설명했던 집합(aggregation) 연산자인 count, distinct, group으로 할 수 있는 모든 것 뿐만 아니라 더 많은 일들을 맵리듀스를 통해 할 수 있습니다. 특히 다중의 서버를 통해 집합 연산자를 쉽게 병렬로 처리할 수 있습니다. 맵리듀스는 문제를 여러 개의 덩어리로 분할하고, 각 덩어리를 다양한 머쉰으로 전송하고, 각 머쉰이 문제의 각 부분을 해결하도록 합니다. 모든 머쉰에서 처리가 모두 마무리되면 솔루션 결과를 모두 모아서 전체적인 솔루션으로 합칩니다.맵리듀스는 다음과 같은 절차로 처리됩니다.(1) 첫번째 단계는 "맵(Map)"이며, 이는 연산을 컬렉션 내의 각 도큐먼트로 매핑하는 것입니다. 이 연산은 "아무 것도 하지 ..
by Geol Choi | February 16, 2014MongoDB는 복잡한 데이터 분석을 위해 다양한 맵리듀스(Map Reduce) 등 다양한 집합(Aggregation) 도구를 제공한다. countcount 연산자는 컬렉션 내의 도큐먼트 개수를 파악할 수 있는 메써드이다.다음과 같이 "people" 컬렉션에 3개의 도큐먼트를 추가한 후,> db.people.insert({username: "user1"}); > db.people.insert({username: "user2"}); > db.people.insert({username: "user3"}); count() 메써드를 이용하여 개수를 구하면 다음과 같다:> db.people.find().pretty() { "_id" : ObjectId("5..
by Geol Choi | February 9, 2014이전 글에서 약속하였듯이 이번 글에서는 "$snapshot" 쿼리 옵션에 대해서 자세히 알아보도록 하겠다. 일반적인 데이터 처리 절차는 다음과 같다: MongoDB로부터 도큐먼트를 불러오고, 이에 대한 처리를 한 후, 처리에 대한 결과를 다시 저장한다. 예를 들어 다음 코드를 살펴보자.cursor = db.myCollection.find(); while (cursor.hasNext()) { var doc = cursor.next(); doc = process(doc); db.myCollection.save(doc); } 위의 코드 내용을 살펴보면,변수 "cursor"에 myCollection으로부터 검색된 도큐먼트를 저장하였으며,"cursor"에 저..