Simple Savant v0.5 is now available at CodePlex. This release includes the following features:
- Reliable cross-domain write support. Reliable-writes guarantee that you will never suffer partial data loss when writing associated data to multiple domains. System failure during a reliable-write will result in all or none of your data being stored in SimpleDB. This is accomplished using a 2-phased update. In the first phase your data is transactionally stored in a single domain. In the second phase your data is propagated to the final destination domains. If the initial propagation attempt is interrupted your data may remain in an inconsistent state for a short time. Other key points:
- Cross-domain puts, batch-puts, and deletes are supported
- Maximum of 25 sub-operations may be included in a single reliable-write operation
- Conditional puts and deletes are not supported
- Reliable-write adds about 150% overhead to each sub-operation. However, parallel propagation of sub-operations allows the overall write to complete with very little additional latency.
- Propagation of sub-operations can fail permanently if SimpleDB limits are exceeded. This condition will be very obvious and requires manual intervention to correct.
- Support for custom constraint/validation logic that's invoked automatically whenever you get, select, put, or delete an item.
- Expanded and improved support for asynchronous operations
- Logging supported by the .NET Commons Logging API