Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

마크베이스(Machbase)는 다양한 IoT 환경에서 발생하는 대량의 "센서 데이터"를 실시간으로 저장할 뿐만 아니라, 실시간 데이터 분석이 가능한 시계열 데이터베이스이다.

마크베이스는 기존의 솔루션으로는 해결할 수 없었던 센서 데이터에 대한 데이터 저장과 처리에 대한 대량의 부하 문제를 해결하였으며, 다양한 기능을 통해 앞으로 폭증하는 센서 데이터에 대한 훌륭한 솔루션을 제공한다.

새로운 데이터의 출현

최근 정보통신 분야가 유무선 통신에 기반한 사물인터넷(IoT: Internet of Things) 환경으로 발전하고 있으며, 이를 통해 다양하고 방대한 양의 데이터가 축적되고 있다.

Table of Contents
maxLevel1

따라서 이런 데이터를 실시간으로 분석할 수 있다면 이전에 발생하였거나 앞으로 발생할 수 있는 수많은 장애들을 파악하고 방지할 수 있을 것이다.

특히 몇 년 사이에 데이터를 생성하는 원천 디바이스의 숫자가 급격하게 늘어나고, 이에 뒤따르는 데이터의 발생량도 몇 년 만에 수십 배로 증가하고 있다.

반면 데이터를 처리하는 전통적인 소프트웨어에는 이에 대한 적절한 해결책을 제시하지 못하고 있다.

전통적인 솔루션이 현재 데이터의 처리에 적합하지 않은 이유는 다음과 같다.

첫째, 데이터 발생 속도가 어마어마하게 증가하고 있다.

데이터 원천 소스가 늘어나고 처리해야 할 정보의 종류가 증가함에 따라 서버에 데이터가 저장되는 속도가 기존과는 완전히 다른 속도로 도착하고 있다.

초당 수만 건에서 수십만 건의 데이터를 저장하기 위해 최적화된 소프트웨어 솔루션은 파일 시스템에 일반 Text 파일로 저장하는 것 외에는 해결책이 없는 실정이다.

둘째, 데이터의 발생 속도와 비례하여 실시간 데이터 분석의 수요가 증가하고 있다.

이런 빅데이터를 활용하여 의사 결정에 도움을 주는 것이 매우 중요하지만 기존 솔루션은 초당 수십만 건에 이르는 데이터를 실시간으로 인덱싱하고 검색 및 분석을 통해 결과를 사용자에게 전달하는 기술적 성숙도가 높지 않다.

셋째, 앞에서 언급했던 "센서  데이터"의 데이터 특성이 완전히 다르다.

전통적인 데이터베이스는 센서형 머신 데이터를 처리하기에 부적당한 아키텍쳐를 가지고 있으며, 이를 해결하기 위해서는 기술적으로 새로운 접근이 필요하다.

이런 이유로 마크베이스는  새로운 형태의 "센서형 머신 데이터"를 처리하는 최고의 아키텍쳐를 통해 새롭게 개발되었으며, 전통적인 기술로 해결하지 못했던 실시간 데이터에 대한 저장과 처리 및 분석이 가능한 유일한 데이터베이스 솔루션이다.

센서 데이터의 형태

Machbase is a new generation columnar time series database that ingests and stores large amounts of log or time stamped data. Machbase is designed for collecting, in real time, "machine or sensor data" from various IoT environments while simultaneously allowing the data to be queried and analyzed using standard SQL and APIs at very high speeds. Machbase supports any IoT data architecture, and works extremely well on limited edge compute devices, or gateway/fog platforms, as well as cloud/cluster implementations.

Machbase solves the problem of storing and processing massive amounts of sensor data that could not be solved by existing current big data solutions, while safeguarding the future emergence of new sensor data requirements through various capabilities and functions.

The Emergence of New Data

Through the recent development of applying big data and real-time analytics to the internet of Things (IoT) domain and with the promise of Machine Learning (ML), various and vast amounts of data are being captured and accumulated.  With the future of 5G systems entering the market, machine to machine data traffic will continue to explode.

Table of Contents
maxLevel1

Therefore, by analyzing these data in real-time, new applications, better efficiencies, greater reliability and fewer failures will be achieved.
In particular, the number of source devices, such as edge devices or sensors, have dramatically increased in the last few years, and as a result the generated data from these devices have also increased exponentially.
However, traditional, and even big data processing software are not providing adequate solutions to meet the volume and performance needs.
The reasons why the current, conventional solutions are not suitable for the current data processing are summarized as follows:


First, the rate of data generation is increasing exponentially.

As the number of data sources grows and the types of information that need to be processed increases, the rate at which the server can receive and store the data is entirely different from before.
There is no software solution optimized for storing tens of thousands to hundreds of thousands of data per second aside from saving it as a plain text file in the file system.


Second, the demand for real - time data analysis is increasing in proportion to the rate of data generation.

Using big data technics to help decision making is very important; however, existing solutions are not technically advanced enough to index hundreds of thousands of data per second and deliver results to the user, through search and analysis, in real-time.


Finally, as previously mentioned, the characteristics of "sensor data" is completely different.

Conventional databases have architectures that are inadequate for processing sensor-type machine data, and to address this, a new technological approach is needed.
For this reason, Machbase has been newly developed with the best architecture to handle new "sensor-type machine data" and is the only database solution that can store, process, and analyze real-time data.


Types of Sensor Data

IDTimeData
Temperature012020-01-01 00:00:0020
Pressure012020-01-01 00:00:000.98

위의 그림은 전형적인 센서 데이터의 형태를 나타낸 것이다. 크게 3가지의 속성으로 구분할 수 있으며 각각의 성질과 특성은 다음과 같다.

ID

이 값은, 해당 머신 데이터가 발생한 디바이스(원천 소스)의 유일성을 나타내는 기호 및 숫자를 나타낸다. 해당 머신이나 센서의 일련 번호로 구성되며 32비트 혹은 64비트의 정수로 표현된다.

TIME

이 값은, 해당 머신 데이터가 발생한 순간의 시간을 나타낸다. 이 시간은 지속적으로 증가하는 경향이 있으며, 일반적으로 초 단위까지 표현하고 특별한 경우 나노초(nanosecond)까지 표현되기도 한다.

DATA

이 값은, 2진 데이터로 주로 정수형, 실수형 숫자 혹은 IP 주소값 등의 형식의 데이터이다. 대표적으로 이 영역에는 특정 센서에서 나오는 온도, 가속도, 밝기 등의 숫자형 값이나, IPv4 혹은 IPv6와 같은 4바이트 혹은 16 바이트의 고정 데이터가 포함된다.

마크베이스는 Tag Table을 제공하여, 위 형태의 센서 데이터를 초당 수십만건을 받아들일 수 있는 최적화된 아키텍처를 제공한다.

PLC에서의 센서 데이터 구조

실제로 현장 (PLC : Programmable Logic Control) 에서 사용되는 센서 데이터는 위의 세 가지 속성으로만 표현되지 않는다.

대부분의 경우 아래와 같이 다수의 센서 데이터가 모여진 형태로 저장되는 것이 일반적이다.

따라서 아래 형태의 데이터도 함께 받아 들일 수 있고, 쉽게 변환이 되어야 한다The figure above shows typical sensor data divided into three types. The properties and characteristics of each types are as follows.

ID

This value represents a symbol and a number indicating the uniqueness of the device (source code) where the corresponding machine data is generated. 

It is the serial number of the machine or sensor and is represented as a 32-bit or 64-bit integer.

TIME

This value represents the time when the corresponding machine data occurred. This time stamp has the tendency to increase continuously and is usually in units of a second but can also be as fine as in nanoseconds.

DATA

This value is binary data, mainly in the form of integer type, real number type, or IP address value. Typically, this domain includes numeric values ​​such as temperature, acceleration, and brightness from a specific sensor, or fixed data of 4-byte or 16-byte similar to IPv4 or IPv6.  In certain applications the value can be in binary format as from camera or audio devices.

By providing a Tag Table, Machbase offers optimized architecture that can receive hundreds of thousands of sensor data per second.


Sensor Data Structure in PLC

In actuality, sensor data used in Programmable Logic Control (PLC) is not always represented by the above three types.

In most cases, a large number of sensor data are stored in a collected form as shown below.

Therefore, the following types of data can be accepted together and should be easily converted.

Code Block
languagebash
firstline1
titledata from PLC
Time          SN01M  SN02M  SN03M  SN04M  SN05M  SN06M  SN07M  SN08M  SN09M  SN10M
04:01:56.005    11.1      1      0      0      0      1      0      0      0      0
04:01:56.057    11.3      1      0      0      0      1      0      0      0      1
04:01:56.109    11.1      1      0      1      0      1      0      1      1      0
04:01:56.161    12.3      1      0      0      0      1      0      0      0      1
04:01:56.213     9.1      1      1      0      0      1      0      0      0      0
04:01:56.266     0.9      1      0      0      1      1      0      0      0      0
04:01:56.319     8.9      1      0      1      0      1      0      1      0      1
04:01:56.370     1.3      1      0      0      0      1      0      0      0      0
04:01:56.422    33.1      1      0      0      0      1      0      0      0      0
04:01:56.474     3.3      1      0      0      0      1      0      0      0      0
04:01:56.526     5.6      1      0      0      1      1      0      0      0      1
04:01:56.578     5.5      1      0      0      0      1      0      0      1      0
04:01:56.630     4.5      1      0      0      0      1      0      0      0      0
04:01:56.682     5.3      1      0      0      0      1      0      0      0      0
04:01:56.733     1.2      1      0      0      0      1      0      0      0      1
04:01:56.785     3.4      1      0      0      1      1      0      0      0      0
04:01:56.838    11.3      1      0      1      0      1      0      1      0      0
04:01:56.890    11.2      1      0      0      0      1      0      0      0      0
04:01:56.942     9.9      1      0      0      0      1      0      0      0      1
04:01:56.994     8.4      1      0      0      0      1      0      0      0      0
04:01:57.046     8.4      1      0      1      0      1      0      0      0      0
04:01:57.097     1.2      1      0      0      1      1      0      1      1      1
04:01:57.149     1.3      1      0      0      0      1      0      0      0      0
04:01:57.200    11.2      1      0      0      0      1      0      0      0      0
04:01:57.252     3.1      1      0      0      0      1      0      0      0      0

마크베이스는 Log Table을 제공하여, 위와 같은 형태의 PLC 데이터를 저장할 수 있는 구조 또한 제공한다.

이 테이블 역시 초당 수만건의 데이터를 입력하고, 분석할 수 있는 능력을 제공한다.Machbase provides a Log Table, which also provides a structure to store the above PLC data.

 This table also provides the ability to enter and analyze tens of thousands of data per second.