cockroachdb / docs

CockroachDB user documentation
https://cockroachlabs.com/docs
Creative Commons Attribution 4.0 International
187 stars 453 forks source link

Improve when to use CockroachDB copy #824

Closed dianasaur323 closed 7 years ago

dianasaur323 commented 7 years ago

As a first step in making it more clear what use cases are a good fit for CockroachDB, brainstorm ways to message when to use CockroachDB and when not to use CockroachDB

@jseldess

jseldess commented 7 years ago

@dianasaur323, do you have any thoughts on this now that you've been thinking through use cases a while, etc.? Here are the relevant FAQs:

When is CockroachDB a good choice?

CockroachDB is especially well suited for applications that require:

When is CockroachDB not a good choice?

CockroachDB is not a good choice when very low latency reads and writes are critical; use an in-memory database instead.

Also, CockroachDB is not yet suitable for:

dianasaur323 commented 7 years ago

I think we should probably reword "when is CockroachDB a good choice" to match our current sales pitch. Maybe something like:

CockroachDB is well suited for applications that require horizontal scalability or high availability. It is built to automatically rebalance, replicate, and fail over with minimal configuration and operational overhead. Specific use cases include:

When is CockroachDB not a good choice section looks pretty good. Should we add in a snippet that talks about how we take a latency hit to enforce strong consistency?

For CockroachDB is not yet suitable - let's say complex SQL joins, and heavy analytics / OLAP. It seems like some people may have figured out a workaround for JSON/Protobuf data, so I think we may not need to call it out. Instead, we came up with the term of unstructured, high-ingest workloads.

dianasaur323 commented 7 years ago

@jseldess Thanks for re-surfacing this. Our messaging has indeed changed.

When is CockroachDB a good choice:

CockroachDB is well suited for applications that require reliable, available, and correct data regardless of scale. It is built to automatically rebalance, replicate, and fail over with minimal configuration and operational overhead. Specific use cases include:

The rest of my comments still stand for when CockroachDB is not a good choice.