Technical aspects
1. Data Structure
MongoDB uses document-based storage. Its data structure is similar to the BSON structure of JSON. Cassandra supports key-value storage, and each key-value stores a period of time, this time period actually plays a role in version control.
2. Index Structure
MongoDB indexes are almost the same as those of relational databases. The meaning and implementation of common indexes, joint indexes, and unique indexes can refer to the understanding of MySQL indexes. Because Cassandra stores the key-value structure, if you want to perform conditional search for the value, you must create a reverse index and recreate a value-key-value pair.
3. Deployment
MongoDB provides a high-availability deployment mode for Replica Sets. After RS nodes are configured, the entire cluster automatically selects the Primary machine for write operations and automatically copies data to other nodes. It also has a mechanism to automatically elect new hosts after a fault. Cassandra provides more flexible policies. It uses a mechanism that can perceive the network structure, it allows you to configure whether to back up data to other nodes in the local network or to a remote data center.
4. Third-party clients
This is another reason why boxedice chose MongoDB. MongoDB has a wide range of client support, and almost all popular languages have their operation clients. In addition, almost all these clients are officially developed and maintained by 10gen. Cassandra only has official Java and Python clients, and the rest are spontaneous third-party clients.