Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve when to use CockroachDB copy #824

Closed
dianasaur323 opened this issue Nov 3, 2016 · 3 comments
Closed

Improve when to use CockroachDB copy #824

dianasaur323 opened this issue Nov 3, 2016 · 3 comments
Assignees

Comments

@dianasaur323
Copy link
Contributor

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

@dianasaur323 dianasaur323 self-assigned this Nov 3, 2016
@jseldess
Copy link
Contributor

@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:

  • Horizontal scalability
  • Business continuity (survivability)
  • High levels of consistency
  • Support for distributed ACID transactions

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
Copy link
Contributor Author

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:

  • Mission Critical OLTP
  • Cloud-native infrastructure initiatives focused on reducing operational overhead
  • [I'm thinking distributed back-end services, but need to run this by Spencer. Still brainstorming a third use case]

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
Copy link
Contributor Author

@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:

  • Distributed or replicated OLTP
  • Multi-datacenter deployments
  • Cloud-native infrastructure initiatives

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants