2009년 5월 23일 토요일

[호스팅] 원격접속이 가능한 진정한 [DB호스팅]이 왔다. - 아이네임즈

[소개]

DB호스팅이란, 외부에서 접속할 수있는 DB서버를 제공함으로써,“db.server.com”등의 접속주소를 통해여러가지 종류의 데이터베이스를 활용할 수 있게하는 서비스이다.

 

[ 스크린샷 : 아이네임즈의 DB(전용)호스팅 ]

[ 스크린샷 : 아이네임즈의 DB(전용)호스팅 ]

 

소개페이지 링크 : 현재 MySQL 4.xx, MySQL 5.xx, MSSQL 2000, MSSQL 2005 네가지 상품이 있다.

 

조금 더 설명하자면,

웹호스팅을 신청하면 제공되는 DB는 “localhost”로 내부접속만 할 수있는 자체 호스팅 전용 DB지만, 반면 “DB호스팅”은 따로 홈페이지 계정공간은 제공하지 않으나, MySQL, MSSql 등의 데이터베이스를 “타 호스팅회사”, “회사 내 서버" 등 “외부”에서 원격접속을 하는 서비스이다.

 

[왜 필요한가?]

  1. 구버전의 웹프로그램 사용이 가능하다.
    홈페이지를 웹호스팅회사를 통해서 서비스 하고 있을 경우 일반적으로 데이터베이스의 종류는 하나로 국한된다.

    ( Cafe24의 경우에는 특이하게 “멀티호스팅”이라는, 여러 종류의 Database를 함께 쓸 수 있는 서비스가 있기는 하다, 그러나 “원격접속”을 할 수는 없다. - 카페24 서버 내에서만 가능 )

    전세계 언어를 표현할 수 있는 “UTF-8 charset(유니코드 문자셋()”이 차츰 기본이 되어가고, MySQL 4.xx버전을 지원하는 곳이 점점 줄어들고 있지만.

    관리자의 입장에서 기존에 개발되었던 EUC-KR프로그램을 버리기는 참으로 애매하다.
    그렇다고, 타 호스팅회사로 이전하기에는 작업이 너무 번거롭고….

    이럴 때 기존 호스팅 회사의 서비스는 계속 받고, “MySQL 4 전용 DB호스팅”을 하나 신청하면 해결 끝.!!

    참고1 : MySQL 4.xx 버전은 UTF-8 문자셋을 지원하지 못한다.
    참고2 : 회사 단위에서는 사용하던 OS나 웹프로그램을 일괄적으로 바꾸기란 쉽지않은 일이다.
    .
  2. “홈페이지 이전”시 중단없는 서비스가 가능하다.
    많은 글이 올라오는 게시판을 가지고 있는 홈페이지가 타 호스팅회사로 이전할 경우, 이전하는 시점에 글을 올리면, 복구되는 데이터베이스의 자료와 일치하지 않을 경우가 대부분이다.

    따라서, 홈페이지 이전시에는 작업이 끝날 때까지 홈페이지를 “일시정지”해야 한다.

    그러나, DB호스팅을 받고 있다면, 홈페이지를 정지해야 할 이유가 없다.
    (단, “파일첨부”는 서버 이전 완료시까지 일단 막아야 한다.)
    .
  3. 다양한 프로그램 개발이 가능하다.
    1번과 유사한 경우이기는 하나, “PHP+MySQL”조합 외에도, “PHP + MSSQL”조합의 프로그래밍도 가능하다.

    고개를 갸우뚱하는 분이 있으실 지 모르지만, 여러개의 모듈로 이루어진 ERP 프로그램이나, 각 부서에서 따로 쓰이던 웹프로그램을 통합하려면, “DB의 통일화”는 필수이다.

    프로그래밍 언어를 바꾸어서 같은 기능의 프로그램을 새로 만드는 것 보다, 잘 사용하던 프로그램내의 “DB 쿼리문"을 바꾸는 것이 훨씬 쉽다
    (윈도우 서버의 경우 “IIS + ASP + PHP”조합을 설치하기가 용이하다. 그러므로, DB는 원격으로 MSSQL로 통합해서 프로그래밍을 하는 것이 좋다.)

    (하긴.. 이정도 규모의 프로그래밍이 필요한 상황이면, 차라리 회사내에 DB서버, 파일서버, 웹서버를 각각 마련할 수도 있겠다는… ^^)
    .
  4. 실시간 백업DB가 생긴다.

    사실 필자가 가장 아쉬웠던 부분이기도 하다.

    물리적으로 서버의 하드디스크가 갑자기 고장이 난 적이 있는데.. 미처 DB를 백업받지 못한 경우가 있다. (하나의 서버에 웹서버, DB서버를 같이 돌렸다. ㅠ.ㅠ)

    홈페이지의 HTML파일과 그림파일들은 “웹디자이너”의 하드에 들어 있는 “가장 최근 작업본"이 있고.. 게시판 프로그램과 “전용으로 개발한 프로그램”도 “웹프로그래머"의 하드에 백업이 되어 있었지만, DB는 그 전날 백업본 밖에 없어서.. 하루동안 작성된 고객들의 글이 다 날라간 적이 있었던 것이다.
    (웹에이전시를 할 때 관리하던 “10여개의 홈페이지”에서 작성된 “200여개의 문의글”을 날려먹었다. 소송 들어왔으면.. 회사 바로 망할 뻔 했다. ㅠ.ㅠ)

    DB때문에 서버를 한 대 더 유지할 만한 여유가 없었고, 당시에 (아니, 현재까지도..) 원격으로 DB에 접속할 수 있는 서비스가 없었지만, 이번에 아이네임즈에서 정말 내가 바라던 서비스를 해 줘서 정말 고맙게 생각한다. (하지만.. 진작 좀 하지..ㅠ.ㅠ)

    아.. 어떻게 백업DB를 만드냐 하면…
    프로그램내의 “DB쿼리”를 두번 날리면 된다. 먼저 “localhost”의 DB로 저장하고, 이어서 같은 내용을 원격에 있는 DB서버에 저장을 하면된다.

 

다시 말하면..
프로그램에서 다음과 같이  첫번째 $contents 와 같은 내용을 원격DB에 또 한번 보내는 것이다.

-- 원본 -
$contents = "글내용" ;
db_query(localhost로 $contents 입력) ;
echo "완료";

- 수정본 -
$contents = "글내용" ;
db_query(localhost로 $contents 입력) ; // 첫번째 쿼리
db_query("원격 DB서버"로 $contents 입력) ; // 두번째 쿼리 (첫번째 $contents 와 같은 내용을 원격DB에 동일 입력)
echo "완료";


다른 케이스로.. DB서버가 물리적으로 분리되어 있다면,

DB의 상호간 동기화 기능을 이용하거나, 

아니면, 메인서버에서 DB서버로 rsync 명령으로 접속해서 동기화 하면된다.

 

방법은 여러가지이나..

문제는 “원격접속"을 할 물리적인 “DB”서버가 따로 없다는 것이었다.

 

이번에 아이네임즈에서 원격접속이 가능한 "DB호스팅"이 서비스되기 시작했으니..

같은 내용을 원격DB에 또 한번 보내는 방법으로 "실시간 DB백업"의 효과를 누릴 수 있는 것이다.

 

[사족]

언론에 보도 된것이 5월 21일인 것을 보고, 확인하니 홈페이지에 “DB호스팅"서비스 개시에 대한 공지는 2009년 5월 15일이다.

 

사전 보도는 하지 않은 걸 보니, 아이네임즈가 홍보에 약간 소홀한 것이 아닌가 싶다.

버뜨… 아후라가 팍팍 밀어줘야한다는 생각이..흐흐..

(아~ 필자는 2003-02-13부터 1년간 아이네임즈에서 가장 싼.. 웹호스팅을 받았다는 것 이외에는 .. 아이네임즈와는 아무 관련이 없다.)

댓글 없음:

댓글 쓰기