Hacker News new | past | comments | ask | show | jobs | submit login
CockroachDB Interactive, D3-Powered Simulations (cockroachlabs.com)
133 points by loiselleatwork on Feb 22, 2018 | hide | past | favorite | 25 comments



CockroachDB fares well on the distributed side of the spectrum, and thus shows all the best properties of this kind of systems: replication, resiliency, horizontal scalability, modern ops experience.

This is no small feat, and - personally - I am sold on it. Yet, looking at its benchmarks (pre 2.0), and knowing how carelessly some enterprise software is written, how would I convince a pointy haired boss to leave the practically monolithic mega-pumped Oracle RAC server he is accustomed to, and go down the distributed route?


You've to appeal to their spreadsheets. Generally, lower costs.

If Oracle is well-established, it's going to be tough. It isn't just the cost of Oracle and doing business with them, it's the cost of all the work associated with making the transition. Code-rewrites, retraining ops, and so on.

If there's an opportunity for a greenfield, small project that would benefit from having a distributed backend then try that. Be prepared to show that it's not just low-cost, but it is easier to implement.


This is a fairly good point. Personally, I believe this also opens a debate about open source software VS proprietary software. Customers of proprietary software companies usually have minimal influence on the priorities and timelines of where/when the product is going. Not to mention the opacity which makes it unable to modify the code or debug it effectively. Most of the time when an issue occurs, you are faced with unclear error codes/messages/documents. If there is no existing workaround or patch, you have to wait until your issue climbs up to the top of the vendor's priority list. Whereas in the open source community, many eyes are examing the source code and many hands (including yourself) are ready to jump in all the time, making it more possible that more bugs are exposed and quicker to get a fix or workaround.

If you are open to trying other options, TiDB (https://github.com/pingcap/tidb) is also a good choice. A use case is just published on Datanami today: https://www.datanami.com/2018/02/22/hybrid-database-capturin...


First things first, you'll want a DB that doesn't have cockroach in the name.

I'm only slightly kidding.


When picking clever pun names, it's important to choose words that executives won't feel silly saying.

Spencer Kimball, CEO of Cockroach Labs, created the GIMP in college.


Years ago I worked on a project where a lot of the code was done in Tcl (pronounced "tickle"). Management would not say "tickle", instead they insisted on saying T-C-L. Tcl is a pretty neat language, and while I was on the project, I couldn't help but wonder how much it's name had held it back.


I call it 'T-C-L' despite being a programmer, because calling it 'tickle' just sounds stupid to me. 'Sequel' for 'SQL' similarly sounds weird so I just say 'S-Q-L'.

Maybe that's just me.


"Kubernetes" can also be considered silly. The industry as a whole tends to not be good at naming.


Have you ever been in a place where you turn on the light in the kitchen at night and what you see is a zillion cockroaches all over the place, on the floor, the walls, cupboards, everywhere, starting all at once to run and seek a dark place to hide in the moment you hit the light switch? Well I have. Looking at that is like looking at "replication" and "resiliency" in liquid state.


Call it CRDB then, which is also used in dev discussions. Perhaps they should officially rebrand it to that.


We currently host our "monolithic" MySQL database on a fairly large VPS on Linode. At least on Linode, to increase storage space you need to double the capacity of the server, thus doubling the cost for each scale up. The idea of simple scaling horizontally is one I've dreamt of for a long time. However it just seems that the problem is not the monolithicness, it's the cost of storage. If we were to use CockroachDB with redundancy the cost would be equivalent to just using Amazon Aurora, which is fully managed!

That being said I'm very excited about CockroachDB. Cassandra did not live up to the hype for me because of the complexity and now that DataStax has split up with Apache in a weird way, it feels like a less appealing option.


Would be great to have cloud VPS without RAID for exactly those cases where redundancy is handled a level above. Could probably be offered much cheaper than current VPS.


> Cassandra did not live up to the hype for me because of the complexity

Which complexity are you referring to, specifically where CRDB has a better approach?

Interested as we are evaluating both.


CRDB and Cassandra are to totally different databases.

CockroachDB is full SQL ACID database. With transactions, consistent indexes, joins. It's also strongly consistent overall.

Cassandra is really just a key-value store, with a hierarchy of sorting keys as part of the key, so that you can do range scans with good performance (and various access patterns). Indexes are asynchronously updated (as far as I know). No transactions nor joins. Its consistency is varying (configurable).


Turns out for Cassandra to work properly you need double the storage space that you max want available, otherwise it can't vacuum properly. So if you want to be able to store 1 TB, you need 2 TB, and if you go over 1 TB, it's not guaranteed to be able to vacuum at all.

Also, Apache Cassandra and DataStax Cassandra did a hard split recently, so the docs are no longer in sync, making it a lot harder to search for stuff if you're using Apache Cassandra.

Also, patch versions of Cassandra are not guaranteed to be binary compatible (sstables), [so upgrading from 3.0.5 to 3.0.9](https://gist.github.com/shyamsalimkumar/49a61e5bc6f403d20c55...)? Expect a long migration.


Is CockroachDB ready for production? If so what's the largest known production deployment?


It's been production ready for a year, although v2 will add some nice functionality like JSON.

You can check their customers page: https://www.cockroachlabs.com/customers/


Nice, thank you.


I never understand what goes through some people's head when they name things............


This comes up every single time they are mentioned. Fighting an up hill battle, but they're committed sticking with the poor choice of name. Also always someone who wants to explain why it's called that like it's not obvious. Doesn't make it a good name for a product you're trying to sell people.


Presumably the idea that when a nuclear war happens, only CockroachDB will withstand the failure cases involved.


What kind of consistency guarantees can this database provide? Does it support some type of lock so it can be used to give real-time account balances and prevent overdrawing an account?



i am thinking about using cockroachdb to power something like LDAP.

but the CIO said no because it has "cockroach" in the name and no one would sign off.

should i just do it anyway?


You may want to tell your CIO to check out BikeshedDB [0], which is built exactly for this use case.

[0] https://github.com/tschottdorf/bikesheddb




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: