마크베이스
마크베이스의 경쟁력
글로벌 성능평가 1위

- TPCx-IoT 성능평가 부문 1위 (2009년 11월부터 현재까지) - 초당 570만건의 처리속도 -
- Hadoop 대비 10배 낮은 CPU/메모리 투자 비용
- 기존 RDBMS 및 Hadoop 보다 수십 배 더 뛰어난 압축 효율
- 다양한 운영 체제 및 CPU 지원
에지 컴퓨팅에 최적화

- Raspberry Pi 4에서도 초당 400,000건 이상의 데이터 입력 성능
- 엣지 디바이스에서 클러스터까지 모든 디바이스에서 최고의 성능 제공
- 심플한 아키텍처로 최고의 확장성 구현
- DBMS와 AI 애플리케이션 간에 학습 및 추론 애플리케이션을 효율적으로 개발할 수 있는 방법 제공
Machbase TSDB (Neo)
sh -c "$(curl -fsSL https://machbase.com/install.sh)"
unzip machbase-neo-*.zip
<Click on the link below to download>
machbase-neo-v8.0.7-windows-amd64.zip
<Download from releases>
https://machbase.com/neo/releases/
machbase-neo serve
machbase-neo shell sql \
'create tag table EXAMPLE (\
name varchar(40) primary key, \
time datetime basetime, \
value double \
)'
curl
http://127.0.0.1:5654/db/query
\
--data-urlencode
\
"q=create tag table EXAMPLE (name varchar(40) primary key,
time datetime basetime, value double)"
machbase-neo shell sql \
"insert into EXAMPLE values('temperature',
1670380342000000000, 12.3456)"
curl
http://127.0.0.1:5654/db/query
\
--data-urlencode \
"q=insert into EXAMPLE values('temperature',
1670380342000000000, 12.3456)"
import requests
csvdata
=
"temperature,1670380342000000000,12.3456"
response =
requests.post(
"http://127.0.0.1:5654/db/write/EXAMPLE?heading=false",
data=csvdata,
headers={'Content-Type': 'text/csv'})
q =
"select * from example"
fetch(`http://127.0.0.1:5654/db/query?q=${encodeURIComponent(q)}`)
.then(res
=> {
return res.json();
})
.then(data
=> {
console.log(data)
});
package main
import (
"net/http"
"bytes"
"strings"
)
func
main() {
rows :=
[]string{
"temperature,1670380342000000000,12.3456"}
http.Post(
"http://127.0.0.1:5654/db/write/EXAMPLE?heading=false",
"text/csv",
bytes.NewBufferString(strings.Join(rows,
"\n"))) }
using HttpClient client =
new();
var payload =
new System.Net.Http.StringContent(
@"temperature,1677033057000000000,21.1
humidity,1677033057000000000,0.53",
new System.Net.Http.Headers.MediaTypeHeaderValue("text/csv"));
var rsp =
await client.PostAsync(
"http://127.0.0.1:5654/db/write/example?heading=false", payload
);
machbase-neo shell sql 'select * from EXAMPLE'
curl
http://127.0.0.1:5654/db/query
\
--data-urlencode "q=select * from EXAMPLE"
import requests
params = {"q":"select * from example",
"format":"csv",
"heading":"false"}
response =
requests.get("http://127.0.0.1:5654/db/query",
params)
print(response.text)
q =
"select * from example"
fetch(`http://127.0.0.1:5654/db/query?q=${encodeURIComponent(q)}`)
.then(res
=> {
return res.json();
})
.then(data
=> {
console.log(data)
});
package main
import (
"net/http"
"io"
)
func
main() {
q :=
url.QueryEscape("select * from example")
rsp,
_ := http.Get("http://127.0.0.1:5654/db/query?format=csv&q="+q)
data,
_ := io.ReadAll(rsp.Body)
fmt.Println(string(data))
}
using HttpClient client =
new();
var q =
System.Net.WebUtility.UrlEncode("select * from example");
var data =
await client.GetStringAsync(
"http://127.0.0.1:5654/db/query?format=csv&q="+q
);
Console.Write(data);
Use Case

마크베이스는 시계열 데이터에 맞는 스키마 구조를 통해 선박 엔진의 센서 데이터가 포함된 CSV 파일을 수집하고 저장하여 실시간 모니터링 서비스를 제공할 수 있었습니다.

마크베이스의 안정적인 클러스터 운영 덕분에 IoT 디바이스를 사용하는 캐롯 보험의 마일리지 보험은 가입자의 차량 운행 정보를 실시간으로 수집하고 이를 기반으로 보험료를 부과할 수 있습니다.