I’m not able to make the differentiation as to how it encourages CRUD-like systems. I personally don’t end up with CRUD-like systems just by explicitly avoiding CRUD semantics for messaging and avoiding entity-centricity.
Regarding querying, my understanding is that it’s based on projections. And it’s my understanding that projections are written. It’s also my understanding that those writes are quorum writes, and so the use of this mechanism requires some concern and planning as it has a noticeable impact on performance. Thus, the apparently common practice of keeping projections like byType, etc turned off.
We run with only the category projections due to this. Ultimately, it’s left us with the perception that projections and querying via projections is something to be cautious about, and the issues are known only once non-trivial grasp of the internal workings of EventStore are known.