336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

어떤 프로그램이 구동 되다 보면

정보를 저장할 필요성이 생깁니다.

만약 그 정보가 간단하다면 레지스트리에 저장을 하면 되겠지만

사용자 정보 같이 대량의 정보가 저장 되야 한다면

레지스트리가지고는 부족하게 됩니다.

그래서 처음 나온것이 파일 입니다.

사용자 아이디를 유니크하게 만들어서 해당 정보를 파일로 저장을 해왔습니다.

<vc6.0 기반>

FILE * fp = fopen("cid.db");
if(fp == NULL) //아이디를 만들수 있음
else {
    fclose(fp);
    //아이디를 만들수 없음
}


요런식으로 구동되는 어플이면 사람들은 만족 하였습니다.


이러고 시간이 흐르니 매출은 감소하고 영업부에서는 자료가 필요 합니다.

요즘 들어 오는 신규유저의 나이가 어떻게 되고 출신 지역이 어딘지 등등등 ~~~

그런데 파일로 만들었으니 날짜로 일일이 파일을 다 오픈해야 하고

파일IO 때문에 네트워크가 느려지는등 ~~~

문제가 많이 발생합니다.


그래서 나온것이 DBMS 입니다.

이 놈들도 파일을 쓰긴 하지만 이진 트리라든가 기타 여러가지 기술을 통해서

보다 좋은 환경을 제공해 줍니다. (자세히는 저도 잘 모릅니다 ^^)

대표적인게 ORACLE, MSSQL, MYSQL등 입니다.

(DB2나 기타도 있지만 그런걸 다루시는 분이라면 걍 조용히 창을 닫아 주세요)


MYSQL : 경우는 현재는 무료로 이용이 가능하지만 앞으로는 어떻게 될지 모르는 DB죠 ^^

우선 단순 Select의 경우 다른 DB와 동등하거나 우월합니다.

하지만 subquery의 경우 극악의 성능을 보여 줍니다.

limit는 명령어로 subquery를 피해 갈수는 있지만 요즘 처럼 복잡한걸 요구 하는 사람들에게는

매력이 점점 떨어지고 있으며 5.0부터 많이 좋아졌다고 하지만 제가 써본건 4.x까지라 잘 모르겠네요


MSSQL : MS에서 밀고 있는 DB입니다.

성능은 위 3개 중 중간이며 SSMS라는 툴을 통해서 대단히 편한 인터페이스를 제공하여 줍니다.

단점은 NT에서만 돈다는 거겠죠 ^^


ORACLE : 왠만한 분들은 다 아는 DB입니다.

가격도 가격이지만 성능도 튜닝하면 거의 천차 만별로 바뀌는 DB입니다.

그 만큼 어렵고 예외 사항도 많고 딱딱한 인터페이스를 제공합니다.



여기서 부터가 본론 이겠네요

DBMS로 잘 먹고 살다 보니 이제는 세상이 바뀌어서

PDA니 UMPC 이야기가 나옵니다 ^^

그 놈들도 DB가 필요한데요 문제는 위 3개의 DB는 성능이 낮은 (PDA, UMPC등을 이하 UMPC로 표기) UMPC로는

돌기에 부적합 하고 서버에 설치하고 통신할라 해도 와이브로나 CDMA망을 타야 하는데

사용하지 않아도 기본료를 내야 하고 패킷료도 비싸서 쓰기도 모시기한 현실에 빠집니다


그래서 사람들은 임베디드 DB를 만들게 됩니다.

우선 저사양에서도 돌아야 하며

전력이 끊어져도 DB 내용은 지워지지 않아야 하며

설치가 최대한 쉬워야 합니다.


요런 요건에 딱 맞는게  SQLITE입니다.

SQLITE은 구글의 차세대 플랫폼인 안드로이드에 들어가 있으며

아이팟도 사용중에 있습니다.

전체 소스는 오픈되 있으며 MIT라이센스를 취하고 있기 때문에

수정이나 변경이 가능하며 사용중인 여부도 표시하지 않아도 되는 착한 넘입니다.

하지만 문제 생기면 알아서 고쳐야 한다는게 좀 우울하네요 ^^


+ Recent posts