본문 바로가기

IT/Database

[mongodb] mongodb의 성능과 memory의 관계를 잘 설명한 글 MongoDB의 Physical 데이타 저장 구조 MongoDB를 구성할때 보면, 가장 많이 권장 받는 부분 중의 하나가, 메모리량과 디스크 성능이다.메모리 크기가 아주 sensitive한 요인이 되는데, 어떤 부분이 문제가 되는지 내부 저장 구조를 살펴 봄으로써 이해를 돕고자 한다. 저장 구조mongodb 는 기본적으로 memory mapped file (OS에서 제공되는 mmap을 사용) 을 사용한다. mongodb는 데이타를 write할때, 논리적으로 memory 공간에 write하고, 일정 주기에 따라서, 이 메모리 block들을 주기적으로 disk로 write하는데, 이 디스크 writing 작업은 OS에 의해서 이루어 진다. OS에 의해서 제공되는 Virtual Memory를 사용하게 되는데,.. 더보기
[mongodb] mongostat 중 일부 The locked % is the % of time the global write lock (remember, mongo has a process wide write lock) is taken per sample. This percentage will increase when you increase the number of writes (inserts, updates, removes, db.eval(), etc.). A high value means the database is spending a lot of time being locked waiting for writes to finish and as a result as no queries can complete until the lock is r.. 더보기
[mongodb] mongodb에 대한 한탄 mongodb 에 대한 한탄 Kiip 에서 MongoDB 를 이용한지 일년이 되었다. 이번 주에 우리는 MongoDB 의 데이터중 95% 를, 데이터를 이용하는 방식에 맞춰, Riak 이나 PostgreSQL 로 이전하였다. 이 글에서는, 지난 일년간 MongoDB 를 사용해본 경험에 대해서 얘기해보려 한다. 추후에는 어떻게 데이터를 다른 곳으로 옮겼는지에 대한 내용을 다루려고 한다: 데이터를 옮기는 방법들을 어떻게 평가하였고, 실제로 어떻게 MongoDB 에서 다른 곳으로 데이터를 옮겼는지 말이다. 우선, 우리가 다루는 scale 의 감을 잡기 위해 몇가지 숫자들을 열거하겠다. 아래는, 우리가 MongoDB 를 최대로 사용할 때, 가장 사용량이 많을때의 데이터이다 - 현재의 숫자는 훨씬 더 커졌다. D.. 더보기
[mongodb] lock 관련 글 http://mongodb.citsoft.net/?page_id=187 Master에서 write할 때, 보통 10초마다 3초씩 느려지는 경우가 발생하는데 아마도 Slave에 들어오는 read, count 쿼리 때문인듯하다... read에서 lock이 걸리면서 write작업이랑 왔다갔다? 하는건지.... 암튼 조금 더 봐야 알듯하다. 더보기
[mongodb] mongodb perfomance mongodb 성능, 특징 등에 대해서 잘 설명된 글 http://bcho.tistory.com/category/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C%20%EC%BB%B4%ED%93%A8%ED%8C%85%20%26%20NoSQL/MongoDB 더보기
[mongodb] mongostat 활용 (모니터링) ~/mongodb-2.6.3/bin$ ./mongostat --port 5566 더보기
[glusterfs] yum remove 로도 설정이 안지워질 때 glusterfs 에서 peer 서버 하나를 실수로 죽이는 바람에 전체 서버가 맛탱이가 간 적이 있었다. 이래저래 고치려다가 결국 전체 glusterfs를 재설치 하게 되었는데 깔끔하게 지웠다고 생각하고 다시 깔아도 이전에 설정한 vol0 옵션들이 남아있었다... glusterfs 설치 할 때 설치했던 cli, fuse, api 등 모든 것들을 다 삭제한 후에 /var/lib/glusterd 요! 폴더를! 삭제하고 다시 설치해야 기존에 설정했던 내용들이 전부 초기화된다... (참고로 OS는 centos 6.x 이다) 더보기
[mysql] 제거시 뻘짓한 날 vpopmail 셋팅 하다가 mysql 심볼릭 링크를 걸어야 할 상황이 생겨서 걸었는데 실수로 반대로 걸어버림... 그래서 mysql을 아예 삭제해버리고 다시 설치했는데 libmysqlclient 관련 파일들이 안나오는 현상 발생... 20번은 삭제->재설치 했는데 안되던데 오늘 아침에 해결... 문제는 처음에 mysql을 설치할 때 yum install mysql-devel mysql-lib 요렇게 했던 것... yum list mysql-* 쳐보니까 mysql-libs 그리고 이친구와 물려있는 애들까지 쭉 나오더라... 무튼 결론적으로 yum remove mysql-* 요렇게 다 지워주고 다시 yum install mysql-devel mysql-lib 하니까 아주 잘 나옴! /usr/lib64/my.. 더보기
[Lucene] binary 파일 검색하는 html 보호되어 있는 글입니다. 더보기
[mongodb] sql과 mongodb 쿼리 차이 SQL Statement Mongo Query Language Statement CREATE TABLE USERS (a Number, b Number) implicit; can be done explicitly INSERT INTO USERS VALUES(1,1) db.users.insert({a:1,b:1}) SELECT a,b FROM users db.users.find({}, {a:1,b:1}) SELECT * FROM users db.users.find() SELECT * FROM users WHERE age=33 db.users.find({age:33}) SELECT a,b FROM users WHERE age=33 db.users.find({age:33}, {a:1,b:1}) SELECT * .. 더보기