Pros and cons of various database engines

Hi All,

We are trying to decide on a database engine to use with our temporal deployment. From a temporal perspective what are the pros and cons using MySQL or Cassandra?

PS: This is not a SQL vs NoSQL question

The benefits of Cassandra over MySQL:

  • Replication is seamless. Configuring fully consistent MySQL replication is non trivial if even possible.
  • Ability to scale out by adding DB hosts. Currently, MySQL binding of Temporal doesn’t support sharding. Vitess support will be added in the future.
  • It is more production hardened as Uber has been using Cassandra in production for 4 years.

The benefits of MySQL over Cassandra:

  • Simpler operations.
  • More cloud hosted offerings
1 Like

Thanks for your inputs maxim

cassandra might not be a choice for me.
What are the top 5 issues mysql users of cadence/temporal face.

My use case will be long running workflows (years together), but not much activities, signals once in a while say 10 signals per workflow in a month kind. and may be say 100 to 200 queries on the workflow.

i might have say about 30000 to 50000 workflows in total (possibly for next few years)in total, and may be i shall be creating about 300 to 400 new workflows a day, the clearing /workflow completion/termination rate will be about 60% of creation rate.

There will be couple of short lived workflows , these would be less than 500 per day, these will be completed with in few mins to max an hour.

With such load requirements, you should be fine with a single MySQL instance.

I would recommend load test your scenario with let’s say 100k simultaneous workflows and the configured retention period to see how large the DB is going to grow.

thanks @maxim, i shall try that out

How did it turn out for you? Did it work out with MySQL , how large did the database get and how did it handle the load?

unfortunately i haven’t tried this yet. will keep posted.

FYI - Cassandra operations have gotten much simpler @madhu

Astra DB is the industry’s only autoscaling, serverless cloud service built on Apache Cassandra and eliminates the headaches of self-managed OSS Cassandra.

Also, K8ssandra.io is an open source project that makes self-managing Apache Cassandra on K8s, AKS, EKS, GKE quite approachable.