Efficient data and indexing structure for blockchains in enterprise systems
- Blockchains yield to new workloads in database management systems and K/V-stores. Distributed Ledger Technology (DLT) is a technique for managing transactions in ’trustless’ distributed systems. Yet, clients of nodes in blockchain networks are backed by ’trustworthy’ K/V-Stores, like LevelDB or RocksDB in Ethereum, which are based on Log-Structured Merge Trees (LSM Trees). However, LSM-Trees do not fully match the properties of blockchains and enterprise workloads. In this paper, we claim that Partitioned B-Trees (PBT) fit the properties of this DLT: uniformly distributed hash keys, immutability, consensus, invalid blocks, unspent and off-chain transactions, reorganization and data state / version ordering in a distributed log-structure. PBT can locate records of newly inserted key-value pairs, as well as data of unspent transactions, in separate partitions in main memory. Once several blocks acquire consensus, PBTs evict a whole partition, which becomes immutable, to secondary storage. This behavior minimizes write amplification and enables a beneficial sequential write pattern on modern hardware. Furthermore, DLT implicate some type of log-based versioning. PBTs can serve as MV-store for data storage of logical blocks and indexing in multi-version concurrency control (MVCC) transaction processing.
Author of HS Reutlingen | Riegger, Christian; Vinçon, Tobias; Petrov, Ilia |
---|---|
DOI: | https://doi.org/10.1145/3282373.3282402 |
ISBN: | 978-1-4503-6479-9 |
Erschienen in: | iiWAS 2018 : proceedings of the 20th International Conference on Information Integration and Web-based Applications & Services : Yogyakarta, Indonesia — November 19 - 21, 2018 |
Publisher: | ACM |
Place of publication: | New York, NY |
Editor: | Maria Indrawan-Santiago |
Document Type: | Conference proceeding |
Language: | English |
Publication year: | 2018 |
Tag: | Blockchain; K/V-store; data structure; enterprise workload |
Page Number: | 10 |
DDC classes: | 004 Informatik |
Open access?: | Nein |
Licence (German): | ![]() |