KNIME(i/naɪm/), 즉 콘스탄츠 정보 마이너(Konstanz Information Miner)는 데이터 애널리틱스, 보고 및 통합 플랫폼이다. KNIME은 모듈형 데이터 파이프라인인 "분석의 빌딩 블록(Building Blocks of Analytics)" 개념을 통해 기계 학습 및 데이터 마이닝을 위한 다양한 구성 요소를 통합한다. 그래픽 사용자 인터페이스와 JDBC를 사용하여 프로그래밍을 최소화하거나 하지 않고도 모델링, 데이터 분석 및 시각화를 위한 전처리(추출, 변환, 적재, ETL)를 포함하여 다양한 데이터 소스를 결합하는 노드를 구성할 수 있다. 이는 GNU 일반 공중 사용 허가서에 따라 배포되는 자유-오픈 소스 소프트웨어이다.
2006년부터 KNIME은 제약 연구뿐만 아니라 고객 관계 관리(CRM), 데이터 분석, 비즈니스 인텔리전스, 텍스트 마이닝, 재무 데이터 분석을 포함한 여러 분야에서 사용되어 왔다. 최근에는 로봇 프로세스 자동화(RPA) 도구로서 KNIME을 사용하려는 시도도 이루어졌다.
KNIME의 본사는 취리히에 있으며, 콘스탄츠, 베를린, 오스틴(미국)에 지사를 두고 있다.
역사
KNIME의 개발은 2004년 1월, 콘스탄츠 대학교의 소프트웨어 엔지니어 팀에 의해 오픈 소스 플랫폼으로 시작되었다. 마이클 베르톨트가 이끄는 원래의 팀은 실리콘 밸리의 제약 업계 소프트웨어 회사 출신이었다. 초기 목표는 특정 응용 분야에 국한되지 않고 데이터 로딩, 처리, 변환, 분석 및 시각적 탐색 모듈을 쉽게 통합할 수 있는 모듈식의 확장성이 뛰어난 오픈 데이터 처리 플랫폼을 만드는 것이었다. 이 플랫폼은 협업, 연구 및 기타 다양한 데이터 분석 프로젝트를 통합하기 위한 의도로 설계되었다.
2006년에 KNIME의 첫 번째 버전이 출시되었다. 여러 제약 회사가 KNIME을 사용하기 시작했고, 여러 생명 과학 소프트웨어 공급업체가 도구를 플랫폼에 통합하기 시작했다. 그해 말, 독일 잡지 c't에 기사가 실린 후, 다른 여러 분야의 사용자들도 합류했다. 2012년 기준으로 KNIME은 전 세계 생명 과학 분야, 은행, 출판사, 자동차 제조업체, 통신사, 컨설팅 회사 및 기타 여러 산업 분야와 수많은 연구 그룹에서 15,000명 이상의 실제 사용자(다운로드 수가 아닌 정기적으로 업데이트를 받는 사용자)가 사용하고 있다. KNIME Server 및 KNIME Big Data Extensions에 대한 최신 업데이트는 아파치 스파크 2.3, Parquet 및 HDFS 유형의 스토리지를 지원한다.
시각적이고 대화형인 프레임워크: KNIME 소프트웨어는 사용성이 높고 직관적인 데이터 분석 접근 방식을 우선시한다. 이는 데이터 흐름을 드래그 앤 드롭 인터페이스를 사용하여 결합할 수 있는 시각적이고 대화형인 프레임워크를 통해 달성된다. 사용자는 간단하거나 고급스럽고 고도로 자동화된 데이터 파이프라인을 생성하여 맞춤화된 대화형 애플리케이션을 개발할 수 있다. 여기에는 예를 들어 데이터베이스 접근, 기계 학습라이브러리, 워크플로 제어 로직(예: 루프, 스위치 등), 추상화(예: 대화형 위젯), 호출, 동적 데이터 앱, 통합 배포 또는 오류 처리가 포함될 수 있다.
모듈성: 처리 단위와 데이터 컨테이너는 서로 독립적으로 유지되어야 한다. 이러한 설계 선택을 통해 계산의 배포가 쉬워지며 서로 다른 알고리즘을 독립적으로 개발할 수 있다. KNIME 내의 자료형은 캡슐화되어 있어 미리 정의된 형식이 없다. 이러한 설계 선택은 새로운 자료형을 추가하고 이를 기존 형식과 통합하면서 형식별 렌더러와 비교기를 포함하는 것을 용이하게 한다. 이 원칙은 또한 각 단일 데이터 작업이 끝날 때 결과를 검사할 수 있게 한다.
확장 가능성: KNIME 소프트웨어는 확장 가능하도록 설계되었다. 새로운 처리 노드나 뷰를 추가하는 작업은 플러그인 메커니즘을 통해 간단하게 수행된다. 이 메커니즘은 사용자가 복잡한 설치나 제거 절차 없이도 자신의 맞춤 기능을 배포할 수 있도록 보장한다.
코드와 노코드의 혼합: 이 플랫폼은 데이터 분석에 대한 시각적 프로그래밍(노코드)과 스크립트 기반 프로그래밍(예: 파이썬, R, 자바스크립트) 접근 방식을 모두 통합하는 것을 지원한다. 이 설계 원칙을 로 코드라고 한다.
자동화 및 확장성: 예를 들어, 흐름 변수를 통한 매개변수화나 구성 요소 내 워크플로 세그먼트의 캡슐화는 분석의 수동 작업과 오류를 줄이는 데 기여한다. 또한 워크플로 실행 예약(KNIME Business Hub 및 KNIME Community Hub for Teams에서 사용 가능)은 인적 자원에 대한 의존도를 줄여준다. 확장성 측면에서 몇 가지 예로는 대규모 데이터셋 처리(수백만 행), 즉시 사용 가능한 여러 프로세스 동시 실행 및 워크플로 세그먼트 재사용 능력 등이 있다.
완전한 사용성: 오픈 소스 특성으로 인해 KNIME Analytics Platform은 제한된 체험 기간 없이 완전한 무료 사용성을 제공한다.
내부 구조
KNIME을 사용하면 사용자가 데이터 흐름(또는 파이프라인)을 시각적으로 생성하고, 일부 또는 전체 분석 단계를 선택적으로 실행하며, 나중에 대화형 위젯과 뷰를 사용하여 결과와 모델을 검사할 수 있다. KNIME은 자바로 작성되었으며 Eclipse를 기반으로 한다. 추가 기능을 제공하는 플러그인을 추가하기 위해 확장 메커니즘을 사용한다. 핵심 버전에는 데이터 통합(파일 입출력(I/O), JDBC나 네이티브 커넥터를 통해 모든 공통 데이터베이스 관리 시스템을 지원하는 데이터베이스 노드: SQLite, MS-Access, SQL Server, MySQL, PostgreSQL, Vertica 및 H2), 데이터 변환(필터, 변환기, 분할기, 결합기, 조이너) 및 통계, 데이터 마이닝, 분석 및 텍스트 분석의 공통적으로 사용되는 방법을 위한 수백 개의 모듈이 포함되어 있다. 시각화는 Report Designer 확장 프로그램을 통해 지원된다. KNIME 워크플로는 doc, ppt, xls, pdf 등과 같은 문서 형식으로 내보낼 수 있는 보고서 템플릿을 생성하기 위한 데이터셋으로 사용될 수 있다. 다른 KNIME 기능은 다음과 같다:
KNIME의 핵심 아키텍처는 사용 가능한 하드 디스크 공간에 의해서만 제한되는 대용량 데이터 처리를 허용한다(사용 가능한 RAM으로 제한되지 않음). 예를 들어, KNIME은 3억 개의 고객 주소, 2천만 개의 세포 이미지 및 1천만 개의 분자 구조를 분석할 수 있다.
추가 플러그인을 통해 텍스트 마이닝, 이미지 마이닝, 시계열 분석 및 네트워킹을 위한 방법을 통합할 수 있다.
KNIME은 자바로 구현되었으며, 다른 코드를 호출하는 래퍼를 허용할 뿐만 아니라 자바, 파이썬, R, 루비 및 기타 코드 조각을 실행할 수 있는 노드를 제공한다. 2021년부터 KNIME의 파이썬 통합은 아나콘다를 사용하여 파이썬 배포 및 환경 관리를 수행한다.
소프트웨어 사용권
2024년, KNIME 버전 5.3은 이전 버전과 동일한 GPLv3 라이선스 하에 출시되었다.
버전 2.1부터 KNIME은 GPLv3 라이선스 하에 출시되었으며, 상용 소프트웨어 공급업체가 잘 정의된 노드 API를 사용하여 독점 확장을 추가하거나, KNIME에서 도구를 호출하는 래퍼를 추가할 수 있도록 허용하는 예외 조항이 있다.
교육 과정
KNIME은 프로그래밍 기술 없이도 데이터 분석을 수행할 수 있도록 한다. 몇 가지 무료 온라인 과정이 제공된다.
↑Tiwari, Abhishek; Sekhar, Arvind K.T. (October 2007). “Workflow based framework for life science informatics”. 《Computational Biology and Chemistry》31 (5–6): 305–319. doi:10.1016/j.compbiolchem.2007.08.009. PMID17931570.
↑Chasco, Coro; Taques, Fernando H.; Taques, Flávio H. (January 2025). “Integrating big data with KNIME as an alternative without programming code: an application to the PATSTAT patent database”. 《Journal of Geographical Systems》27 (1): 31–61. Bibcode:2025JGS....27...31T. doi:10.1007/s10109-024-00445-0. hdl:10486/790400.