---
# System prepended metadata

title: Local DB 保存データ

---

# Local DB 保存データ

## 使用データベース

オペレータのローカルDBへのデータの書き取り・読み取りにあたり、**RocksDB**を採用する。

以下特徴がある。

- Key-Value store型の高速データ・ストレージ。
- valueに容量制限はない。
- leveldbより機能拡張されている。
- 読み取りパフォーマンスに優れている。

比較対象

https://www.bookstack.cn/read/rocksdb-6.14-en/80660bc3f1831ded.md

- LevelDB
- CockroachDB
- TrieDB

## 保存データ

ローカルDBに保存する標準的なデータは下記のデータ種別がある。

keyに、`prefix + something`(blockHeaderの場合は、blockNumber等)で保存を行う。

- lastHeader
- blockHeader
- blockReceipts
- proof
- commit(transactions)
- userStateDiff(onetimeUserState)
- onetimeUser
- backupUserState
- globalState
- mapping(L1<->L2)

**lastHeader**
- 最新のblockHeader。
- 最新のblockHeaderに素早くアクセスしてblockNumberや、コミットハッシュを取得するために必要となる。

**blockHeader**
- blockNumber
- stateRoot
- timestamp

**blockReceipts**
- blockに含まれるblockReceiptが複数含まれている。

**mapping**
- L1とL2のコントラクトをmappingするためのデータが含まれている。

その他項目は、[分散ストレージ](https://hackmd.io/RUzKWv6yQoK6MumW1oFWMQ)を参照すること。

