Модель сущности-сообщения-активности "Жизнь за пределами транзакций" на практике? - PullRequest
0 голосов
/ 02 сентября 2010

За каникулы я прочитал Пэт Хелланд "Life Beyond Transactions" (да, каникулы были такими хорошими :).Короче говоря, он предлагает ограничить объем транзакций одной сущностью, а затем использовать группы «действий», которые имеют возможность обновлять сущность или отменять задачу в любое время, когда происходит изменение, которое делает эту задачу недействительной.

(Например, для заказа на доставку A требуется определенное количество элемента 1. Заказы на доставку и элементы хранятся как объекты и имеют свои собственные действия. Заказ на перевозку B поставляется с последним из элемента 1 до завершения операции A.Пункт 1 отменяет заказ на перевозку A.)

Я думал, что я распечатываю бумагу «Динамо», так что прости меня, если я объединю эти два здесь.Я видел довольно много проектов "NoSQL", на которые повлияли Dynamo и BigTable, особенно в том, как они обращаются к сущностям с помощью ключей и данных раздела.Мне было интересно, повлияла ли эта модель Entity-Message-Activity на какую-либо из них?

Или, если говорить более конкретно, если у меня есть операция в HBase, Cassandra, Riak и т. Д., Которая охватывает несколькосущности, нужно ли мне реализовывать Activity самостоятельно (как шаблон проектирования в приложении), или есть какая-то существующая структура?Или они делают что-то еще полностью, что делает этот вопрос спорным?

Спасибо!

1 Ответ

0 голосов
/ 24 сентября 2010

Я могу добавить свои 2 цента здесь просто с точки зрения Кассандры (я не использовал другие доступные движки NoSQL). Cassandra в первую очередь предназначена для быстрой чтения-записи. Twitter - отличный пример использования Cassandra (для этого проверьте клон Twitter Twissandra )

Предполагая, что я правильно понял ваш вопрос: да, вам придется выполнять упражнение самостоятельно. Чтобы понять моделирование Column / SuperColumnFamilies, я бы предложил прочитать эту замечательную статью WTF - это SuperColumn?

ура!

...