CQRS и первичный ключ: guid или нет?

Для моего проекта, который является потенциально большим веб-сайтом, я решил отделить командный интерфейс от интерфейса запроса. В результате отправка команд является односторонней операцией, которая не возвращает результата. Это означает, что клиент должен предоставить ключ, например:

service.SubmitCommand(new AddUserCommand() { UserId = key, ... });

Очевидно, что я не могу использовать int в качестве первичного ключа, поэтому Guid - это логичный выбор, за исключением того, что я везде читал о влиянии на производительность, которое он оказывает, что меня пугает :)

Но потом я также читал о COMB Guids, и о том, как они обеспечивают преимущества Guid, сохраняя при этом хорошую производительность. Я также нашел здесь реализацию: Последовательный GUID в Linq-to-Sql? .

Итак, прежде чем я приму это важное решение: есть ли у кого-нибудь опыт в этом вопросе, совет?

Спасибо lot!

Lud

11
задан Community 23 May 2017 в 11:52
поделиться