When applying updates on your data you basically overwrite and remove valuable information. By doing this you lose the ability to answer questions you may have in the near future. Traditional state based approach is just an inflexible form of log-based approach.
When we have the stream of events (rather than the set of states) we can build any model and database we would like: relational, graph, document databases, text indexes, etc.
Paralect has more than 4 years of experience in building humongous systems based on ideas of Event Sourcing. We never remove your data. Unless you really need to do this.
NoSQL movement was born to address the limitations and issues of traditional database systems
that were designed more than 30 years ago.
Several papers (1, 2) present clear evidence that the major RDBMS can be beaten by specialized architectures by an order of magnitude in several application areas, including text search, stream processing, batch processing and transactional processing.
Paralect has more than 4 years of experience with various NoSQL solutions, including MongoDB, RavenDB, Membase, Lucene and Redis.
MongoDB is a scalable, high-performance, schema-less, open source NoSQL database. It combines
the best features of key/value
stores and document databases. MongoDB supports full consistency and transactional updates
that makes it perfect fit for realtime OLTP scenarious.
Andrew Orsich, Paralect Technology Lead, is a #3 at StackOverflow for [mongodb] tag.