Add enterprise docs structure and include pending core maintenance updates.
This commit is contained in:
63
docs/features/storage-transactions.md
Normal file
63
docs/features/storage-transactions.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Storage And Transactions
|
||||
|
||||
## Purpose And Business Outcome
|
||||
|
||||
Provide durable, ACID-compliant local persistence for embedded workloads that need consistent commit and recovery semantics.
|
||||
|
||||
## Scope And Non-Goals
|
||||
|
||||
Scope:
|
||||
- Page-based storage
|
||||
- Write-ahead logging
|
||||
- Transaction lifecycle and commit/rollback semantics
|
||||
|
||||
Non-goals:
|
||||
- Distributed transactions
|
||||
- Multi-node replication
|
||||
|
||||
## User And System Workflows
|
||||
|
||||
1. Application writes through `DocumentDbContext`.
|
||||
2. Engine records WAL entries.
|
||||
3. Commit persists pages and marks transaction durable.
|
||||
4. Recovery replays WAL to restore committed state after restart.
|
||||
|
||||
## Interfaces And APIs
|
||||
|
||||
- `DocumentDbContext`
|
||||
- `Transaction` and `ITransaction`
|
||||
- `WriteAheadLog`
|
||||
- Storage engine modules under `src/CBDD.Core/Storage`
|
||||
|
||||
## Permissions And Data Handling
|
||||
|
||||
- Database files require host-managed filesystem access controls.
|
||||
- Transaction data should be treated as sensitive if payloads contain regulated information.
|
||||
|
||||
## Dependencies And Failure Modes
|
||||
|
||||
Dependencies:
|
||||
- Local filesystem I/O
|
||||
- WAL and page file consistency
|
||||
|
||||
Failure modes:
|
||||
- Interrupted writes
|
||||
- Corrupted WAL entries
|
||||
- Invalid page metadata after unsafe process termination
|
||||
|
||||
## Monitoring, Alerts, And Troubleshooting
|
||||
|
||||
- Use CI/test failures and incident issues as primary signals.
|
||||
- Follow [`../runbook.md`](../runbook.md) for triage.
|
||||
- Follow [`../security.md`](../security.md) for data handling and control requirements.
|
||||
- Use [`../troubleshooting.md`](../troubleshooting.md#data-file-and-recovery-issues) for recovery issues.
|
||||
|
||||
## Rollout And Change Considerations
|
||||
|
||||
- Any storage format or WAL behavior change requires migration and rollback validation.
|
||||
- Release notes must document backward compatibility impact.
|
||||
|
||||
## Validation Guidance
|
||||
|
||||
- Run transaction and recovery tests in `tests/CBDD.Tests`.
|
||||
- Execute `dotnet test CBDD.slnx -c Release` before merge.
|
||||
Reference in New Issue
Block a user