[java] runon jdbc 라이브러리
개요 https://github.com/runonio/stock 과 같은 runon의 프로젝트를 보면 직접 개발한 jdbc를 사용합니다. 관련 라이브러리를 개발한 시기는 대략 2013년 쯤으로 기억하는데 이때에는 mybatis 가 유행하던 시기로 지금 많이 사용하는 jpa 가 국내에서 잘 사용되지 않던 때였습니다. 수백만 단위의 데이터를 불러와서 수억건의 row 를 저장하는 일들이 있었는데 프레임웍에서 동작하는것보다 low level 까지 들어가서 조작하고 싶어서 제작 하였습니다. 오픈소스로 제공되는 라이브러리 입니다. https://github.com/runonio/commons modules -> jdbc 에서 사용할 수 있습니다. 그당시 상황 항상 사용되는 2천만 가량의 row 데이터가 있고, 이 row 데이터를 기반으로 매일 수백만건의 문서를 분석해야 하는 일이 있었습니다. 당시에는 분석결과 또한 오라클 엑사데이터에 구성하길 원하는 금융권이 많아서 대량 select 도중 데이터를 받는기능, 대량 insert 관련된 부분이 필요한 시점이었습니다. 그래서 2천만 가량의 row 는 싱글턴으로 메모리 인덱스 구조를 생성하여 미리 올려놓고 활용하는 형태로 개발을 하였는데 복잡한 쿼리가 필요 없을때가 많았고 불러온 이후에 java 객체로 변환하는 과정이 귀찮고, 단순쿼리를 짜는것도 귀찮아서 개발 하였습니다. 또 당시는 dump, link 권한이 없는 상태에서 db 데이터를 이관시키는 일 oracle -> mysql, mysql -> oracle, oracle -> mssql 등으로 서로 다른 db 시스템으로 이관시키는 일등이 많이 생기는 시기였는데 이러한 경우에 중간에 jdbc를 이용해서 프로그램 적으로 편하게 옮길 필요가 있었습니다. 이러한 상황에서 사용 DB를 설계하기전에 아래처럼 도메인 헤드별 타입을 정의하고, 용어사전을 만들어서 사용하는 경우가 많았는데 당시에는 이러한 규칙이 잘 지켜지지 않으면 데이터 품질평가 점수가 좋지 ...