
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 합집합의 결과 처리시 원하지 않는 결과 출력
MariaDB CS(ColumnStore)에 데이터를 빠르게 적재하는 방법은 "cpimport"를 사용하는 것입니다. 대용량일 경우에는 당연히 "cpimport"사용을 최우선으로 하는게 맞습니다. 문제는 너무 크지 않은 데이터를 MariaDB에 insert하고, update할 때 입니다. insert는 Multiple Insert 문를 직접 생성해 주거나, JDBC Driver URL 옵션 중 "rewritebatchedstatements=true" 통해서 JDBC Batch를 자동으로 Multiple Insert문으로 변경해 주는 기능을 사용하면 성능을 끌어 올릴 수 있습니다. 문제는 update 입니다. MariaDB CS에서는 update문을 벌크로 수행하는 기능을 찾을 수 없었습니다. 혹시 알고 ..
1위 MongoDB => 최근 2~3년 동안 관심을 많이 가졌던 녀석인데, 드디어 우리나라에서 꽃을 피우는 것 같아서 1위로 선정. 9월에 MongoDB Local. Seoul에 참석했던 기억이 오래 오래 남을 것 같다. 2위 CockroachDB => 처음부터 클라우드 환경을 고려해서 만든 데이터베이스라서 이제까지 접해보지 못했던 다양한 기능들이 나를 더 성장시켜 줘서 2위로 선정. "Simple is best"가 생각나게 하는 녀석이고, 아마 MongoDB 다음으로 DBMS제품으로 성공할 것 같은 느낌. 3위 MariaDB ColumnStore => SAP IQ(Sybase IQ)와 비슷한 녀석인데, 이 것은 무료(Free) 말이 필요 없고, 저 비용으로 데이터웨어하우스가 필요한 기업은 무조건 도입해..
MariaDB ColumnStore에 대용량 데이터를 적재하면 자동으로 파티셔닝 됩니다. TIP 1. 선두 컬럼이 중요한 역할을 하며, 숫자형이나 날짜형으로 하면 좋다고 이전 글에서 알려드린적이 있습니다. 오라클에서도 마찬가지이지만 파티셔닝된 테이블을 사용할 때는 왠만하면 파티셔키가 되는 컬럼 값을 조회 조건에 넣어 주는게 성능에 유리합니다. ex) 주문월(int(6))로 파티셔닝 된 테이블을 고객 번호로 주문 내역을 조회할 경우... -------------------------------------------------------------------------------------------------- select * from 주문 where 고객번호 = '100000' and 주문월 betwee..
- Total
- Today
- Yesterday
- 별이 빚나는 밤
- 유가바이트디비
- 별잉 빛나는 밤
- Life Chair
- 오미크론
- 루미큐브 종류
- JMW 헤어드라이기기
- 매직 트랙패드2
- 홈 오피스
- GKRS
- 빈센트 반 고흐
- 증권정보포털
- weka
- node.js
- 솔리드 쿨론
- VARIDESK
- 브리다 정수기
- 고체 향수
- 파나소닉 비데 DL-EH10KWS
- 톡토기
- 배당급
- 로니카 BCS
- 르세라핌
- Pixel Pals
- 남설 팔찌
- Sybase IQ
- 코라나 19
- 화분벌레
- yugabyteDB
- 카카오 에드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |