일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- data science
- node.js
- 김양재 목사님
- Deep learning
- 몽고디비
- 확률
- MongoDB
- 딥러닝
- Machine Learning
- No SQL
- probability
- 빅 데이타
- c++
- Statistics
- 김양재
- Big Data
- WebGL
- 데이터 과학
- 통계
- 빅 데이터
- nodeJS
- 인공지능
- 우리들교회
- openCV
- Artificial Intelligence
- 빅데이터
- 빅데이타
- R
- 김양재 목사
- 주일설교
- Today
- Total
목록DATABASE (20)
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..
by Geol Choi | April 23, 2014지난 글에서는 개발단계 수준에서의 데이터 샤딩에 대하여 알아보았다. 실제 어플리케이션의 서비스 단계에서는 보다 안정성이 요구되기 때문에 이번 글에서는 이에 필요한 설정에 대해 알아보도록 하겠다. 데이터 운용의 안정성을 위해서는 다음과 같은 항목들이 요구된다:다중의 config server들다중의 mongos server들각 샤드에 대한 리플리카(Replica) 구성 샤딩에 대한 내용을 다루면서 익숙치 않은 많은 용어들이 한꺼번에 등장하여 혼란스러울 수 있으므로 다음 그림을 통해 전체적인 용어와 이들의 관계에 대하여 이해하도록 한다.[그림 1.] App Server, Router(Routing Server), Config Server, Shard(Repl..
by Geol Choi | March 29, 2014지난 글에서 Replica Set을 구성하는 방법에 대해 자세하게 다뤘다. 지난 글에서는 1대의 머쉰에서 localhost를 통해 Replica Set을 구성한 바 있다. 이번 글에서는 여러 대의 머쉰에서 Replica Set을 구성하는 방법에 대해 알아보도록 하겠다.진행은 튜토리얼 방식이며, 제시되는 OS 및 IP(IP 대신 DNS를 입력해도 무방함) 등은 예를 들어 설명하기 위함이며 각자 자신의 환경에 맞게 응용하기 바란다. 한 번 따라해 보면 쉽게 자신의 환경으로 설정할 수 있으리라 믿는다.이 예제에서는 총 2대의 머쉰을 사용하였으며, 각각 Windows와 Mac OS 환경이며, 설정되는 노드는 모두 3개(PRIMARY 1개, SECONDARY 2..
by Geol Choi | March 27, 2014이번 글에서는 MongoDB의 가장 중요한 개념 중 하나인 Replica Set에 대해 알아보도록 하겠다. Replica Set은 기본적으로 자동 패일오버 기능을 갖는 마스터-슬레이브 클러스터이지만, 마스터-슬레이브 클러스터의 가장 큰 차이점은 마스터 노드가 가변적이라는 것이다. 즉, 현재 마스터 노드로 지정된 인스턴스가 다운될 경우 다른 노드가 마스터 노드로 자동 지정된다는 점이다. 마스터-슬레이브 클러스터와 Replica Set과의 공통점은, 단 하나의 마스터 노드(PRIMARY 노드라고도 함)와 여러 개의 슬레이브 노드(SECONDARY 노드라고도 함)를 갖는다는 점이다. 개념적으로는 별 것 아니지만 실행에 있어서 어려움이 있을 것이란 예상이 들기..
by Geol Choi | March 26, 2014데이터베이스의 관리자 역할 중 가장 중요한 것 중 하나는 아마도 데이터를 안전하게 지키는 것이다. 이를 위해 가장 기본적인 일은 원본 데이터를 실시간에 가깝게 끊임없이 복제 데이터를 만드는 것이며, 마스터-슬레이브 복제(Master-Slave Replication) 모델이 이러한 기능을 수행하는 것이다. 즉, 원본 데이터는 마스터의 데이터베이스에 저장하고 하나 이상의 슬레이브를 만들어 각 슬레이브의 데이터베이스에 마스터의 데이터를 복제하는 것이다. 다음 그림은 클라이언트 어플리케이션과 마스터-슬레이브 간 관계를 설명한 것이다. [그림 1.] 클라이언트 어플리케이션-마스터(Primary)-슬레이브(Secondary) 간 데이터 관계. 마스터-슬레이브 복제..
by Geol Choi | March 25, 2014이번 글에서는 MongoDB의 관리자 입장에서 보안 측면을 다루도록 하겠다. 최근 금융권에서 일어나고 있는 개인정보 유출 사고를 보면 보안이 얼마나 중요한 일인지 새삼 깨닫는다. 특히 정보들이 DB에 저장될 것이므로 DB의 보안에 대한 중요성은 굳이 언급할 필요조차 없을 것이다.그러면 어떻게 하면 MongoDB가 안전한 환경에서 운용되도록 할 것인지에 대한 내용을 다루도록 하겠다. 관리자 계정MongoDB에는 admin이라는 데이터베이스가 기본적으로 존재한다. 어느 데이터베이스든 간에 사용자를 등록할 수 있지만, admin 데이터베이스에 사용자로 등록되면 일종의 관리자 권한이 부여된다. 즉, admin 외의 사용자는 다른 데이터베이스에 쓰기나 읽기가 불..
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 | 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"에 저..