ColumnStore 엔진으로 데이터를 저장한 테이블에서 특정 컬럼에 한글이 포함되어 있고, 이 값을 앞에서 10글자만 잘라서 사용하고 싶을 때, substr()함수를 사용하면 null이 리턴이 됩니다. 이 경우에 제가 해결한 방법 3가지를 소개해 드립니다. 방법1) Operating Mode 변경 set infinidb_vtable_mode = 0 select substr( prdt_nm, 1, 10) as prdt_nm_10 from t_order; 방법2) collate utf8_bin 를 해당 필드 조회시 사용 select substr( prdt_nm collate utf8_bin, 1, 10) as prdt_nm_10 from t_order; 방법3) 정규표현식 사용 select regexp_s..
------------------------------------- start.sh --------------------------------------- # 리눅스일 경우 export를 통해서 옵션 값 설정 java -jar metabase.jar & --------------------------------------------------------------------------------------- 메타베이스 기본 포트(3000)를 변경하고 싶을 때? -> export MB_JETTY_PORT=8080 HTTP 쿠키를 사용하여 내장 메타베이스 사용자를 인증할 때 세션 타임아웃 주는 방법 -> 세션 타임아웃을 분단위로 설정 "export MAX_SESSION_AGE=60" 기본 값은 20160으로..
Outer Join 사용시 Inner Table의 숫자 컬럼을 sum() 할 때 null 값에 주의해야 합니다. SELECT T1.ORDER_ID ,SUM(T2.PRDT_PRICE) FROM T_ORDER T1 LEFT JOIN T_ORDER_DETAIL T2 ON (T1.ORDER_ID = T2.ORDER_ID) GROUP BY T1.ORDER_ID ; SELECT T1.ORDER_ID ,SUM(COALESCE(T2.PRDT_PRICE,0)) FROM T_ORDER T1 LEFT JOIN T_ORDER_DETAIL T2 ON (T1.ORDER_ID = T2.ORDER_ID) GROUP BY T1.ORDER_ID 일반적으로 SUM()이나 COUNT()함수는 null 값이 있으면, 그 row는 skip하는..
MariaDB ColumnStore Union/Union All 관련 버그가 있습니다. 버그 발생 상황 SELECT * FROM ( SELECT * FROM ( SELECT a, b FROM 컬럼스토어_테이블 UNION ALL SELECT a, b FROM 컬럼스토어_테이블 ) V1 ) V2 => V1까지는 데이터가 깨지지 않는데, V2를 조회하면 a,b 값이 마구 섞여져 조회가 됩니다. MariaDB ColumnStore 1.2.5GA / 1.1.7GA 모두에서 동일하게 발생이 되었습니다. 임시 해결 방안을 매뉴얼에서 찾을 수 있었습니다. MariaDB에 접속한 세션에서 "set infinidb_vtable_mode = 0 "으로 변경해 주면 데이터가 깨지지 않고 출력이 됩니다. 해당 세션에만 적용됨으..
DW(OLAP)용 DBMS는 일반적으로 컬럼지향으로 설계된 DBMS가 최적입니다. 대표적으로 SAP IQ(Sybase IQ), MariaDB ColumnStore, Teradata, KDB등 많이 있습니다. 다만 오픈소스로 무료로 사용할 수 있는 DBMS는 수도 적고, 그 중에서도 쉽고 안정적으로 사용할 수 있는 DBMS는 거의 없다고 봐야 합니다. MariaDB ColumnStore v1.2.5에 버그가 발견이 되어, 컬럼 지향이면서 무료인 DBMS를 찾아 보다가 러시아의 검색회사(구글/네이버와 같은) "얀덱스"에서 개발된 "ClickHouse"를 알게 되었습니다. 얀덱스에서 발표하는 내용 뿐만아니라, 다른 웹사이트에서도 조회 성능이 좋다는 글이 많이 있었습니다. 그런데 결정적으로 ClickHouse가..
다음과 같은 오픈소스를 활용하면 쉽고 빠르게 매트릭스 모니터링(시각화, 알림) 시스템을 구현할 수 있습니다. Telegraf : 매트릭스 수집 후 DB에 저장 InfluxDB: Telegraf에서 수집된 데이터를 저장하는 시계열 데이터베이스 Grafana: InfluxDB에서 데이터를 가져와 다양한 그래프로 대시보드 구성 및 Alert 구현 오늘은 InfluxDB를 로컬 컴퓨터에 설치하고, CR(ud)를 해보았습니다. CRUD에서 ud를 소문자로 설명한 것은 InfluxDB는 기본 사상이 입력한 데이터를 수정/삭제하는 것을 지양하도록 설계된 데이터베이스이기 때문입니다. RDBMS vs InfluxDB 비교 RDBMS InfluxDB Database Database Table Measurement Row ..
이제까지 개발한 ETL를 모두 "아파치 카프카"를 중심으로 다시 개발하는 것이 2020년 새해 첫 번째 목표입니다. 오라클(OLTP), 웹로그 등 다양한 데이터소스에서 타켓 DB(몽고디비, 코크로치디비, 마리아디비, ...)로 데이터를 옮기는 ETL이 중복 개발 되었습니다. 프로그램을 수정해서 2개의 프로그램으로 재 개발하는 것보다 카프카를 이용해서 심플하면서, 고가용성 있게 다시 개발하는 것이 시스템 관리에 더 낫다고 판단이 되어졌습니다.
현재 최종 릴리즈 버전이며 회사에서 사용하고 있는 1.2.5 버전에서 몇몇 버그들이 발견되고 있습니다. 좀 더 테스트한 후에 예제를 통해서 소개해 드리도록 하겠습니다. 오픈소스 DBMS라서 예상은 했지만, 기본이라고 생각하는 부분에서 원하지 않는 결과가 나와서 당혹스럽지만 대안이 있는 버그들인 만큼 해결이 될 때까지 기다려봐야 겠습니다. 버그1. case when 에서의 is null 처리 버그2. union all, union 합집합의 결과 처리시 원하지 않는 결과 출력
- Total
- Today
- Yesterday
- Sybase IQ
- 빈센트 반 고흐
- 솔리드 쿨론
- JMW 헤어드라이기기
- 르세라핌
- 매직 트랙패드2
- VARIDESK
- 고체 향수
- GKRS
- 남설 팔찌
- 홈 오피스
- yugabyteDB
- 브리다 정수기
- 유가바이트디비
- 코라나 19
- node.js
- 증권정보포털
- 톡토기
- 파나소닉 비데 DL-EH10KWS
- 별잉 빛나는 밤
- 루미큐브 종류
- weka
- Life Chair
- Pixel Pals
- 카카오 에드
- 화분벌레
- 별이 빚나는 밤
- 배당급
- 로니카 BCS
- 오미크론
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |