MongoDB GUI Tool for Mac osx : MongoHub

Posted 2011. 11. 23. 20:48

MongoDB의 기세가 무섭다. 시간적으로 얼마 되지 않은것 같은데 벌써 꽤 많은 MongoDB GUI Tool들이 제공되고 있다.
그중에서 맥전용으로만 제공하는 MongoHub를 사용해 보았다. 일반적으로 윈도우나 리눅스용을 먼저 만들고 이후 맥용은 제일 나중에 나올텐데, 이 MongoHub는 Mac전용이다. 게다가 무료다.


처음 실행화면이다. 하단의 + 버튼을 클릭함으로 새로운 커넥션 정보를 추가할수 있다.

 
접속저보에 대한 추가화면이다.  모든 항목에 대해 넣어주지 않으면 접속이 안된다. 
MongoDB를 설치하여 default로 실행할 경우 user가 생성되지 않기 때문에 별도 데이터 베이스별로 user를 생성해야만 한다.


Database를 생성하고 또는 생성된 데이터베이스를 선택하면 테이블(Collection) 목록이 나오고 하단의 +,- 버튼을 이용해 새로운 Collection을 추가/삭제할수 있다.

MongoHub에는 MySQL로부터의 import, export기능이 내장되어 있다. 위의 항목과 같이 MySQL항목을 넣고 Connect 버튼 클릭하면 연결된 MySQL의 Database, Table에 대한 선택화면이 나오고 선택후 Import를 클릭하면 기존 Table데이터가 MongoDB로 import가 된다.

위의 화면은 이렇게 해서 import된 데이터의 일부분이다. 한글도 깨지지 않고 잘 보인다.  다만 데이터 양이 많은 경우 마이그레이션하는데는 상당한 시간이 걸릴것으로 예상된다.


위의 내용은  Query항목에서 특정 key에 해당하는  값을 불러와본 예시화면이다.  일일이 모든 함수를 다 작성해서 실행하는것이 아니라 위와같이 선택하려는 Key:value 에 대한 부분만 형식에 맞게 입력하고 Run 을 실행만 하면 된다.

위의 내용은 각 항목별로 발생하는 트래픽에 대한 모니터링 화면이다.  리눅스의 iostat 화면을 보는것같다.

대략적인 것만 한번 훑어 본 결과를 나열해 보았다.  처음 MongoDB를 접했을때만 해도 어떤 함수를 실행해야 할지 막막했었는데, 이런 툴을 통해서 좀더 쉽게 MongoDB에 다가갈수 있을것으로 보인다.

'DBMS > NoSQL' 카테고리의 다른 글

Jedis를 이용한 Redis 따라가기  (0) 2012.02.28
MongoDB Naming Rule  (0) 2011.11.30
MongoDB 컴포넌트 목록  (0) 2011.10.03
[번역]MongoDB 샤딩(Sharding)이란?  (1) 2011.07.12
ubuntu 에 mongodb설치해보자.  (0) 2011.07.10



Coldbackup 후 정기점검때 mysql bin 다 지우고 작업한다면
MySQL 5.5에서는 5.1 과 다르게 입력해줘야 할 추가작업이 존재한다.
my.cnf 에 리플에 user/pass 에 대한 내용이 없기때문에 Replication이 자동 시작이 안되는 부분인데,
master / slave 를 파일 동기화 시키고 최초로 처음 시작할땐
1. master 시작하고
2. slave 시작하고
3. slave 에서 아래와 같은 command, 를 입력해줘야 한다.
mysql> slave stop;
mysql>

CHANGE MASTER TO
MASTER_HOST='192.168.0.100',
MASTER_USER='repl',
MASTER_PASSWORD='slavepass',
MASTER_PORT=3306,
MASTER_CONNECT_RETRY=10 ;

mysql> slave start;
그래야 리플리케이션을 시작합니다.

이후 slave에서 파일을 copy할 경우엔 위의 과정을 반복하지 않아도 됩니다.
/var/lib/mysql/master.info 및 relayLog관련 정보까지 그대로 복사하기 때문이다.

숙지해야 할것은 복사전에 /var/lib/mysql/ 에 있는 binary 로그와 master.info, relayLog.info 등은 꼭 삭제해주고 복사하자.

 



네이버 블로그에 썼던것을 다시 정리하며...

DB System이란 것이 시스템과 밀접한 관계가 있는 부분이라 딱히 몇개의 명령어만으로 튜닝을 할 수 있는것은 절대 아니다.

다만 쿼리 튜닝시 또는 시스템이 버벅거리면서 부하를 느끼는데  체크하고자 하는 사항이 발생할 때, 참고할 만한 몇개의 명령어 팁만을 메모해 놓고 필요할때 꺼내 쓰도록 해보자.

1. explain

주로 인덱스가 제대로 구성되었는지, Where절 이하에서 사용되는 index의 튜닝시 필요하다.

explain extended 를 하면 좀더 상세한 내용이 표시된다.

2. mysqladmin processlist

현재 어느 프로세스, 어떤 쿼리가 어떤형태의 모습으로 시스템 부하를 야기하는지 실시간으로 체크할때 사용.

\>myaqladmin processlist 를 치면 그때 그때의 쿼리들이 눈에 들어온다.

자동으로 보고싶다면 -i 옵션을 두어서 일정시간마다 자동으로 process를 체크할수 있도록 하면 편하다.

mysqladmin -i5 processlist (5초마다 체크하라~)

3. slow-query

위의 과정에서 눈에 띄게 자주 보이는 쿼리가 있다면 해당 쿼리를 찾아서 튜닝한다.

또는 slow-query log를 찾아서 튜닝을 한다.

slow-query log의 위치는 일반적으로  /var/log/mysql 에 존재한다.

4. profile 체크

slow-query log에 쌓인 쿼리를 하나씩 뜯어보려면 explain 과 함께 profiling 명령어를 통해 체크해 보면 어느부분에서 시간이 걸리는지 알수 있다.

mysql> set profiling=1;

mysql> SELECT * FROM BBS;

mysql> show profiles;

여러개의 쿼리를 실행하고 난뒤엔 show profiles 를 하게 되면 그동안 실행한 쿼리에 Query_id가 붙어있는 목록이 보인다.

mysql>show profile for query 3 ;

위와 같이 실행하면 쿼리 실행에 걸린 상세항목이 표시된다.

마지막에 실행한 쿼리의 profile을 보고 싶다면

mysql> show profile;

하면 된다.

profiling은 mysql 버전 5.1.28 버전 이후부터 지원한다.



« PREV : 1 : ··· : 8 : 9 : 10 : 11 : 12 : 13 : 14 : ··· : 22 : NEXT »