전체 글156 InfluxDB nodeJS 라이브러리 현재 모니터링 시스템을 구축하기 위해서 사용하는 라이브러리는 아래와 같다. https://github.com/node-influx/node-influx GitHub - node-influx/node-influx: 📈 The InfluxDB Client for Node.js and Browsers 📈 The InfluxDB Client for Node.js and Browsers. Contribute to node-influx/node-influx development by creating an account on GitHub. github.com 간단한 사용 방법을 포스팅한다 ! [1] Influx 연결 InfluxService.client = new Influx.InfluxDB({ database: d.. 2022. 11. 15. TypeORM TypeORM이란? node.js에서 실행되고 TypeScript로 작성된 객체 관계형 매핑 라이브러리 MysQL, PostgreSQL, Maria, SQLite 등 여러 데이터 베이스를 지원한다. ORM이란 ? [ Object Relational Mapping ] 객체와 관계형 데이터베이스의 데이터를 자동으로 변형 및 연결하는 작업 ORM을 사용하여 개발하면 객체와 데이터베이스와의 관계를 유연하게 변형하여 사용 가능하다. [ 객체 지향 : 클래스 2022. 10. 3. 억지기법과 완전 탐색 억지 기법 ( brute-foce ) 란 ? 매우 광범위한 문제에 적용 가능한 알고리즘 설계 기법 중 하나 입력의 크기가 작은 경우 충분히 빠를 수 있고, 점근적으로 더 효율적인 알고리즘 보다 실제 빠른 경우도 존재 효율적인 알고리즘 설계와 분석을 위해 이론적 기반이 됨 정렬, 탐색, 기하학적 문제, 완전 탐색, 그래프 탐색 등에 사용 가능 [1] brute-force를 사용한 선택 정렬 : 입력 리스트에서 가장 작은 항목을 매번 루프마다 찾고, 이를 꺼내 정렬된 리스트에 순서대로 삽입한다. ▶ 이를 개선 시키면, 새로운 리스트에 저장하는 것이 아니라 정렬되지 않은 최근 포인트에 접근하여 교환하는 것도 가능 ( 제자리 정렬 ) 선택 정렬 알고리즘 def selection_sort(A): n = len(A.. 2022. 10. 2. [22년] InfluxDB를 활용한 웹 모니터링 시스템 구축 이전 내용 이전 포스팅에서는 현재 웹 모니터링 시스템에서의 DB를 TSDB로 교체하기 위해서 성능을 테스트 했었습니다. 그 결과는 매우 긍정적이었기 때문에 저는 연구실에서 현재 사용되는 센서 데이터의 저장과 조회를 RDB + Redis를 사용하던 DB구조에서 TSDB인 InfluxDB로 교체하는 역할을 전담하여서 프로젝트를 진행하게 되었습니다. 아래 포스팅은 SQL과 InfluxDB의 성능 테스트와 관련된 글 입니다 !! SQL vs InfluxDB 쿼리 성능 비교 (1) 문제 상황 현재 우리 시스템에서는 SQL에 데이터를 쌓고 웹 에서는 redis를 이용하여 센서 데이터를 시각화하고있다. 하지만 아무리 Redis의 쿼리속도가 빠르고 좋다고 해도 SQL에 매 시간마다 쌓이 hello-jaemin.tist.. 2022. 9. 11. Kapacitor Kapacitor는 Influx Data에서 밀고 있는 TICK 스택 ( Telegraf, InfluxDB, Crongraf, Kapacitor ) 중 하나로 오픈 소스의 데이터 처리 프레임 워크로 경고 생성, ETL 작업 실행 , 이상 징후 감지 등 다양한 데이터 처리가 가능함 공식 문서에 따르면 현재 Kapacitor에 큰 효율을 가지는 기능들은 아래와 같다. 스트리밍 데이터 & 배치 데이터 모두 처리 가능 일정에 따른 데이터 쿼리 및 Influx DB를 통한 다양한 방식의 데이터 수신 가능 InfluxQL에 맞춰 데이터 변환 가능 변환된 데이터를 다시 InfluxDB에 저장 가능 사용자 정의 함수 추가 가능 Kapacitor 설치 기본 포트는 9092를 사용함 모든 API 및 쓰기 호출에 대해 TC.. 2022. 8. 25. InfluxDB 데이터 베이스 관리 [ SHARD & RP (Retention Policy ) ] 1. InfluxDB Config file 설정 [ 구성 파일 설정 ] InfluxDB 상에서 기본 설정들을 바꿔주기 위해서는 Influxdb.config 파일을 수정해야 한다. 파일을 수정한 뒤 InfluxDB의 시스템 상에서 수정된 설정을 적용하기 위해서는 2가지 방식이 있다. [1] conf 파일을 수정한 뒤 influxd 를 실행할 때 마다 conf 파일 위치를 인자로 주어 프로세스가 구성 파일을 가리키도록 설정하는 방식 influxd -config /etc/influxdb/influxdb.conf [2] 환경 변수를 설정하여 구성 파일의 경로를 설정하여 influxd가 적용되어 실행하도록 하는 방식 ( 추천 ) echo $INFLUXDB_CONFIG_PATH /etc/influxdb/influx.. 2022. 8. 22. InfluxDB CQ ( continuous query ) Continuous Query InfluxDB에서 제공하는 CQ ( contiunuous query )는 실시간 데이터 상에서 설정해논 주기대로 자동으로 실행되고 쿼리 결과를 지정한 measurements에 저장하는 " 지속적으로 실행되는 쿼리 " 입니다. 기본 구문 CREATE CONTINUOUS QUERY ON BEGIN END ▶ cq name : 설정할 CQ를 명시적으로 선언하기 위해 설정하는 이름 ▶ database_name : CQ가 어떤 database에서 실행될지 설정 ▶ cq_query : 실행시킬 CQ의 본문 CQ_query의 기본 구문 SELECT INTO FROM [WHERE ] GROUP BY time()[,] CQ_query의 특징 INTO GROUP BY time() 이 필수적.. 2022. 8. 12. [22년] SQL vs InfluxDB 쿼리 성능 비교 (1) 문제 상황 현재 우리 시스템에서는 SQL에 데이터를 쌓고 웹 에서는 redis를 이용하여 센서 데이터를 시각화하고있다. 하지만 아무리 Redis의 쿼리속도가 빠르고 좋다고 해도 SQL에 매 시간마다 쌓이는 센서 데이터들의 크기와 특정 조회 쿼리를 날릴 경우에 있어서 앞으로 시스템을 유지하는데 SQL만 쓰기에는 무리가 있다고 생각했다. 따라서 측정 데이터는 InfluxDB나 Marchbase DB를 이용하고, 추가로 SQL의 관계형 DB를 이용히는 것을 목표로 잡게 되었다. 먼저, SQL과 InfluxDB의 쿼리 속도에 대해 비교해야 한다고 생각했다. 따라서 각 DataBase에 천만건의 데이터를 쌓은 뒤 특정 쿼리들을 실행 한 후 검색 속도를 조회하기로 하였다. [1] 인덱싱 된 MySQL에 천만 건의 .. 2022. 8. 9. 모듈 [ @Module() ] @Module() 데코레이터의 역할 : Nest 가 애플리케이션 구조를 만들 때 사용할 수 있는 메타 데이터를 생성하고 Nest는 이를 기반으로 애플리케이션 구조를 생성한다. 각 응용 프로그램은 하나 이상의 루트 모듈을 가진다. ( 애플리케이션을 구성하기 위한 시작점 ) 애플리케이션이 커지면 컴포넌트를 분리하고, 여러개의 컴포넌트를 구성하기 위해 여러 모듈을 활용함 주로 관련 기능을 묶어 캡슐화하는 모듈을 선언하고 이를 활용한다.\ @Module() 데코레이터의 속성 종류 providers Nest의 인젝터가 인스턴스화시키고 적어도 이 모듈안에서 공유하는 프로바이더 ( 인젝터란 의존성을 주입하는 Nest의 내부 모듈 ) controllers 모듈안에서 인스턴스화를 목적으로 정의된 컨트롤러의 집합 impo.. 2022. 7. 28. Telegraf influxdb의 포트는 8068, 8088 포트를 사요ㅕㅇ함 8086 포트 InfluxDB의 HTTP API 통신을 위한 용도 8088 포트 백업과 리스토어를 위한 RPC 서비스 용도 telegraf 윈도우 설치 가이드 : https://itprogramming119.tistory.com/entry/%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-%EC%84%B8%ED%8C%85-Telegraf-%EC%9C%88%EB%8F%84%EC%9A%B0-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95 [개발환경 세팅] Telegraf 윈도우 설치 방법 Telegraf란? 주로 수집, 처리, 종합처리, 메트릭에 쓰기 위해 사용됩니다. 시계열 데이터베이스(TSDB)인 Influ.. 2022. 7. 15. Vuejs 2 [0] Vue router 뷰 인스턴스와 함께 라우터 인스턴스를 생성해준다. 그 후 뷰 인스턴스에 만든 라우터 인스턴스를 등록함 2. router Link 앵커 태그 로 변환해서 나타남 ! Login // 앵커 태그 추가 Main [2] Axios 사용하기 2022. 7. 3. Vue.js Vue - MVVM 패턴의 뷰모델(ViewModel) 레이어에 해당하는 화면(View)단 라이브러리 Vue의 Reactivity ( 반응성 ) ==> 데이터의 변화를 라이브러리에서 감지해서 자동으로 화면으로 다시 그려주는 것 ! # 기본으로 제공하는 Object.defineProperty 2. Vue의 인스턴스 // vue 스크립트 가져오기 new Vue(); //vue인스턴스 생성 var vm = new Vue(); console.log(vm); // vue 인스턴스 내 속성과 API 출력v Vue의 인스턴스를 통해 미리 정의된 함수나 정의할 함수를 재사용하는 것이 가능함 ( 속성과 API를 정의 후 재사용 ) ==> vm 에다가 넣어두기 ! 인스턴스 생성자 함수 function Person(name,.. 2022. 6. 28. 이전 1 2 3 4 5 6 ··· 13 다음 반응형