일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 주일설교
- 김양재 목사님
- 우리들교회
- No SQL
- node.js
- c++
- Deep learning
- Big Data
- Machine Learning
- 빅 데이타
- nodeJS
- openCV
- 통계
- R
- 빅데이터
- 김양재
- 김양재 목사
- Artificial Intelligence
- 확률
- 빅데이타
- 데이터 과학
- 빅 데이터
- WebGL
- 몽고디비
- probability
- 딥러닝
- Statistics
- 인공지능
- MongoDB
- data science
- Today
- Total
목록MongoDB (56)
Scientific Computing & Data Science
MongoDB의 Database 및 Collection을 삭제하는 방법에 대해 알아보자.collection 삭제현재 db에 "users"라는 이름의 collection이 있다고 가정하자. > db.getCollectionNames() [ "system.indexes", "users" ] 현재 db에서 users collection을 삭제하는 명령은 drop이다. > db.users.drop() true > db.getCollectionNames() [ "system.indexes" ] drop 명령을 통해 collection이 삭제된 것을 확인할 수 있다.db 삭제먼저 "test"라는 이름의 db를 생성한다: > use test switched to db test > show dbs local 0.078..
예전 글에서 R과 MongoDB 연동에 대해 다룬 적이 있다.이번 글에서는 로컬호스트의 MongoDB가 아닌 MongoDB의 클라우드 호스팅인 MongoLab과 R을 연동하는 방법에 대하여 알아보도록 하자. 우선 MongoLab에서 만든 Database를 하나 만들고 데이터를 입력한다. 설명을 위해 다음을 가정한다:- Database Name: myDB- DB User: gchoi- Password: 1234 위와 같이 DB를 만들면 MongoLab에서 다음과 유사한 형태의 URI Standard를 제시할 것이다:mongodb://:@ds047950.mongolab.com:47950/myDB 이제 Shell에서 다음과 같이 입력하여 MongoLab과 연결한다:$ mongo ds047950.mongolab..
이번 글에서는 MongoDB의 응용으로서 통계 분석의 오픈소스 S/W로 널리 알려진 R에서 MongoDB를 연동하는 방법에 대해 소개하고자 한다. R용 MongoDB 패키지 설치 및 불러오기우선 가장 먼저할 일은 R에서 MongoDB를 연동하는 패키지인 rmongodb를 설치하는 것이다:> install.packages("rmongodb") 설치가 완료되면 라이브러리(패키지)를 불러온다:> library(rmongodb) MongoDB 서버 열기R에서 MongoDB를 연결하기 전에 MongoDB 서버를 작동시킨다. 일단은 Command Line Tool(Mac에서는 Terminal, Winodws에서는 Console)을 이용하여 MongoDB 로컬 서버를 열도록 하겠다.$ mongod -dbpath /{..
흔히 빅 데이터란 데이터의 크기가 매우 커서 기존의 방법으로는 처리할 수 없는 것을 의미한다. 즉, 데이터가 일반적인 데이터베이스로는 처리가 불가능하능한 데이터를 의미한다. 데이터가 매우 빠르게 증가할 때 이 데이터를 바탕으로 숨겨진 패턴을 발견하고 알려지지 않은 상관관계를 찾아내거나 또는 다른 유용한 정보를 알아내려면 빅 데이터 분석법이 필요하다. 빅 데이터의 핵심 특징은 다음과 같다:크기 (Volume): 데이터의 방대한 양.다양성 (Variety): 구조형(또는 정형), 비구조형(또는 비정형) 및 다중구조형 데이터 등의 다양한 유형.속도 (Velocity): 데이터는 신속하게 분석되어야 함.위와 같은 특징들이 모두 영어 V로 시작되므로 3Vs라고도 하며, 이에 덧붙여 데이터의 신뢰성(Veracity..
by Geol Choi | April 8, 2017이번 글은 샤딩에 대한 마지막 글로써 샤딩 관리에 대한 내용을 다루도록 하겠다.Sharding / Production Configuration에서 실행했던 mongos 인스턴스가 여전히 실행 중인 것을 가정하고 진행하도록 하겠다. (만약 실행 중인 mongos 인스턴스가 없다면 하나 실행하도록 하자.) Config 컬렉션샤드에 대한 정보는 config db에서 얻을 수 있다. db를 config로 이동하자:mongos> use config switched to db config config의 컬렉션 리스트를 출력하면 다음과 같다:mongos> db.getCollectionNames() [ "changelog", "chunks", "databases", "..
by Geol Choi | April 23, 2014지난 글에서는 개발단계 수준에서의 데이터 샤딩에 대하여 알아보았다. 실제 어플리케이션의 서비스 단계에서는 보다 안정성이 요구되기 때문에 이번 글에서는 이에 필요한 설정에 대해 알아보도록 하겠다. 데이터 운용의 안정성을 위해서는 다음과 같은 항목들이 요구된다:다중의 config server들다중의 mongos server들각 샤드에 대한 리플리카(Replica) 구성 샤딩에 대한 내용을 다루면서 익숙치 않은 많은 용어들이 한꺼번에 등장하여 혼란스러울 수 있으므로 다음 그림을 통해 전체적인 용어와 이들의 관계에 대하여 이해하도록 한다.[그림 1.] App Server, Router(Routing Server), Config Server, Shard(Repl..
by Geol Choi | April 22, 2014샤딩의 설정은 다음과 같이 크게 두 가지 과정으로 나눌 수 있다: 1. 서버 시작하기, 2. 데이터에 샤딩 방식 결정 샤딩은 기본적으로 다음과 같이 세 가지 요소를 포함한다:1. 샤드샤드는 컬렉션의 데이터를 부분적으로 담는 그릇이다. 샤드는 하나의 mongod 서버(개발 및 테스트용)이거나 리플리카 세트(실제 서비스용)이다.2. mongos(Query Router)mongos는 라우터 프로세스이며 MongoDB 분산을 동반한다. 기본적으로 요청을 라우팅하거나 응답을 모은다. mongos는 어떠한 데이터도 저장하지 않으며 환경설정에 대한 정보도 저장하지 않는다.3. Config Server(환경설정 서버)환경설정 서버는 클러스터의 환경설정을 저장한다. 즉..
by Geol Choi | April 13, 2014 샤드 키란?샤드 키(Shard Keys)는 클러스터의 샤드들 간에 컬렉션의 도큐먼트를 어떻게 분산할 것인가를 결정하는 것이다. 다음의 예를 들어보자. 4개의 샤드로 구성된 클러스터가 있다고 가정하자. "x"라는 도큐먼트 키를 기준으로 샤드 1(Chunk 1)에는 "x"가 -75까지의 데이터를 저장하고, 샤드 2에는 25까지, 샤드 3에는 175까지, 샤드 4에는 175보다 큰 데이터를 분산하여 저장한다. 이 때 데이터를 분산하는 기준이 되는 키인 "x"를 샤드 키라고 한다. [그림 1.] 샤드 키를 이용하여 데이터 세트를 여러 개의 덩어리(chunk)로 분할. 샤드 키의 작동 원리만약 회원 관리를 위한 멤버 데이터베이스(members)를 나이(age)..
by Geol Choi | April 13, 2014 샤딩(Sharding)이란?데이터의 스케일 아웃(Scale Out)을 하는 방법으로 여러 대의 머쉰을 통해 데이터를 분산하는 것을 의미한다.즉, 데이터를 여러 그룹으로 쪼개어 이 그룹들을 각기 다른 머쉰에 저장하는 처리 방법이다.파티셔닝(Partitioning)이라고도 한다.늘어나는 데이터와 이에 대한 처리를 위해 더욱 강력하고 보다 큰 저장공간을 제공하는 다른 머쉰으로 교체하는 대신 여러 대의 머쉰을 추가하는 것이다. MongoDB의 자동 샤딩대부분의 데이터베이스 소프트웨어는 수동 샤딩 도구를 제공한다. 수동 샤딩의 경우 클러스터의 노드를 추가하거나 삭제 시 또는 데이터 분산 및 처리량 분산 등의 경우 관리에 어려움이 있을 수 있다.MongoDB는 ..
by Geol Choi | April 10, 2014MongoDB에서 인증을 통해 마스터와 슬레이브 노드 간 복제를 하고자 할 경우에는 슬레이브 노드가 마스터 노드의 데이터에 접근할 수 있는 권한을 설정할 수 있는 방법이 있다. 접근을 하고자 하는 마스터 노드의 db에 username과 password를 지정하여 user를 추가하고 슬레이브 노드에도 동일한 username과 password를 갖는 user를 추가한다.user를 추가하는 방법은 createUser() 메써드를 사용하는 것이다. 예를 들어, test라는 db에 다음과 같이 user를 추가해 보자:> use test switched to db test > db.createUser( ... { ... user: "cinema4d", ... pw..