.NET下的文档型数据库,RavenDB 1.0 发布

jopen 11年前

RavenDB是一个在.NET下的文档型数据库,它具有高扩展性,支持MapReduce,提供RESTful的接口。同时它又支持ACID的事务。RavenDB 允许您构建高性能、低延迟应用迅速和有效的应用。

这次发布详细记录

  • Transactions:
    • Will only try to delete transactions from my resource manager
    • Allowing multiple concurrent startups
    • Fixing transaction rollback error
    • Avoiding recovering transactions when EnlistInDistributedTransactions= false
    • Making sure we use the appropriate database, whatever it is the default one or not
    • Making sure that we can use the proper database when we recover from a failure using DTC
    • RavenDB-620 Ensure dealing with recovered transactions properly
    • Notify DTC about recovery completed AFTER we finish processing all the failed transactions
    • Moving the way we are handling storage of the recovery information Instead of storing and recovering on the server, we store / recover locally
    • Making sure that creating a transaction in parallel isn't going to cause issues
    • RavenDB-529 NonAuthoritativeInformation does not consider the transaction timeout
    • Fixing an issue with local transaction identifier always being thought of as the same
  • Replication:
    • Avoiding NRE during conflict resolution
    • Proper cleanup of the transactions
    • Making it possible to disable compression for replication (using Raven/Replication/DisableCompression config option). Useful if you need to replicate to an older version of RavenDB
  • Database:
    • Making sure that deletes are properly atomic in multi threading scenarios
    • Making sure that we can get an error on optimistic concurrency delete inside transaction using munin
    • Moving Munin to Snapshot isolation mode
    • Making sure that all of Munin operations run withing a Read context
    • Better safety using Munin
    • Proper handling of disposing of the database tasks Will handle failed dbs nicely
    • Make sure that we have safe shutdown sequence for transactional storage
    • Making sure that we will cleanup the write marker after we did the complete index cleanup
  • IIS:
    • Database initialization is not happening on a separate thread, so a request timeout should not cause it to die mid way
    • More robust disposal sequence
    • More robust init sequence, will force disposal of the resources created during the db ctor
    • Making sure that we play more nicely with the way ASP.Net calls us during app domain shut down
    • Making sure that we register to the TenantDatabaseModified.Occured from ASP.Net as well
    • Make sure that the idle timeout and the shutdown timeout were reasonable values for what we need during shutdowns
    </ul>