1) CQRS is an architectural pattern that separates read and write operations into different models. This allows for optimized read and write models and behaviors.
2) The basic CQRS architecture involves separating the read and write concerns into different layers - a thin read layer for optimized querying and presentation, a domain model for business logic and validation, and command handlers that process commands to enact changes.
3) CQRS does not require eventual consistency - the read and write models can be kept perfectly consistent through mechanisms like event sourcing that propagate write events to the read models.