[이벤트] 사용 후기 쓰고 선물 골라가자잉~ Tech


마크베이스 Enterprise Edition런칭 기념 이벤트 제 1탄! 

시계열 데이터베이스 중 최고 속도를 자랑하는 마크베이스의 Enterprise Edition 출시 되었습니다.
마크베이스를 사용해 보시고 블로그 포스팅 하시면 상품을 드립니다. 이벤트 기간은 9월 11일부터 2주간 진행 됩니다. 4차 산업혁명의 쌍두마차인 인공지능과 빅데이터를 Machbase 함께 쉽고 빠르게 처리/분석해 보세요. 



초고속 DB 사용후기 쓰고 상품 타러 가자! 
1. Machbase.com/download 에서 Community Edition 을 다운로드 받습니다. (‘Machbase community edition’은 제한 없이 무료로 사용 가능 합니다.)
2. Machbase를 다양한 환경에서 여러 툴과 많은 데이터를 이용해 사용합니다. (사용방법은 온라인 매뉴얼에 자세히 나와 있습니다.http://machbase.com/document
3. 2번이 어려우면 마크베이스와 관련된 블로그 글들을 참조 합니다.
4. 3번이 어려우면 마크베이스 공식 블로그에 방문해서 참조 합니다. (www.machbase.com/dev
5. 마크베이스를 써본 내용을 내 블로그나 SNS 페이지 작성합니다.
6. 마크베이스 페이스북 이벤트 페이지 코멘트 란에 사용 블로그나 SNS URL을 올립니다.
https://www.facebook.com/groups/1427137130655364/
7. 심사를 통해 이벤트 끝나고 사용자는 2주안에 상품을 받아봅니다. (선정되시면 저희가 따로 연락을 드립니다.)
*** 이벤트 관련 문의는 아래 메일 주소로 연락 주시면 친절하게 안내해 드리겠습니다. ***
blog@machbase.com



심사기준 
1. 이벤트 기간 9월11일 ~ 9월24일
2. Machbase의 다양한 툴을 사용한 블로거
3. 많은 데이터를 이용해 Machbase의 속도를 측정한 블로거
4. 기발하게 Machbase를 사용하고 블로그를 남긴 블로거
5. Machbase를 다운받아서 사용하고 블로그만 남겨도 추첨을 통해 5,000원 상당의 스타벅스 상품권 지급


상품 
• 1등(1명) 1등 1명_LG패널 자비오 55인치 UHD TV / X5500UHD PLUS
• 2등(5명) 2등 5명_[샤오미] 샤오미 기계식 한글 키보드 MK01
• 3등 (10명) 3등 10명_ 스타벅스 기프트콘 상품권 (3만원 상당) 
• 참여상100명_스타벅스 기프트콘 상품권 (5000천원 상당) 

마크베이스(Machbase) 파이썬 모듈을 통해 고속으로 데이터 입력해 보기 Tech

시작

파이썬 모듈을 통해서 대량의 텍스트 화일이나 라이브로 생성되는 데이터를 빠르게 마크베이스에 입력해야 하는 경우가 있을 듯 하다.

기존의 Direct Execute 방식은 구조상 POVE(Parsing, Optimization, Validation, Execution)를 매번 거쳐야 하기 때문에 비용이 많이 드는 구조인데, 마크베이스에서는 다행스럽게도 이런 과정 없이 직접 데이터를 넣을 수 있도록 API를 제공해 준다.

어떻게 쓰는지..얼마나 빠른지 한번 사용해 보도록 하자.

Append API 설명

매뉴얼의 Append 설명을 보면 (http://doc.machbase.com/python-module) 아래와 같이 꽤 간단하게 나와 있어서 이해하기 쉽지 않고, 소스코드를 보면서 따라가야 하는데, 그 의미는 다음과 같다.

machbaseDB.append(aTableName, aTypes, aValues, aFormat)

예를 들어서 샘플에 있는 sample_table 테이블에 데이터를 넣는다고 가정해 보자.

create table sample_table(d1 short, d2 integer, d3 long, f1 float, f2 double, name varchar(20), text text, bin binary, v4 ipv4, v6 ipv6, dt datetime)


이어지는 내용

마크베이스(Machbase) 파이썬 모듈 연동 해보기 Tech

시작

여러가지 테스트를 한번 해 보기 위해서는 쉬운 스크립트 언어와의 연동이 첫걸음이 아닐까 한다.

그래서, 오늘은 파이썬과 어떻게 연동을 한번 해 본다.

이게 성공적으로 끝나면, 모든 챠트나 테스트를 아예 파이썬으로 짜면 인생이 쉬워질 듯.




이어지는 내용

마크베이스(Machbase) 초고속 데이터 로딩 및 테스트 Tech

시작

시계열 데이터베이스인 마크베이스에 데이터를 로딩해서 얼마나 빠른지 테스트 해 보기로 했다.

매뉴얼을 보면 패키지에 포함된 샘플데이터를 활용하는 예제가 있으므로 그것을 사용해 보기로 하겠다.

데이터 로딩 준비

아래에 있는 1분 튜토리얼을 활용해 보기로 하였다.

1분만에 CSV 화일 로딩해 보기 예제 (http://doc.machbase.com/load-a-csv-file-in-1-minute) 참조한다. 

우선 설치된 디렉토리는 다음과 같다.

필자는 우분투에 디폴트로 설치한 것이기에 다음과 같이 나오지만, tgz이나 rpm 으로 설치한 경우에는 위치가 다를 수도 있으니 주의하자.

machbase@mb:~$ cd $MACHBASE_HOME/tutorials/csvload/machbase@mb:/opt/machbase/current/tutorials/csvload$ ls -al합계 127696drwxrwxr-x  2 machbase machbase      4096  7월 31 15:48 .drwxrwxr-x 10 machbase machbase      4096  7월 31 15:48 ..-rw-rw-r--  1 machbase machbase    246769  7월 20 10:59 awards.csv-rw-rw-r--  1 machbase machbase       259  7월 20 10:59 create_sample2_table.sql-rw-rw-r--  1 machbase machbase       231  7월 20 10:59 create_sample_table.sql-rwxrwxr-x  1 machbase machbase        60  7월 20 10:59 load_awards.sh-rwxrwxr-x  1 machbase machbase       486  7월 20 10:59 load_sample.sh-rwxrwxr-x  1 machbase machbase       474  7월 20 10:59 load_sample2.sh-rw-rw-r--  1 machbase machbase 130477124  7월 20 10:59 sample_data.csvmachbase@mb:/opt/machbase/current/tutorials/csvload$ wc -l sample_data.csv1000000 sample_data.csvmachbase@mb:/opt/machbase/current/tutorials/csvload$


샘플 데이터가 100만 라인이고, 내용을 잠깐 아래와 같이 확인해 보았다.

machbase@mb:/opt/machbase/current/tutorials/csvload$ head sample_data.csv 2015-05-20 06:00:00,63.214.191.124,2296,122.195.164.32,5416,12,GET /twiki/bin/view/Main/TWikiGroups?rev=1.2 HTTP/1.1,200,51622015-05-20 06:00:07,212.237.153.79,6203,71.129.68.118,8859,67,GET /twiki/bin/view/Main/WebChanges HTTP/1.1,200,405202015-05-20 06:00:07,243.9.49.80,344,122.195.164.32,6203,46,GET /twiki/bin/view/Main/TWikiGroups?rev=1.2 HTTP/1.1,200,51622015-05-20 06:00:07,232.191.241.129,5377,174.47.129.59,1247,17,GET /mailman/listinfo/hsdivision HTTP/1.1,200,62912015-05-20 06:00:07,121.67.24.216,2296,212.237.153.79,6889,68,GET /twiki/bin/view/TWiki/WebTopicEditTemplate HTTP/1.1,200,37322015-05-20 06:00:07,31.224.72.52,450,100.46.183.122,10541,20,GET /twiki/bin/view/Main/WebChanges HTTP/1.1,200,405202015-05-20 06:00:07,210.174.159.227,6180,173.149.119.202,6927,2,GET /twiki/bin/rdiff/TWiki/AlWilliams?rev1=1.2&rev2=1.1 HTTP/1.1,200,52342015-05-20 06:00:07,210.174.159.227,10124,16.194.51.72,10512,69,GET /twiki/bin/rdiff/TWiki/AlWilliams?rev1=1.2&rev2=1.1 HTTP/1.1,200,52342015-05-20 06:00:07,60.48.99.15,12333,85.183.139.166,12020,64,GET /robots.txt HTTP/1.1,200,682015-05-20 06:00:07,81.227.25.139,5883,96.128.212.177,2042,56,GET /twiki/bin/oops/TWiki/TextFormattingRules?template=oopsmore¶m1=1.37¶m2=1.37 HTTP/1.1,200,11400machbase@mb:/opt/machbase/current/tutorials/csvload$ 

웹 로그 데이터가 100만건 들어있는 것으로 보인다.

로딩해 보기

이제 본격적으로 데이터를 로딩해 보기로 하자. 가장 빠른 방법으로 로딩해 보기로 했다.

튜토리엘이 있는 load_sample.sh의 내용을 수행해본다. 

machbase@mb:/opt/machbase/current/tutorials/csvload$ cat load_sample.sh#!/bin/sh.... 주석 제거 machsql -s 127.0.0.1 -u sys -p manager -f create_sample_table.sql  ## 스키마를 만드는 명령어 csvimport -t sample_table -d sample_data.csv -a -F "_arrival_time YYYY-MM-DD HH24:MI:SS"   ## 데이터를 로딩하는 명령어 machbase@mb:/opt/machbase/current/tutorials/csvload$

수행해 보았다.

machbase@mb:/opt/machbase/current/tutorials/csvload$ sh load_sample.sh + machsql -s 127.0.0.1 -u sys -p manager -f create_sample_table.sql=================================================================     Machbase Client Query Utility     Release Version 3.5.0.826b8f2.community     Copyright 2014 InfiniFlux Corporation or its subsidiaries.     All Rights Reserved.=================================================================MACHBASE_CONNECT_MODE=INET, PORT=5656Type 'help' to display a list of available commands.Mach> CREATE TABLE SAMPLE_TABLE(    srcip        IPV4,    srcport      INTEGER,    dstip        IPV4,    dstport      INTEGER,    protocol     SHORT,    eventlog     VARCHAR(1204),    eventcode    SHORT,    eventsize    LONG);Created successfully.Elapsed time: 0.094+ csvimport -t sample_table -d sample_data.csv -a -F _arrival_time YYYY-MM-DD HH24:MI:SS-----------------------------------------------------------------     Machbase Data Import/Export Utility.     Release Version 3.5.0.826b8f2.community     Copyright 2014, InfiniFlux Corporation or its subsidiaries.     All Rights Reserved.-----------------------------------------------------------------NLS            : US7ASCII            EXECUTE MODE   : IMPORT              TARGET TABLE   : sample_table        DATA FILE      : sample_data.csv     IMPORT_MODE    : APPEND              FILED TERM     : ,                   ROW TERM       : \n                  ENCLOSURE      : "                   ARRIVAL_TIME   : TRUE                ENCODING       : NONE                HEADER         : FALSE               CREATE TABLE   : FALSE                Progress bar                       Imported records        Error records                                             1000000                    0Import time         :  0 hour  0 min  2.892 sec Load success count  : 1000000Load fail count     : 0machbase@mb:/opt/machbase/current/tutorials/csvload$ 

100만건의 데이타가 2.8초 만에 로딩되었다. 참고로 내 머신은 Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz 4개와 삼성 SSD 300G 이고, 우분투 14.04이다.

쿼리 수행해 보기

로딩했으니 간단하게 쿼리를 날려보기로 하자.

machsql 을 사용하면 되는데, 유저명과 패스워드는 SYS / MANAGER 이다. 대소문자는 구별하지 않는 듯하다.

접속 및 카운트를 확인해 보았다.

machbase@mb:/opt/machbase/current/tutorials/csvload$ machsql=================================================================     Machbase Client Query Utility     Release Version 3.5.0.826b8f2.community     Copyright 2014 InfiniFlux Corporation or its subsidiaries.     All Rights Reserved.=================================================================Machbase server address (Default:127.0.0.1) :Machbase user ID  (Default:SYS)Machbase User Password :MACHBASE_CONNECT_MODE=INET, PORT=5656Type 'help' to display a list of available commands.Mach> show tables;NAME                                      TYPE-------------------------------------------------------SAMPLE_TABLE                              LOG[1] row(s) selected.Elapsed time: 0.000Mach> desc sample_table;[ COLUMN ]----------------------------------------------------------------NAME                          TYPE                LENGTH----------------------------------------------------------------SRCIP                         ipv4                15SRCPORT                       integer             11DSTIP                         ipv4                15DSTPORT                       integer             11PROTOCOL                      short               6EVENTLOG                      varchar             1204EVENTCODE                     short               6EVENTSIZE                     long                20Mach> select count(*) from sample_table;count(*)-----------------------1000000[1] row(s) selected.Elapsed time: 0.000Mach>

놀라운 속도를 보인다. 백만건 카운트는 그냥 바로 출력된다. 


다음은 group by 로 쿼리를 돌려본다. 

Mach> select srcip, count(srcip) from sample_table group by srcip;srcip           count(srcip)         ----------------------------------------148.30.103.173  13389        생략....................................        159.240.209.63  13425                [75] row(s) selected.Elapsed time: 0.224Mach> 

100만건 그룹갯수가 75개이고, 수행시간은 0.22초 걸린다. 



이어지는 내용

도커(Docker) 에서 마크베이스(Machbase) 사용기 (공손체) Tech

도커(Docker) 에서  마크베이스(Machbase) 사용기

개요

개인로 생각하기에 다운로드에 들어가는 시간을 제외하면, 도커는 다른 어느 플렛폼보다 가장 간편하게 프로그램을 설치, 테스트 해 볼 수 있는 환경인것 같다.

도커에 대한 자세한 사용법이나 설치법을 알기 위해서는 다음 링크를 사용하고, 여기에서 도커에 대한 설명은 하지 않기로 한다.

초보자를 위한 도커 시작 페이지

https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

다른 도커 한글 문서들

http://blog.nacyot.com/articles/2014-01-27-easy-deploy-with-docker/



이어지는 내용

1 2 3