Home > Workload Solutions > Data Analytics > White Papers > Application Modernization for High-Volume Workloads with DataStax > Apache Cassandra architecture
DataStax Enterprise deployments rely on the node-based ring architecture of Apache Cassandra, which provides resilience, data integrity, and linear scalability.
In a typical Apache Cassandra deployment, each node consists of the Cassandra software running on a commodity physical server, such as a Dell EMC PowerEdge server with Intel Xeon processors. Apache Cassandra nodes can also run in virtual machines (VMs) or Docker containers based on Linux, either on premises or on cloud platforms. Each node runs the same Java-based Cassandra software and is configured through a single configuration file. Clusters can consist of any combination of on-premises physical servers or VMs and cloud resources.
Apache Cassandra clusters are organized into three logical categories:
Apache Cassandra organizes data using a ring topology. When data is written to a database, Apache Cassandra creates a token that determines in which nodes the data will reside. Apache Cassandra stores data redundantly across racks and data centers to ensure data availability if nodes become unavailable.
When a user or application queries an Apache Cassandra database through client software, the client connects to any node within the cluster. The node to which the client connects then becomes the coordinator node for that query. A coordinator node interacts with other nodes to collect query results, and then it returns the result to the client.