Skip to content

Commit f77131f

Browse files
committed
Minor edits to final report introduction
1 parent a5f543b commit f77131f

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

doc/final-report/final-report.md

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -115,28 +115,39 @@ references:
115115

116116
# Introduction
117117

118-
As part of the project to reduce `cardano-node`’s memory use[@utxo-db] (colloquially known
119-
as UTxO-HD), a high-performance disk backend has been developed as an
120-
arm’s-length project by Well-Typed LLP on behalf of Intersect MBO and previously
121-
Input Output Global, Inc. (IOG). The intent is for the backend to be integrated
122-
into the consensus layer of `cardano-node`, specifically to be used for storing
123-
large parts of the Cardano ledger state. The backend is now feature-complete and
124-
should satisfy all functional requirements, and it has favourable results
125-
regarding the performance requirements.
118+
As part of the project to reduce `cardano-node`’s memory use[@utxo-db], by
119+
storing the bulk of the ledger state on disk (colloquially known as
120+
"UTxO-HD"[^1]), a high-performance disk backend has been developed as an
121+
arm’s-length project by Well-Typed LLP on behalf of Intersect MBO[^2]. The
122+
intent is for the backend to be integrated into the consensus layer of
123+
`cardano-node`, specifically to be used for storing the large parts of the
124+
Cardano ledger state.
125+
126+
This backend is now complete. It satisfies all its functional requirements, and
127+
meets all its performance requirements, including stretch targets.
128+
129+
[^1]: "UTxO-HD" is a classic project-manager's misnomer. It is not just about
130+
the UTxO, but all of the ledger state, and it is not about hard drives.
131+
Indeed the performance of hard drives is too low to support the feature.
132+
A better project name would be "On-disk ledger state", but there's no way
133+
to remove poorly chosen names from people's heads once they're firmly
134+
engrained.
135+
136+
[^2]: And previously on behalf of Input Output Global, Inc. (IOG).
126137

127138
The backend is implemented as a Haskell library called `lsm-tree`[@lsm-tree], which
128139
provides efficient on-disk key–value storage using log-structured merge-trees,
129140
or LSM-trees for short. An LSM-tree is a data structure for key–value mappings
130-
that is optimized for large tables with a high insertion volume, such as the
141+
that is optimized for large tables with a high insertion rate, such as the
131142
UTxO set and other stake-related data. The library has a number of custom
132143
features that are primarily tailored towards use cases of the consensus layer,
133-
but it should be useful for the broader Haskell community as well.
144+
but the library should be useful for the broader Haskell community as well.
134145

135146
Currently, a UTxO-HD `cardano-node` already exists, but it is an MVP that uses
136-
off-the-shelf database software (LMDB) to store parts of the ledger state on
147+
off-the-shelf database software (LMDB) to store a part of the ledger state on
137148
disk[@utxo-db-api]. Though the LMDB-based solution is suitable for the current state of the
138149
Cardano blockchain, it is not suitable to achieve Cardano’s long-term business
139-
requirements, such as high throughput with limited system resources. The goal of
150+
requirements[@utxo-db, Section 3], such as high throughput with limited system resources. The goal of
140151
`lsm-tree` is to pave the way for achieving said business requirements,
141152
providing the necessary foundation on which technologies like Ouroboros Leios
142153
can build.

0 commit comments

Comments
 (0)