# SpaceTimeDB - DB와 서버를 하나로 결합

> Clean Markdown view of GeekNews topic #10461. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=10461](https://news.hada.io/topic?id=10461)
- GeekNews Markdown: [https://news.hada.io/topic/10461.md](https://news.hada.io/topic/10461.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2023-08-21T10:46:01+09:00
- Updated: 2023-08-21T10:46:01+09:00
- Original source: [github.com/clockworklabs](https://github.com/clockworklabs/SpacetimeDB)
- Points: 22
- Comments: 6

## Topic Body

- 관계형 데이터베이스 이면서, 어플리케이션 로직을 직접 저장 가능   
  - 'Modules' 라고 부르는 스토어드 프로시져 형태   
- 별도의 서버 없이 클라이언트가 직접 DB와 접속해서 어플리케이션 로직을 DB내부에서 실행   
- 배치나 OLAP 작업대신 '최고의 속도'와 '최소 레이턴시'를 보장하기 위해서 최적화   
  - 모든 어플리케이션 상태를 메모리에 저장하는 방식으로 속도를 달성   
  - 데이터는 WAL(Write-Ahead-Log) 로   
- MMORPG 인 BitCraft Online 의 실제 백엔드가 하나의 SpacetimeDB 모듈로 실행중. 별도 서버 없음   
- 임베디드 데이터베이스 라이브러리 동작해서 자신의 어플리케이션에 임베드 가능   
  - 또는 별도 스탠드얼론으로 직접 실행도 가능 (spacetime CLI 이용)  
- Rust로 된 싱글 바이너리로 맥/리눅스/윈도우 설치 지원   
- "Multiplayer at the speed of light"

## Comments



### Comment 18482

- Author: regentag
- Created: 2023-08-22T16:30:25+09:00
- Points: 1

오라클의 PL/SQL같은걸까요?

### Comment 18491

- Author: xguru
- Created: 2023-08-23T08:54:05+09:00
- Points: 1
- Parent comment: 18482
- Depth: 1

개념상은 비슷하긴 한데 언어지원폭이 넓어서 더 범용적일듯 합니다.

### Comment 18467

- Author: cosine20
- Created: 2023-08-22T09:19:45+09:00
- Points: 1

오 흥미롭네요

### Comment 18456

- Author: kuroneko
- Created: 2023-08-21T14:39:39+09:00
- Points: 1

나중에 다른 언어도 더 지원할 생각이라던데, 꽤 괜찮은 아이디어 같아요.  
성능 고민이 한층 줄어들겠네요.

### Comment 18452

- Author: yoehwan
- Created: 2023-08-21T12:14:23+09:00
- Points: 1

깃헙 레포 가보니 Rust 로 작성된거같은데, 'Go 바이너리로 맥/리눅스/윈도우 설치 지원'  이에 대한 내용이 어디있는지 알수있을까요?

### Comment 18453

- Author: xguru
- Created: 2023-08-21T12:54:57+09:00
- Points: 1
- Parent comment: 18452
- Depth: 1

엇 제가 적다가 뭔가랑 헷갈렸나보네요. 수정해두었습니다.
