본문 바로가기

좋아하는 것_매직IT/96.IT 핫이슈

SplinterDB - 고성능 임베디드 키밸류 저장소 (github.com/vmware)

반응형

SplinterDB - 고성능 임베디드 키밸류 저장소를 소개합니다.

github에서는 아래와 같이 소개하고 있고요..

What is SplinterDB?

SplinterDB is a key-value store designed for high performance on fast storage devices.

번역하자면, SplinterDB는 빠른 저장 장치에서 고성능을 위해 설계된 키-값 저장소라고 하고요..

See

Alexander Conway, Abhishek Gupta, Vijay Chidambaram, Martin Farach-Colton, Richard P. Spillane, Amy Tai, Rob Johnson: SplinterDB: Closing the Bandwidth Gap for NVMe Key-Value Stores. USENIX Annual Technical Conference 2020: 49-63

Usage

SplinterDB is a library intended to be embedded within another program. See Usage for a guide on how to integrate SplinterDB into an application.

SplinterDB is provided as-is and is not recommended for use in production until version 1.0. See Limitations for details.

Build

See Build for instructions on building SplinterDB from source.

See Documentation for preliminary documentation.

빌드는 아래와 같이 설명하고 있네요..

Building from source

This document is about how to build and test SplinterDB itself.

To integrate SplinterDB into another application, see Usage.

On Linux

Builds are known to work on Ubuntu using recent versions of GCC and Clang.

Tooling

In CI, we test against GCC 9 and Clang 13.

We use clang-format-13 for code formatting.

To install clang-13 tools on Ubuntu Linux, do this:

$ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -

$ sudo add-apt-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main'

$ sudo apt-get install -y clang-13 clang-format-13

Full build

Here are the steps to do a full-build of the library, run smoke tests, and to install the shared libraries:

$ export COMPILER=gcc    # or clang-13
$ sudo apt update -y
$ sudo apt install -y libaio-dev libconfig-dev libxxhash-dev $COMPILER
$ export CC=$COMPILER
$ export LD=$COMPILER
$ make
$ make run-tests
$ sudo make install

Additional options controlling builds can be found by running

$ make help

Code formatting

Our CI system enforces code formatting rules. If you're making code changes that you wish to contribute back to the project, please format the code using the format-check.sh script:

$ format-check.sh fixall
 

Files will be edited in place.

On other platforms

Currently SplinterDB only works on Linux. Some SplinterDB developers work in a Linux virtual machine. You may also have success with a Docker-based workflow.

 

한마디로 SplinterDB 는 고성능 임베디드 Key-Value 저장소라고 머릿속에 넣어두시면 됩니다. 


그리고, SplinterDB 의 특징을 간단하게 정리하자면 아래와 같습니다. 

- NVMe 같은 고속 저장소에 최적화된 키밸류 저장소 라이브러리  
- 다른 프로그램들에 임베드할 목적으로 만들어짐  
- VMWare가 만든 C코드 오픈소스 (현재는 리눅스 전용)

좀 더 자세한 사항은 아래 github 를 찾아가보시면 좋을것 같네요~

오늘의 블로그는 여기까지고요..
항상믿고 봐주셔서 감사합니다.

728x90
300x250