CEDA Log Structured Store
Persistent storage for arbitrary-sized binary objects
Index
- Part I: Overview
- 1 Log Structured Store (LSS)
- 2 Serial element
- 3 Seid
- Part II: Architecture
- 4 LSS - Under the hood
- 5 Chunk size
- 6 Storage assumptions and failure model
- 7 Write ordering on storage devices
- 8 Log structured store versus Write ahead logging
- 9 Check pointing
- 10 Cleaning
- 11 Lazy writer
- 12 Clustering
- 13 MSSN
- Part III: Operations and administration
- 14 Reading serial elements
- 15 Writing serial elements
- 16 Seid allocation
- 17 Durability
- 18 Backup and hot standby for the LSS
- 19 LssCompare.exe
- 20 LssApplyDeltas.exe
- Part IV: API reference
- 21 CEDA LSS API
- 22 CreateOrOpenLSS
- 23 LssSettings
- 24 ILogStructuredStore
- 25 ReadOnlyBuffer
- 26 IContiguousSerialElement
- 27 ILssTransaction
- 28 LssStats
- 29 LssDumpSettings
- Part V: Performance
- 30 LSS Performance
- 31 CEDA LSS versus Oracle BerkeleyDB
- 32 LSS performance measurement code
- 33 NuoDB ingestion rate measurement
- 34 Kyoto Cabinet ingestion rate measurement
- 35 Kyoto Cabinet without tuning
- Part VI: Implementation
- 36 Implementation overview
- 37 Storage medium
- 38 RootBlock
- 38.1 MSSN
- 38.2 Challis algorithm
- 39 The log
- 39.1 Log Flush Units
- 39.2 LogRecord
- 39.3 LogRecordPosition
- 40 LssTxn
- 40.1 SerialElementWriter
- 41 SegmentWriter
- 41.1 SegmentBeingWrittenInMemory
- 41.2 LazyWriter
- 41.3 LazyWriterQueue
- 41.4 SegmentQueue
- 41.5 Flushing the log
- 41.6 LazyFlusher
- 42 LazyCleaner
- 43 SegmentCache
- 43.1 Segment
- 43.2 SegmentAccessor
- 43.3 Segment Eviction Queue (SEQ)
- 44 Recoverable Packet Map (RPM)
- 45 Segment Utilisation Table (SUT)
- 45.1 ISUT
- 45.2 SmallSUT
- 45.3 LargeSUT
- 45.4 SUTSection
- 45.5 SUTSectionRef
- 45.6 Free Segment Stack (FSS)
- 45.7 Reservations
- 45.8 SegIdStack
- 45.9 SegmentUnreserver
- 46 CheckPoint
- 46.1 LazyCheckPointer
- 47 Recovery
- 47.1 RecoveryLogRecordVisitor
- 48 ReadSerialElement
- 49 DeltaFile
- 50 CopyStore
- 51 DumpLss
- 52 Component source reference
- 53 Third-party literature
- Part VII: Proposals
- 54 Implementation status and open issues
- 55 Fully asynchronous LSS
- 56 Asynchronous loading of serial elements
- 57 Proposed MVCC support in the LSS
- 58 Proposed MVCC support in cxPersistStore
- 59 Backup enhancements
- 60 RPM improvements
- 61 Compacting the store
- 62 Arena allocation for RPM nodes
- 63 Other Proposals
- Part VIII: History
- 64 Historical documents
- 65 Legacy Seid encoding
- 66 LSS - old documentation from 2005
- Part IX: Version 2
- 67 Introduction
- 68 LSS API
- 69 Seids
- 69.1 Multiple Address Spaces in a Working Set
- 69.2 Space
- 69.3 SpaceDirectory
- 69.4 Recoverable Packet Map (RPM)
- 70 cxSerialise
- 71 Random Access Store (RAS)
- 71.1 RAS Writes
- 71.2 RAS Reads
- 71.3 RAS Error Handling
- 72 Segment Cache
- 73 Partition
- 74 PartitionDirectory
- 75 Log
- 76 Segment Utilisation Table (SUT)