1
네이버와 관련된 대학 연구실에 있는 후배가 몇 백 Gb되는 테스트 데이터로 프로그램 짜고 있다고 합니다.
근데, 이게 프로그램이 한번 도는데, 며칠이 걸리니깐, 버그가 있나 없나 알 수 있는 것도 며칠이 걸리는 거죠.
웹 문서들이 워낙 지멋대로 짜진 것들이 많고 정규화되지 않은 문제인데, 아주 죽을려고 하더라구요. 다 끝났는줄 알고 잠 자고 오면, 또 버그 발견되고 또 며칠 지나야 버그 하나 발견되고 그렇다고 하더라구요.
마감일을 하루 남겨 뒀는데, 프로그램 돌려서 데이터 분석하는데 2일 걸리는 일이라면 죽을 맛있겠죠.
저도 재작년에 천오백만 카드사 회원DB를 핸들링했었는데,
정말 부아가 치밀어올라 하루하루를 어떻게 보냈는지 모를 정도였습니다.
채널별로 중복된 회원리스트가 있으니 그 정도 되었었는데요..
데이터베이스에 따라 조금씩 차이는 있겠지만, 오라클로 했을때는
회원DB를 부위별 ^^;로 쪼개서 배치를 돌렸습니다.
하드웨어의 지원과 멀티태스킹이 얼마냐에 따라서 쪼개는 갯수도
달라졌지만..
사람이 그 결과에 웃고울다보니 무척 단순해지더군요. ㅋㅋㅋ
암튼!!! 대용량 데이터는 정말 다시 마주치고 싶지가 않네요. ^^
너무 어려운 작업을 하시는 것 아니신가요...
그런데 저도 좀 배워보고 싶은 부분이네요...
VLDB(very large database) 학회가 따로 있습니다.
그 정도로 대용량 DBMS 는 다루기가 까다롭고, 인내를 요합니다. 우리가 일반적으로 다루는 100만건 이하의 자료와는 차원을 달리합니다.
아주 단순한 쿼리에서 조건문 순서 하나 바꾸는 것도 신경이 쓰이죠. 그기에 따라 몇시간이 왔다갔다 하니까요.
대용량 DB 를 다룰때 중요한 것은 통계자료와 그 중 자주 사용되는 자료들을 따로 관리하는 테크닉입니다. 대용량 디비일 경우 실제 10%의 자료들만이 80% 정도의 이용률을 보이는 경우가 많습니다.
여하튼 업무의 특성과 다루어지는 자료의 특성을 잘 파악하여 맞추어 프로그래밍하고 자료관리하는 능력이 필요합니다.
진희가 다루는 자료는 조금 이것과는 별개일 가능성이 크겠군 ^^;
데이터량이 많을 경우 처리시간이 오래걸릴 수 있습니다. 이런 대용량의 데이터를 사용하는 경우라면 Sybase의 ASIQ를 사용하여 처리하시면 속도가 엄청 빠릅니다. 특히 WD 인덱스를 사용하면 특정 검색어를 찾는 경우 탁월한 성능을 발휘합니다. 데이터가 많아도 압축되어 저장되어서 디스크도 Raw 데이터보다 50~70% 정도만을 사용하게 되지요. Batch성 작업이라면 ASIQ와 같은 DW 전용 DBMS를 사용해 보는 것을 검토해 보시는게 어떠신지요.
아..그러게요. 사이베이스는 DW전용이죠..
약간 작은사이즈인거 같지만 예로부터 DW구축하는데는
사이베이스를 선택했었지요..
힝~~ 부럽네요. 고작 몇만건이 최고로 많이 만져본 데이타인데...