MariaDB를 Columnstore를 이용하여 DW로 사용중이고, PG를 사용하기 위해 데이터마이그레이션을 완료했습니다. 신규 서버이기 때문에 서버 장비도 업그레이드했으나 구조적인 한계로 인해 Columnstore 테이블의 조회 속도를 능가하기는 어려웠습니다. 조회 성능을 높이기위해 DuckDB를 설치하여 사용해보려고 합니다. 우선 오늘은 DuckDB를 설치하여 PG의 데이터를 조회하는 과정까지 기록합니다.
DuckDB를 다운로드 받아 설치하고자하는 경로에 위치시키고 압축을 해제합니다.
압축을 해제하여 생성된 duckdb 파일을 실행하면 설치는 끝났습니다.
select * from read_csv('./kaggle/Indian_housing_Pune_data.csv');
# kaggle_dataset(csv) 파일 다운로드 위치 - https://www.kaggle.com/datasets/bhavyadhingra00020/india-rental-house-price
csv 파일을 읽어 바로 새로운 테이블에 삽입할 수 있습니다.
create table new_tbl as select * from read_csv('./kaggle/Indian_housing_Pune_data.csv');
select * from new_table;
install postgres;
load postgres;
attach 'dbname=test user=agens host=192.168.54.51 port=5333 password=1234' as agens_db (type postgres);
Segmentaion Fault 세그멘테이션 오류(Core dumped)라는 오류를 종종 보았을 것이다. 이는 메모리 보호 기법에 의해 발생한 오류로 허가되지 않은 메모리의 접근을 방지하기 위해서이다. MS의 윈도우에서는 예외처리를 하여 다양한 오류 상황에 대처하도록 설계되어있다. 그러나 UNIX 계열에는 단지 허가되지 않은 메모리의 접근을 에러 처리할 뿐이다.
다른 테이블은 조회가 잘 되는데 people table만 말썽입니다.
이번엔 다른 에러가 뜹니다.
참고로 각 컬럼만 조회할 시 잘 조회됩니다.
디버깅해서 차후에 이어서 기술합니다.