본문 바로가기

DB

(29)
PostgreSQL에서 inet이나 macaddr을 쓰는 것이 좋을까? PostgreSQL의 데이터 타입을 보면 네트워크 정보를 저장하기 위해 고안된 타입이 있습니다.IPv4나 IPv6를 위한 inet과 MAC 주소를 위한 macaddr이 그것이다. cidr도 있지만 개인적으로 사용할 일이 적어 패스합니다. 보통은 varchar를 통해 문자열로 저장을 하는데 이런 타입이 있는 이유는 무엇이고 이런 타입을 쓸 때의 장점에 대해 알아보자. 우선 테스트로 테이블을 만들어보고CREATE TABLE network( id integer, ip_varchar character varying(50), mac_varchar character varying(50), ip_inet inet, mac_macaddr macaddr, CONSTRAINT network_pk PRIMARY KEY (i..
현재 설정되어 있는 트랜잭션 격리 수준(transaction isolation level)확인하기 PostgreSQL에는 3가지 트랜잭션 격리 수준이 존재한다.READ COMMITTEDA statement can only see rows committed before it began. This is the default. REPEATABLE READAll statements of the current transaction can only see rows committed before the first query or data-modification statement was executed in this transaction. SERIALIZABLEAll statements of the current transaction can only see rows committed before the first ..
Microsoft SQL Server Management Studio에서 수행가능한 스크립트 크기 Management Studio에서 다량의 스크립트를 수행하면 아래와 같은 에러가 생긴다.스크립트를 실행할 수 없습니다.'System.OutOfMemoryException' 형식의 예외가 Throw되었습니다. (mscorlib) 30000개의 지문데이터를 입력하려는데 에러가 났다.사실 3만 레코드는 큰데이터는 아니었으나 지문 데이터 자체가 바이너리에 있다보니 메모리에 수행하는데 제약이 있는 것 같다. 이분법하여 얼마나 메모리에 올릴 수 있나 테스트를 해보았다. 30000개 : 74.1MB (77,759,999 바이트) 실패20000개 : 49.4MB (51,840,000 바이트) 실패10000개 : 24.7MB (25,920,000 바이트) 성공/실패 : 2분 12초 걸림 10000개를 두 번째 수행할 ..
Subversion 1.8 버전 업데이트 후 지난번 http://namocom.tistory.com/259 글을 통해 서브버전 버전을 업데이트를 했다고 글을 썼다.이제 클라이언트도 1.8버전을 쓸 수 있어서 TortoiseSVN와 AnkhSVN 모두 1.8을 지원하는 버전(1.8.4.24972 / 2.5.12266)으로 업데이트를 했다. 그런데 과거 1.6에서 1.7로 업데이트를 했었을 때 처럼 체크아웃 받은 공간을 업그레이드가 필요하다는 메시지가 나온다. 솔루션 탐색기(실제로는 솔루션 탐색기를 가장한 서브버전 탐색기이지만)에도 변화가 생겼음을 나타내는 아이콘이 생겼다. 무시하고 커밋을 하려고 했더니 아래와 같이 에러 메시지가 뜬다. 지난번에는 upgrade 명령을 Visual Studio에서 직접할 수 있었는데 업그레이드 메뉴가 없었다.그래서 솔..
sqlite를 이용해서 자료 분석 SQLite는 DBMS처럼 별도의 설치를 할 필요도 없고 sqlite3.exe 파일만 있으면 실행이 가능한 DB이다.자주 사용하는 관용 패턴이 있어서 정리를 해본다. 주의. Mac OS X에서는 줄바꿈 문자을 0x0A (LF; Line Feed)를 사용한다. (텍스트 편집기에서 직접 타입한 경우) 그런데 Microsoft Excel:mac 2011에서 셀을 복사할 경우 줄바꿈 문자가 LF가 아닌 0x0D로 복사가 됨을 확인했다. sqlite에서는 줄바꿈 문자를 CR이나 LF만 인식한다. 따라서 맥에서 작업할 경우에 주의가 필요하다. (.import시 데이터 하나만 들어가는 문제가 발생) 관련 이슈는 링크 참고 Idiom1. IP의 개수를 빈도별로 측정DB에 데이터가 있다면 select count(col)..
MapReduce(맵리듀스) 분산 컴퓨팅에서 컴퓨터의 클러스트에 있는 큰 데이터 집합을을 처리하기 위해 구글이 2004년 도입한 소프트웨어 프레임워크이다.함수형 프로그램에서 사용하는 map과 reduce에서 영감을 받아 프레임워크가 만들어졌다. MAPREDUCE WORKSHOP의 The First International Workshop on MapReduce and its Applications (MAPREDUCE'10) 문서를 보는 것이 도움이 될 수 있다.
Apache Hadoop 웹사이트: http://hadoop.apache.org/아파치 하둡은 데이터 집중적인 분산 애플리케이션을 위한 무료 라이센스하에 제공되는 소프트웨어 프레임워크이다. 읽을 거리developerworks : Big Data로 새 비즈니스 통찰력 유도하기 (한글)데이터가 이러한 양으로 존재할 때 처리 한계점 중 하나는 데이터를 이동하는 데 막대한 양의 시간이 걸린다는 점이다. Apache Hadoop은 반대의 방식이 아니라 데이터로 작업을 이동하는 고유의 접근방식으로 이러한 우려를 해결하기 위해 새롭게 부상하였다. Hadoop은 두 개의 개별적이지만 통합된 런타임으로 구성된 클러스터 기술이다. HDFS(Hadoop Distributed File System)는 데이터의 이중 스토리지를 제공하고, 맵/리듀스(m..
Big Data(빅데이터) 말 그대로 큰 데이터..구글과 같이 방대한 데이터를 처리하기 위해서는고성능의 하드웨어(그것도 여러개)와 이를 처리할 만한 소프트웨어가 필요할 것이다. 구글의 분산 파일 시스템 및 맵리듀스 등하둡 같은 것이 대두 되었다. 하지만 구글을 제외하고는 대부분 상용 벤더들은 MySQL을 튜닝해서 사용한다고 들었다.