CEDA Log Structured Store

Persistent storage for arbitrary-sized binary objects

Index

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