Search Results for 'DBMS'

66 POSTS

  1. 2012.11.08 첨부]MySQL 함수 및 연산자 모음표
  2. 2012.08.31 MongoDB 오픈세미나 후기
  3. 2012.06.04 Oracle 11g client설치 관련

내장함수를 한눈에 볼수 있도록 정리했다.

 

어떤 함수들이 있는지 출력해서 가까운데 두고 자주 보면서 코딩하자.

 

pdf 파일로 정리했으며 자세한 사용법은 해당링크를 클릭하면 mysql 공식사이트 manual 로 이동한다.

 

http://dev.mysql.com/doc/refman/5.5/en/

 

한글화가 필요한 부분은 추후 번역하겠지만 공식사이트 샘플만 보면 다 이해 할 수 있어서 굳이 필요없을듯 싶다.

 

MySQL 함수모음표.pdf



MongoDB 오픈세미나 후기

Posted 2012. 8. 31. 01:00

MongoDB 국내 사용자 모임 카페(네이버)에서 주관하는 오픈세미나 참석

첫 참석이라 낯설고 지식도 없어 걱정했지만 나름 유용했음.

 

아래의 내용은 기억속에 있는 것을 까먹기 위해서 작성한 것임. 기술적인 명확한 검토는 천천히 하고자 한다.

 

오늘의 주제는 크게 FluentD 와 Redis 를 이용한 MongoDB 구성.

 

1. FluentD (www.fluentd.org)

 - 각종 파일로 쌓이게 되는 로그(아파치로그, 시스템 로그등등)를 정기적으로 access 하여 MongoDB에 넣어주는 솔루션

 ( MySQL 에도 insert할수 있도록 변형이 가능하다고 함.)

 - Ruby로 작성된 초경량 프로그램이면서 막강한 기능을 제공

 - 파일로그가 아닌 트래픽을 중간에 가로채서 MongoDB에 insert 동 가능

 - 적절히 이용할 경우 MongoDB 앞단에서 buffer의 형태로 작동하여 mongodb 부하를 줄일수 있음.

 -  Fail over 나 Load Balance 에 대한 기능은 없음. 이러한 기능을 이용하려면 Hadoop에서 이용하고 있는 Flume을 MongoDB에 맞게 변형해서 사용해야 함. (소스가 공개되어 있는 상태라서 변형에 대한 난이도는 어렵지 않다고 함.)

 - 또한 직접구현을 한다면 ascii 형태의 파일뿐 아니라 binary형태의 파일도 가능함.

 - 국내는 사용빈도가 거의 없으나 해외에서는 나름 많이 사용됨.

 

2. Redis (Membase 기반의 메모리 DB)

 - MongoDB를 서브가 아닌 메인으로 사용한다면 동적증가에 따른 성능저하를 유발한다. 그 첫번째 이유로 Locking 이다.
 - MongoDB의 고질적인 문제인 Lock(Global Lock > Db Lock > collection Lock?) 에 대한 해결책(?)으로 사용하기 위한 구성방안.

 - Redis를 읽기 전용, MongoDB는 insert, select 로 사용.

 - MongoDB로부터 주기적으로 데이터를 받아서 Redis에  insert하는 agent를 만들어야 한다.

 - Cache server형태로 사용 Memcache가 전형적인 cache server 형태로 사용되기 때문에 데이터 전체가 휘발성이 되어 전원차단시 데이터가 전부 날라가는 문제가 있으나 Redis는 DB형태를 띄기 때문에 비휘발성데이터 형태로 백업이 가능. 때문에 전원차단시에도 데이터가 날라가지 않음.

 

의문 :

NoSQL은 고성능 서버 스펙을 요구한다?

MongoDB에 사용되는 서버는 얼마만큼의 고사양으로 구현해야 하는가?

분산환경에서 Bigdata를 커버하기 위해 탄생된 것이 NoSQL인데,

고가의 고성능 서버를 요구한다는것이 쉽게 납득이 가지 않는다.

기본적으로 메모리 기반의 데이터베이스이기 때문에 메모리의 양은 충분히(적어도 16GB이상) 잡아주는 것은 인정한다.

더군다나 예전과 달리 서버에 사용되는 ECC메모리도 PC메모리 수준으로 가격이 떨어졌기 때문에 서버를 구성하는데 메모리는 더이상 부담되는 요소가 아니라고 본다.

어찌되었든 NoSQL이 수직적 확장이 아닌 수평적 확장을 표방하는 만큼 성능이 낮는 서버를 트래픽이 증가함에 따라 계속 추가하면서 BigData를 감당해야 함이 맞지 않나 생각해 본다.

물론 그 적정선의 사양이라 함이 어느정도인지는 테스트(?)가 필요할 것이다.

 

예전 카산드라의 경우 하루 1GB정도(로그성 데이터가 주를 이룸. 정확한 수치는 확인해봐야 함)의 데이터가 쌓이는 환경에서 7대정도로 커버가 가능했었다.

그때의 서버 스펙은 다음과 같다.

Dell R410 (Quad Core 2.6?) 16GB RAM, 1TB SATA HDD(No RAID 구성)

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

Cassandra 시작시 MalformedURLException 발생  (0) 2012.04.12
Jedis를 이용한 Redis 따라가기  (0) 2012.02.28
MongoDB Naming Rule  (0) 2011.11.30
MongoDB GUI Tool for Mac osx : MongoHub  (0) 2011.11.23
MongoDB 컴포넌트 목록  (0) 2011.10.03


Oracle 11g client설치 관련

Posted 2012. 6. 4. 11:14

오라클을 설치하고 jdbc는 접속성공을 하여 아무 이상없이 사용했는데,

erwin으로 리버스엔지니어링을 하기 위해서는 oci 접속이 필요했다.

예전 기억으로는 오라클을 설치하면 클라이언트는 굳이 설치하지 않아도 된다고 알고 있었는데...

하여 오라클 사이트를 접속해서 클라이언트 다운받고 설치하려는데,

10g 부턴가 설치파일 없이도 설치가 가능하도록 변경.

꽤 무거운 클라이언트 설치를 하지 않고 압축풀고 패스잡으면 끝이란다.

 

1. 다운받는다. 64bit OS, 64bit Oracle 11g를 설치했으므로 당연히 클라이언트도 64bit로 다운로드.

instantclient-basic 다운로드. sqlplus용은 오라클이 설치되지 않은곳에서 사용할때 설치

 

2. 압축을 푼다. 적당한 위치에..

 

3. 경로를 PATH에 등록한다. (oci.dll파일이 있는 디렉토리까지)

 

4. tnsname.ora 파일이 있는 디렉토리를 TNS_ADMIN 이라는 환경변수로 등록한다.

 

여기까지 하면 끝.

그리고 나서 접속 테스트를 한다.

그런데 접속이 안된다.

토드를 설치해서 다시 접속해 보았다. 

 

Cannot load OCI DLL: D:\app\oracle\product\instantclient_11_2\oci.dll

 

oci.dll을 로드할 수 없다는 메시지를 뿌린다.

디렉토리를 찾아봐도 oci.dll을 분명 존재하고  있고, 혹시 몰라 오라클 설치시 생성된 oci.dll을 복사해 넣어보았으나

여전히 oci.dll을 로드할수 없다는...

그런데 여전히 sqlplus는 잘 된다. 이전에 클라이언트를 별도로 설치하지 않았을때도 접속은 잘되고 있었다.

 

결론 : 32bit client를 설치하자.

 

생각해보니 당연한거다.

아무리 서버가 64bit라도 한들 접속하는 프로그램은 32bit라는것.

sqlplus가 당연히 되는 이유는 같은 64bit 이니까...

클라이언트인만큼 클라이언트 프로그램에 맞는 32bit용으로 설치하도록 하자.

 

그러고 보니 아직까지(?) 64bit용 클라이언트 프로그램은 별로 보지 못한듯...

 

 

 



« PREV : 1 : ··· : 4 : 5 : 6 : 7 : 8 : 9 : 10 : ··· : 22 : NEXT »