What? 4000bytes 넘는 값을 mybatis 에 바인딩할 때 SUBSTR() 사용 시 ora-01461 발생. 테이블 컬럼이 CLOB 이라도 에러 발생. INSERT SELECT 문에서도 에러 발생. INSERT INTO TEST_TABLE SELECT SUBSTR(#{INPUT}, 4000) /* ORA-01461 Error */ FROM DUAL;Why? Oracle 에서 VARCHAR2 최대 크기는 4000bytes. SUBSTR() 에 입력 값이 String 타입으로 변환되어 4000bytes 이상이면 에러 발생. Solution Java 에서 입력 값을 substr() 처리 후에 mybatis SQL에서는 바인딩만 처리. INSERT VALUE 문으로 변경. INSERT INTO TES..
Offset-based Pagination Oracle은 ROWNUM을 사용하여 페이지 처리 MySQL은 LIMIT를 사용하여 페이지 처리 ROWNUM, BETWEEN 사용 (1.3초) 정렬은 인라인 뷰에서 먼저 처리 BETWEEN을 사용하면 전체 데이터에 ROWNUM을 처리해서 성능 이슈 select A.*, ROWNUM as RN from ( select * from TABLE order by 1 ) A where ROWNUM BETWEEN 11 AND 20; ROWNUM, 페이지 수를 계산해서 사용 (1.3초) select * from ( select A.*, CEIL(ROWNUM/10) as PAGE from ( select * from TABLE order by 1 ) A ) where PAGE..
시중은행들이 오라클 DB를 쓰는 가장 큰 이유는 RAC(Real application clusters)라는 기능 때문이다. RAC는 간단히 말하면 하나의 DB를 여러 서버가 공유하는 기술이다. 하나의 DB를 여러 서버가 공유하기 때문에 서버 하나가 장애가 나도 데이터 정합성이 유지된다. 데이터 정합성이 유지된다는 것은 서버 장애 때문에 고객의 돈이 사라지지 않는다는 의미다. 그러나 MySQL은 서버들이 DB를 공유하지 않는다. 서버마다 다른 DB가 있다. 이 때문에 MySQL은 마스터와 슬레이브라는 구조의 시스템을 운용한다. 마스터 서버로 시스템을 운용하면서 슬레이브 서버는 마스터 서버의 데이터를 특정 시점마다 복제한다. 마스터에 장애가 나도 복제된 데이터를 가지고 있는 슬레이브로 대체해서 운용하면 된다..
데이터 마트 (Data Mart, DM)는 데이터 웨어하우스(Data Warehouse, DW) 환경에서 정의된 접근계층으로, 데이터 웨어하우스에서 데이터를 꺼내 사용자에게 제공하는 역할을 한다. 데이터 마트는 데이터 웨어하우스의 부분이며, 대개 특정한 조직, 혹은 팀에서 사용하는 것을 목적으로 한다. 개개의 데이터 마트와 데이터 웨어하우스는 형식상 다른 존재이다. 그러나, 이 용어를 사용하는 대부분의 저자들은 용어의 의미상 데이터마트가 사용자 요구 분석에서 시작하는 개념으로 해석하고 데이터 웨어하우스는 기존의 데이터를 어떻게 수집, 분석하고 이를 어떻게 재사용할 것인가에 대한 개념으로 해석한다.데이터 웨어하우스는 중앙 집중식 데이터 집합체 (물리적으로는 분산되어 있음)를 뜻하며, 데이터 마트는 데이터 ..
데이터 마이닝(data mining)은 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아 내는 것이다. 데이터 마이닝은 통계학에서 패턴 인식에 이르는 다양한 계량 기법을 사용한다. 데이터 마이닝 기법은 통계학쪽에서 발전한 탐색적자료분석, 가설 검정, 다변량 분석, 시계열 분석, 일반선형모형 등의 방법론과 데이터베이스 쪽에서 발전한 OLAP (온라인 분석 처리:On-Line Analytic Processing), 인공지능 진영에서 발전한 SOM, 신경망, 전문가 시스템 등의 기술적인 방법론이 쓰인다.데이터 마이닝의 응용 분야로 신용평점 시스템(Credit Scoring System)의 신용평가모형 개발, 사기탐지시스템(Fraud Detection System), 장바구니 분석..
데이터 웨어하우스(data warehouse)란 사용자의 의사 결정에 도움을 주기 위하여, 기간시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스를 말한다. 정보(data)와 창고(warehouse)의 의미가 합성되어 만든 어휘이다. 따라서 데이터 웨어하우스는 방대한 조직 내에서 분산 운영되는 각각의 데이터 베이스 관리 시스템들을 효율적으로 통합하여 조정ㆍ관리하기 때문에 효율적인 의사 결정 시스템을 위한 기초를 제공하는 실무적인 활용 방법론이 제공되고 있다.데이터 웨어하우스의 구성은 관리 하드웨어, 관리 소프트웨어, 추출ㆍ변환ㆍ정렬 도구, 데이터 베이스 마케팅 시스템, 메타 데이터(meta data), 최종 사용자 접근 및 활용 도구 등으로 구성되어 있다.관리하는 방법론..