Versions Compared

Key

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

...

로그 테이블은 입력되는 데이터가 시계열 데이터인 머신 로그 데이터를 저장할 수 있는 테이블이다.

이 테이블에는 데이터가 무한히 입력되며, 각 필드의 값에는 고유한 의미가 있다.
또한 텍스트 필드(varchar 혹은 text) 를 통해 데이터를 검색할 수 있으며, 빠른 통계 연산이 가능하다.

마크베이스에서 테이블이라고 하면 기본적으로 "로그 테이블"을 가리킨다.

...

일반 데이터베이스는 데이터 검색 시 입력 순서와 무관하게 출력된다.
그러나 Machbase의 로그 테이블은 별도의 ORDER BY를 통한 정렬 옵션을 주지 않는 한 언제나 최신 데이터가 먼저 출력된다.
이는 _arrival_time 컬럼을 통해서도 확인할 수 있다.

이렇게 설계된 이유는 머신 로그 데이터에서는 최근 데이터의 중요도가 이전의 데이터에 비해 훨씬 높기 때문이다.

...

Machbase는 일반 데이터베이스의 문자열을 취급하는 방식에서 한걸음 더 나아가 단어 기반의 검색 기능을 제공한다.
이 기능은 머신 로그 데이터의 용도에 가장 잘 부합하는 것으로서, 특정 시간대에 저장된 로그 데이터에 대한 검색이 비즈니스 상황에서 주요한 기능으로 사용된다.

이를 위해서 Machbase는 실시간 역인덱스를 제공함으로써 데이터의 삽입과 동시에 실시간으로 텍스트 검색이 가능하게 함으로써 빠른 장애 진단 및 장애 상황 해결에 큰 도움을 줄 수 있다.

...

Machbase는 IPv4, IPv6를 지원한다. 이는 인터넷 주소를 나타내는 특수한 타입으로서 수많은 머신 로그 데이터가 주로 표현하는 주소 체계를 반영한 것이다.
이 데이터 타입을 활용하여 특정 주소의 검색과 추출을 손쉽게 할 수 있다.

또한, select * from t1 where ipaddr = '192.168.0.*' 과 같은 확장 문법을 활용하여, 특정 주소 체계의 일부 주소 범위를 검색하거나 추출할 수 있는 기능도 함께 제공한다.
또한 netmask 연산자를 제공하여 특정 인터넷 주소가 특정한 주소 범위에 포함되는지 쉽게 판단할 수 있다.

...

로그 테이블은 64MB 바이트까지 저장 가능한 Text 및 Binary 타입을 제공한다.

  • 만일 해당 데이터가 텍스트 문서 형태로서 검색이 필요한 경우에는 Text 타입으로 저장하고 데이터를 검색할 수 있다.
  • 만일 해당 데이터가 그림이나 음악과 같은 2진 데이터 형태인 경우 binary 타입으로 저장할 수 있다.

시간 기반 파티셔닝

로그 테이블은 시간 축을 기준으로 특정 개수의 레코드 및 인덱스를 유지하고 있는 파티션 파일의 연속체이다.
다시 말해 데이터가 계속 입력됨에 따라 새로운 파티션 파일이 생성되고, 그 파티션에 특정 개수의 레코드가 모두 차게 되면 다음 파티션이 생성된다는 의미이다.

파티션으로 관리하는 이유는 주로 시간을 기준으로 검색이 발생하는 로그 데이터의 특성을 반영한 것이며 데이터 입력 성능에 대단히 큰 장점이 있다.
통계 분석을 위한 초고속 데이터 접근에 용이한 구조이기 때문이다.

...