2010-09-02 25 views
0

在假期我读了帕特赫兰的"Life Beyond Transactions"(是的,假期是那么好:)。简而言之,它主张将交易范围限定为单一实体,然后使用能够更新实体或能够随时取消任务的“活动”组,从而使任务无效时发生变化。“交易之外的生活”实体中的实体消息活动模型?

(例如,装运订单A需要一定数量的物料1)装运订单和物料作为实体存储并具有其自己的活动,装运订单B在A完成前随最终的物料1一起装运。取消装运订单A.)

我以为我打印出迪纳摩纸,所以请原谅我,如果我在这里混淆了这两者。我见过很多受Dynamo和BigTable影响的“NoSQL”项目,特别是他们如何通过键和分区数据处理实体。我想知道这个Entity-Message-Activity模型是否影响了它们中的任何一个?或者,更具体地说,如果我在跨越多个实体的HBase,Cassandra,Riak等中进行操作,是否需要我自己实现一个活动(如更多的设计模式在应用程序中),还是有某种现有的框架?或者他们是否完全做了一件让整个问题都没有意义的事情?

谢谢!

回答

0

我只能从Cassandra的角度(我没有使用其他NoSQL引擎可用)在这里添加我的2美分。 Cassandra主要设计为快速读写结构。 Twitter是Cassandra的一个很好的用例(查看微博克隆Twissandra

假设我已经正确理解你的问题:是的,你必须自己实现这个活动。要了解Column/SuperColumnFamilies的建模,我建议阅读这篇伟大的文章WTF is a SuperColumn?

干杯!