본문 바로가기

MySQL/Python

Python 그 위대함....

안녕하세요 저는 그라비티에서 Mysql을 담당하고 있는 박성원입니다. ><z

 

오늘 블로그 오픈 기념으로다가 몇 글자 적으려고 합니다. 차차 업데이트 되겠지만... 오늘은 간단한 소개를 해볼까 합니다요 ^^;

 

제 필명은 ancia(or darkancia)라고 합니다. 꾸벅~ _(__)_

"므야.. 화장품이름이자나...??"라고 반박하시는 분들을 위해... 긴 글로 필명의 변명을 나열하기엔 지면상 사정과 그닥의미가 없으므로 패스하겠습니다.

 

그럼 본론으로 들어가서.... 아시다시피 mysql은 각 버전 별로 제한이 너무나 많으며, Migration을 진행하기 어려운 경우 상위버전의 기능은 그림의 떡이죠 ㅋ

 

서브쿼리(..?!!)와 커서를 이용한 Query처리 각종 Loop를 이용한 복잡도 높은 작업을 진행할 때 Mysql에서 쇼를 많이 했었지요 ㅋㅋ 그러나... 이를 한방에 해결해줄 수 있는 녀석이 있었는데 그 녀석이 바로 Python입니다.

 

본좌는 mysql Linux 환경에서 사용하였으며, 현재도 그러고 있습니다. 그래서 windows 플랫폼에서의 mysql python은 걍 통 밥으로 대하고 있으니 지금부터 소개되는 모든 글은 Linux mysql 4.xx에서의 환경으로 말씀 드리겠습니다.

 

그럼 본론으로 들어가면 python은 객체지향(..?!!)의 언어로써 각종 모듈과 Sciprt에 적합한 언어입니다. 또한....

(초장부터 너무 어려운 이야기를 하니.. 딱딱한 이야기는 접어두겠습니다.)

 

그냥 쉽게 말해서 저희 DBA들이 사용할 때는 Mysql Connection을 한 후에 curosr을 생성

합니다. 그리고 Row 단위의 For문이나 If문을 이용해서 잘 가공한 다음 멋있게 Report해주는 프로그램 언어입니다.

 

약간의 양념을 추가하자면, WOW에서 사용되는 외부인터페이스나 외부모듈은 LUA(이하 루아)라는 프로그래밍 언어를 사용하고 있습니다. 이 루아보다 강력한 기능을 가진 녀석이(사실은 더먼저나왔다는게 정확한 표현입습쬬!!) python입니다. , 나온지 오래되어서 각종 API를 지원하다 보니 너무 비대해져서 Script언어로써는 효율성이 떨어진다는 평이죠 ^-^*

 

이쯤에서 "오오 먼가 감이와~~ +_+" 라고 생각하신다면 다행이 십니다만, 그래도 약간 아리송 하시다면, PHP를 떠올리신다면 훨씬~~~ 수월하게 이해가 쉬우십니다. 사실 쓰다본면 거의 비슷하다는 생각이 들지욥 +_+;;

 

.. 마지막으로 DB API python for mysql을 뺄수가 없겠군요!!

python을 설치하신다고 해서 그냥 Mysql에 접속해서 찝쩍될수없습니다. 일종의 신고 개념이라고 보시면 될듯한데요. 사용하기 위해서는 api라는 녀석을 등록해 주셔야 합니다. 이는 뒤에서 장황하게 10줄에 걸쳐서 소개 해 올리겠습니다.

(절때루 여기 귀찮아서 안쓰는거아님...스크롤의 압박과 함께 퇴근시간의 크리가..ㅋㅋㅋ;;)

 

쓰다 보니 너무 두서도 없고 참.. "Ancia 녀석이 핵심만 갈쳐주면 될껄 돌려서 알려줘!!"라고 불평하실 수 도 있습니다.

 

... 저는 이런 것들을 밤새워가면서 찾고 정리한 저의 소중한 보물이므로 쉽사리 알려드리지 않을 겁니다. 꼭 제가 쓴 글을 처음부터 끝까지 읽어보시길.... 이제 막 시작하시는 DBA님들과 회사 사정상(안습이죠.. 저도 처음엔 이 이유를 빌미로 시작했답니다.) Mysql을 처음부터 시작하시는 님들을 위해 오늘도 주절이고 있는 Ancia군입니다.

 

 

그럼 이만 물러나 보겠습니다.

2009 3월 말에... 첫 페이지를 장식하다


Gravity DBA 박성원

'MySQL > Python' 카테고리의 다른 글

MySQLdb를 사용해보자!!  (1) 2009.10.08