Posting

Machbase의 최신 소식을 지금 만나보세요

[MACHBASE 이야기] 제품 실습 후기

마크베이스 (Machbase) 제품 실습 후기

마크베이스 현장 실습생 이석환

서론

 대학교에서 진행하는 프로그램을 통해 본사에서 현장 실습생으로 짧은 시간 동안 근무했습니다. 현장 실습생으로 근무하면서 입사 초기에 마크베이스 제품 이해를 위해 가볍게 마크베이스를 사용해봤었는데, 이에 대해 마크베이스 제품을 접해 본 간단한 후기를 작성해봤습니다.
회사에서는 마크베이스라는 제품을 처음 접하는 사람들을 위해 다양하고 간단한 튜토리얼과 샘플을 준비해 두고 있었습니다. 이를 이용해 짧은 시간 동안 마크베이스를 얕고도 넓게 접해볼 수 있는 소중한 기회가 되었습니다.

저는 아직 학생 신분이고 데이터베이스 제품 자체를 깊게 접해보지 못했었기 때문에, 쉽게 이해하기 위해선 제품 매뉴얼이 필요했었습니다. 마크베이스는 이런 초보자들을 위한 매뉴얼 또한 구비되어 있어 사용하기 편리했습니다.
바로 이 매뉴얼 사이트 를 통해, 설치부터 제품 내 기능까지 쉽게 사용해 볼 수 있었습니다. 그리고 뒤이어 소개할 예제들을 사용 해 보면서 추가적인 제품 정보를 얻을 수 있었습니다.

저는 Fog Edition 의 리눅스 버전을 설치했습니다만, 어떤 버전을 선택해도 상관없습니다.

Sample

마크베이스를 설치하면, 홈 디렉토리에 위치한 Sample 과 Tutorial 디렉토리를 볼 수 있습니다. 그 중 첫 번째로 Sample을 소개해 드리고 제가 다뤄본 경험을 작성해 봤습니다.
우선 두 디렉토리 모두 케이스마다 파일이 구분되어 있어, 쉽게 테스트가 가능합니다.

Sample 디렉터리는 총 9가지 세부 디렉터리가 있고, 각 폴더를 통해 다양한 상황을 쉽게 재현해 사용해볼 수 있었습니다.

디렉터리설명
clicli를 이용한 간단 사용 예제
donetC#을 이용한 간단 사용 예제
jdbcjdbc 연동을 통한 간단 사용 예제
log4jlog4j를 이용한 간단 사용 예제
pythonpython3 이전 버전을 위한 간단 사용 예제
python3python3를 이용한 간단 사용 예제
quickstartcli상에서 바로 데이터를 import해볼 수 있는 예제
restrest를 이용한 간단 사용 예제
sql마크베이스 내 쿼리, 함수 사용 예제
stream마크베이스 stream 기능을 위한 사용 예제

저 같은 경우엔 학부 공부만 했다 보니 처음 접해보는 부분들이 많았습니다. cli/ODBC, log4j 등이 굉장히 생소했는데요.샘플, 튜토리얼을 보는 것 자체로도 공부가 좀 된 것 같습니다.
샘플을 쓰면서 아쉬웠던 점이, README.md 같은 사용 방법에 대한 안내 설명 파일이 없어서 좀 불편했습니다. 간단한 안내를 첨부해서 어떤 샘플인지 의미를 파악하고 순서대로 해 볼 수 있었으면 더욱 좋았을 것 같습니다.
제가 아예 모르고 본 부분도 있어서 다른 분들은 샘플 파일을 이해하는 데 저 만큼의 어려움이 있을지는 모르겠습니다만, 저 같은 초보자들을 위해서 더 풍부한 설명이 추가됐으면 합니다.

Tutorials

tutorials 디렉터리에는 총 8가지 디렉터리가 있고 sample 디렉터리와 마찬가지로 미리 작성된 파일을 이용해 쉽게 사용해볼 수 있었습니다.

디렉터리설명
bacnup_mountbackup, mount 명령어 예제
connect_r RODBC 연동 예제
csvloadcsvload 명령어 예제
export_dataexport 명령어 예제
install_docker_imagedocker와 마크베이스 사용 예제
ip_addressMachbase ip 자료형 예제
search_textDB 내 text 검색 예제
time_seriesMachbase 자료형 _arrival_time 사용 예제

backup_mount 디렉터리는 csvload 디렉터리를 먼저 수행해야 합니다. sample_table 이라는 테이블이 필요한데, csvload 디렉터리를 먼저 수행해야 해당 테이블이 생성되고 샘플 데이터도 입력됩니다.
예제 간 의존성이 있는데 이 부분이 설명되어 있지 않아서 혼동이 있었습니다. 이 부분은 backup_mount 디렉터리에 csvload 내용을 중복이더라도 같이 추가해서 해결해주면 좋을 것 같습니다.
그리고 R-ODBC를 어떻게 다운받는지 몰라서 고생했었습니다. 예제에 필요한 다른 프로그램 설치 방법 안내도 있으면 좋았을 것 같습니다.

Github Example

위에 소개해드린 예제들을 포함해서 Machbase Github 에 다양한 예제들을 업로드 되어 있습니다.
설치한 디렉터리 예제에서는 다루지 않은 다른 언어부터, 다른 프로그램과의 사용에 대한 예제, 반도체 제조 공정 시뮬레이션을 위한 샘플도 있는 등 꽤 다양한 예제들이 있습니다.
설치하신 디렉터리에 원하는 예제가 없으면 Machbase Github 에 접속해보면 좋을 거 같습니다.
Machbase Github 에는 간단한 설명도 첨부되어 있어서 Github를 통해 예제를 다뤄보면 더 좋을 것 같습니다  (일부는 제가 써 넣었습니다!)

Term Project

마크베이스는 센서 데이터를 처리하는데 특화되어 있습니다. 제가 실습을 마치고 학교로 돌아가서 센서 데이터를 이용한 프로젝트를 진행하게 된다면 마크베이스를 사용해볼 것 같습니다.                                                                                                                                                                                                                                                           
제가 마크베이스를 사용해보면서 생각났던 아이디어는 아두이노, 라즈베리파이와 다양한 센서를 이용해서 센서 데이터를 수집하고 파일로 저장하고,
저장된 데이터로 Mach-Collector(로그 데이터를 추출하여 변환 후 마크베이스 데이터베이스에 실시간으로 입력하는 도구)를 이용해 마크베이스에 저장해서 통계를 구하고 통계값으로 무언가를 해내는 방법입니다.
좀 더 구체적으로 라즈베리파이 또는 아두이노와 적외선 인체 감지 센서를 활용해서 학교 식당이나 건물 등 왕래 인원이 많은 곳에 이용 인원이나 집중 방문 시간 등의 데이터를 센서를 통해 얻고 해당 데이터를 빠르게 처리해서 통계를 구해 식당 운영 방식, 건물 운영 방식 등에 참고하는 방법이 있을 것 같습니다.

위와 같은 방식 말고도 정말 다양하게 응용해볼 수 있을 것 같은데, 나중에 응용 심화시켜서 졸업 작품으로 사용할 아이디어를 내보고 싶습니다.

마치며

샘플, 튜토리얼을 수행해보면서 마크베이스는 다양한 API를 지원하고 있다는 것을 알 수 있었고 성능 또한 체감해볼 수 있었습니다.
그리고 매뉴얼 사이트가 친절해서 좋았습니다. 수행하면서 크게 막힘이 없었고 대체로 친절하고 쉽게 이해할 수 있도록 잘 작성되어 있는것 같습니다. 
마크베이스를 사용하면 방대한 양의 센서 데이터를 효율적으로 다룰 수 있기 때문에 학교에서 센서 데이터를 사용한 프로젝트를 진행할 때, 실제로 사용해보고 싶습니다.

연관 포스트

C언어로 Binary data를 Machbase에 넣기

1.개요 Data를 다루다 보면 numeric, varchar 형 데이터뿐만 아니라 JPG, PNG, MP3와 같은 Binary data도 database에 저장해야 할 때가 존재한다. 그러나 일반 data들과는 달리 Binary

[MACHBASE 연동] Android studio에서 JDBC 연결하기

마크베이스 기술지원본부 이현민 1. 개요 수많은 데이터들이 많은 환경에서 생성되고 있는 오늘날, 우리 현대인들의 동반자인 스마트폰 또한 데이터생성의 주체로써 또는 전달자로서 알게 모르게 그 구실을