다음과 같은 오픈소스를 활용하면 쉽고 빠르게 매트릭스 모니터링(시각화, 알림) 시스템을 구현할 수 있습니다. 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..
MariaDB ColumnStore 커뮤니티 버전에서도 "파티션 테이블"을 사용할 수 있습니다. CockroachDB에서는 엔터프라이즈 버전에서만 사용할 수 있습니다. 그럼 MariaDB ColumnStore에서 지원하는 "파티션 테이블" 특징은 나열해 보겠습니다. 1. MariaDB ColumnStore는 모든 열에서 논리적 수평 파티션을 자동으로 생성됨 2. 1개의 파티션은 2개의 익스텐트로 구성되며, 각각의 익스텐트에는 8백만 rows 가 저장됨. 3. 맨 앞에 위치한 컬럼이 파티션 키가 됨. 4. 파티션 키는 숫자(int), 날짜(date)를 사용할 때 파티션 Min, Max 값이 잘 구분되어 짐. 파티션 구성 조회 1) select calShowPartitions('테이블명','컬럼명'); 2)..
MariaDB ColumnStore에 Bulk로 데이터를 적재할 때 cpimport 를 사용하게 됩니다. 성능이 어떨까요? 60여개 필드(컬럼) 데이터 1000만건을 import하는 속도가 약 70~80초 정도 소요 됩니다. 대용량 데이터 적재시에 시간을 많이 절약할 수 있습니다. 적재하는 데이터의 종류에 따라서 cpimport 옵션을 적절히 사용해 주시면 효과적입니다. 저는 -s, -E, -C 옵션을 사용해서 "상품명"같이 문자가 마구 섞여 있어서 기본 설정으로 로딩 실패를 해결 했습니다. -s : 필드 구분 문자 (문자 1개로만 사용 가능), 보통 ",", "₩t"를 사용하지 싶습니다. -E: 필드를 완벽히 구분하기 위해서 값을 감싸 주는 문자를 지정할 수 있습니다. : 'A','B','C'
- Total
- Today
- Yesterday
- Pixel Pals
- 화분벌레
- 코라나 19
- 파나소닉 비데 DL-EH10KWS
- 남설 팔찌
- 별이 빚나는 밤
- 오미크론
- GKRS
- JMW 헤어드라이기기
- Sybase IQ
- 루미큐브 종류
- 매직 트랙패드2
- VARIDESK
- Life Chair
- 브리다 정수기
- 증권정보포털
- 고체 향수
- 카카오 에드
- 유가바이트디비
- 배당급
- 톡토기
- 별잉 빛나는 밤
- weka
- yugabyteDB
- 빈센트 반 고흐
- node.js
- 홈 오피스
- 르세라핌
- 솔리드 쿨론
- 로니카 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 | 31 |