KT의 ucloud biz에서 작년, 그러니까 2012년 10월부터 ucloud Free Pack을 제공한다. ucloud biz에 신규로 가입하는 고객에 한하여 1년동안 Server, DB 그리고 Storage를 무료로 이용할 수 있는 서비스다.



안내 페이지에는 서버는 CPU 0.5vCore, Memory 512MB, Disk 20GB로 되어있는데,

실제로는 1 vCore CPU에 1GB Memory, 20 GB 용량의 디스크를 할당해주었다.


일단 Ubuntu Server 버전을 선택하였다.


DB는 무려 40GB나 할당해주었다.



DB는 CentOS에 MySQL를 선택할 수 있었다.


거기에 트래픽 20GB까지 무료!!!





가비아의 실버 Plus란 상품은 웹 9G, DB는 무제한, 트래픽은 20GB로 월 5만원, 년 50만원이다.

거기에 설치비와 VAT는 별도이니...


하지만, ucloud server는 가상서버이니 직접적인 비교는 직접 사용해보고나서 하도록......



자! 서버가 생겼으니 이제 무엇을 한다..........

Posted by 달리만듦
지난 금요일 발표만 앞두고 있다고 포스팅한 IBM과 SUN의 인수합병소식이 협상 막바지에 서로 의견차를 보이며 중단되었다고 합니다.

2009/04/03 - [세상 사는 이야기] - IBM이 SUN Microsystems을 인수하면......

애초 IBM은 SUN에게 주당 10 ~ 11 달러 선을 제안했었다가 막판에 9.4 달러로 낮추었는데 이를 SUN에서 너무 낮다며 거부한 것으로 알려지고 있습니다. 
IBM은 비싸다고 하고 있고, SUN은 다른 곳을 알아보겠다고 하고 있는 상황이어서 다시 협상이 진행될 지는 불투명한 상태인 듯 합니다.

이전에 IBM이 SUN을 인수하면 SUN이 가지고 있는 하드웨어보다는 소프트웨어에 더 많은 기회요소가 있을 것이라는 기대로 글을 썼는데 기대가 물거품이 되었군요.

부디 SUN이 그대로 사업을 잘 진행하던지, 좋은 회사를 만나서 SUN이 가지고 있는 Java, MySQL, OpenOffice 등을 제대로 꽃 피웠으면 하는 바램입니다.


Posted by 달리만듦
IBM이 SUN Microsystems을 인수할 거라는 얘기는 올해들어서 꾸준히 얘기되고 있었다. 그러다 급기야는 이번주 또는 다음주에 공식 발표될 거라는 소식이다.

SUN은 썬 스팍 프로세서와 썬 솔라리스 운영체제로 유닉스 시스템을 만들어 판매하는 회사로 다운사이징 패러다임에서 스타급 시스템회사였다. 그리고 우리가 잘 알고 있는 Java 원천기술을 보유하고 있는 회사이기도 하다.

IBM 역시 메인프레임부터 x86 서버까지 시스템을 만들고 있고, AIX라는 유닉스 운영체제를 가지고 있다. SUN Microsystem과 가장 많이 상충되는 부분이라고 할 수 있겠다.

결국 IBM과 썬이 합쳐지게되면 썬의 스팍 머신과 솔라리스는 사라질 운명이 될 듯하다.

자바에 대해서는 썬이 그 원천 기술을 가지고 있지만, IBM 또한 많은 리소스를 가지고 있는 것으로 알고 있다. 썬의 netbeans와 IBM의 eclipse가 서로 상충되는 부분이기도 하겠지만 IBM의 Rational 등과 결합하여 언어에서부터 개발 플랫폼까지 풀 셋의 소프트웨어개발 툴을 가질 수 있을 것으로 보인다.

IBM은 이미 DB2 데이터베이스를 가지고 있고, Informix도 IBM이 가진 데이터베이스 시스템이다. 여기에 MySQL도 IBM이 가져가게 된다.

그외에 PC용 가상시스템 엔진인 VirtualBox도 IBM이 가져가게되고, MS Office와 호환성을 확보하고 Windows 뿐만아니라 Linux, Mac 등의 운영체제에서도 사용할 수 있는 StarOffice(OpenOffice의 썬 버전)도 IBM이 확보하게된다.

HP나 Dell 등 많은 시스템 판매 사업자들이 있지만, IBM과 SUN이 그들과 다른 점은 하드웨어 시스템만 판매하는 것이 아닌 소프트웨어를 같이 판매하고 있다는 것이었다.(물론 HP 역시 HP-Unix 등 많은 소프트웨어를 소유하고 있다.) 이제 IBM과 썬이 합쳐지면, IBM은 해당분야에 거의 독보적인 존재가 될 것이다. 이것이 우려하는 사항인 동시에 그래도 IBM이 인수하는 것이니 다행이라는 생각이 드는 부분이다.

썬 마이크로시스템즈는 젊은 회사였다. 비록 IBM에 인수되더라도 IBM이 썬 마이크로시스템즈의 도전정신을 이어받아 IBM의 노련미로 승화시켜주기 바랄 뿐이다.


Posted by 달리만듦

Sun Microsystems사는 12월 8일 가장 대중적인 오픈소스 데이터베이스인 MySQL의 새로운 메이저 버전인  MySQL 5.1을 릴리즈했습니다.

이번 5.1 버전에서는 퍼포먼스가 더욱 향상 되었고, 대용량 데이터베이스에 대한 관리를 단순화했다고 합니다.

MySQL 5.1은 dev.mysql.com/download에서 다운로드받을 수 있습니다.

MySQL 5.1의 릴리즈 소식에 대한 자세한 사항은 MySQL news 사이트에서 확인할 수 있습니다.

Posted by 달리만듦

MySQL에서 중요한 테이블을 삭제하는 사고가 일어나면, 그에 해당하는 어플리케이션은 더이상 작동하지 않는다. 이러한 문제를 해결하가 위해서 Zmanda Recovery Manager를 사용한다.

MySQL 데이터베이스 관리자라면, 정기적으로 데이터베이스를 백업해야 한다. 누군가 MySQL에서 중요한 테이블을 삭제하면, MySQL을 이용하는 어플리케이션은 더 이상 작동하지 않는다. 이러한 상황에서 복구할 수 있는 방법은 무엇인가?

이에 대한 답변은 MySQL binary log. Binary log는 데이터베이스 퍼포먼스에 최소한의 영향을 끼치면서 데이터베이스의 모든 수정사항을 기록한다. MySQLbinay log는 서버에서 일어난다. MySQL 명령인 mysqlbinlog를 사용하여 binary log로부터 복구할 수 있다.

좀더 종합적인 해결책으로는 MySQL을 위한 Zmanda Recovery Manager를 사용하는 것이다. mysql-zrm 툴은 binary log를 검색할 수 있게 하고, 증분 백업(incremental backup)에서 선택하여 restore할 수 있게 한다.

# mysql-zrm --action parse-binlogs   --source-directory=/var/lib/mysql/sugarcrm/20060915101613
Log filename                 | Log Position | Timestamp         | Event Type |    Event
/var/lib/mysql/my-bin.000015 | 11013        | 06-09-12 06:20:03 | Xid = 4413 | COMMIT;
/var/lib/mysql/my-bin.000015 | 11159        | 06-09-12 06:20:03 | Query      | DROP TABLE IF EXISTS `accounts`;


여기서 SugarCRM 데이터베이스의 증분백업으로부터 사용자 테이블을 삭제하지 않고 선택적으로 복구하도록 하겠다. 2006915일에 일어난 증분백업으로부터 log 위치 11159DROP TABLE 이벤트를 제외하고 데이터베이스를 복구하기 위해 두 개의 복구 명령을 수행한다.

# mysql-zrm --action restore  --backup-set sugarcrm \
         --source-directory=/var/lib/mysql/ sugarcrm/20060915101613/ \
         --stop-position 11014
# mysql-zrm --action restore   --backup-set sugarcrm \
         --source-directory=/var/lib/mysql/ sugarcrm/20060915101613/ \
         --start-position 11160


보다 자세한 정보를 위해서는 다음 사이트를 참고한다.

Zmanda Recovery Manager

Posted by 달리만듦

CakePHP의 데이터베이스 설정은 app/config/database.php 파일을 이용한다. app/config/database.php.default 파일을 열어보면 예제를 볼 수 있다.


var $default = array('driver' => 'mysql',
                     '
persistent' => false,
                     'host' => 'localhost',
                     '
login' => 'cakephp',
                     '
password' => 'password',
                     '
database' => 'cakephp',
                     '
prefix' => 'cp_');

CakePHP의 데이터베이스 연결은 model에서 $useDbConfig 프로퍼티에 다른 연결을 설정하지 않으면, 데이터베이스 연결에 $default 연결을 사용한다.
만일 어플리케이션에 다른 데이터베이스 연결을 추가한다면, $default와 같은 배열을 다른 이름으로 하나 더 만들고, 예를 들면 $legacy, 이를 사용하는 model에서 $useDbConfig = ‘legacy’; 를 설정하여 사용한다.

Key            | Value
driver         | 데이터베이스 드라이버의 이름이다. 다음 이름을 사용할 수 있다.
               | mysql, postgress, sqlite, pear-drivername,
               | adodb-drivername, mssql, oracle, odbc
persistent     | 데이터베이스에 persistent 연결을 사용할 것인지를 true,
               | false로 표시한다.
host           | 데이터베이스 서버의 hostname 또는 ip 주소
login          | 데이터베이스 계정의 username
password       | 데이터베이스 계정의 암호
database       | 연결할 데이터베이스의 이름
prefix         | 데이터베이스의 테이블 이름에 사용하는 prefix 값
               | prefix를 사용하지 않으면 비워둔다.
port           | 데이터베이스 서버와 연결에 사용할 TCP 포트값
encoding       | 데이터베이스 서버에 보낼 SQL 문장의 character set
schema         | postgressSQL을 사용할 때 사용할 schema를 지정한다.

prefixmodel이 아닌 테이블을 위한 것이다. 예를 들어 Apple, Flavor 모델을 위해서 join 테이블을 만든다면, 이들의 이름은 prefix_apples_prefix_flavors 가 아닌 prefix_apples_flavors가 되어야 한다, 그리고 prefix 설정은 ‘prefix_’ 로 적는다.
Posted by 달리만듦