Live data from Hacker News

CockroachDB beta-20161013

jepsen.io

181–190 of 213 posts

Re: CockroachDB beta-20161013

#181
post #155

Earlier quoted context omitted.

"We settled on postgresql, because, despite going into toast tables and having to implement sharding on top" This is a common mistake. The choice doesn't actually guarantee consistency at all. PostgreSQL only guarantees consistency as long as you don't try to communicate with it over a network, which you obviously do if you have shards. To address this problem we have things like 2pc, but they aren't very useful for…

The networking isn't a problem if you only acknowledge a write when the underlying database says so. You could have a write succeed before you crash. But you won't lose an acknowledged write.

No, but when your requirement is to "never loose a write regardless of which server fails" you have to make sure the mutation was acknowledged by more than one server.

So the least you have to do is to wait for a second server to confirm the write. But now what do you do when the network link between the two servers goes down in-between a write? The write might have already been applied on the first server or it might not have. The same goes for the second server. But you can't be sure either way.

For our thought experiment, let's assume that while the servers can't talk to each other anymore, some clients can still talk to each of the servers.

At this point, you either have to give up availability (i.e. don't accept any further writes until the fault is resolved) or consistency (i.e. potentially return unacknowledged/stale data from one of the nodes until the fault is resolved).

While returning unacknowledged/stale data is acceptable for some usecases, it does break ACID semantics. You can't get both ACID and "always-on" availability with a simple replication scheme like this.

If you want linearizability and HA, you need at least three servers and a more complex, quorum-based scheme. However, Postgres doesn't support that (AFAIK) - you have to use something like Zookeeper or CockroachDB. I think this is what zzzcpan meant.

(I realize that you only spoke about never loosing a write and didn't say anything about updates/queries. If you don't care about ACID, postgres with synchronous replication is a good highly available solution)

Re: CockroachDB beta-20161013

#182

Earlier quoted context omitted.

Ah yes, let's not forget the solid branding behind some of Adobe's work: https://pig.apache.org/ https://hive.apache.org/ (Look at the anguish in this creature's face) http://hadoop.apache.org/

s/Adobe/Apache ?

Too late to edit :/

Re: CockroachDB beta-20161013

#183

Could the name actually slow the project's momentum? I only recently read some cool things about CDB and wondered if I could have been subconsciously skipping articles about it for deep seeded reasons like http://bbc.com/future/story/20140918-the-reality-about-roach... Of course anything good may eventually rise to success on its merits, but in case I'm not the only one with a subconscious aversion maybe the info bel…

It might be intentional as reverse psychology. They don't want employees or users who wouldn't use a project because it's named after an unpopular insect. Those users/employees could be fickle, unreasonable and low quality at other aspects of business/development and be a net loss for the company/project in the long term.

That is a terrible way to run a business.

Re: CockroachDB beta-20161013

#184

Could the name actually slow the project's momentum? I only recently read some cool things about CDB and wondered if I could have been subconsciously skipping articles about it for deep seeded reasons like http://bbc.com/future/story/20140918-the-reality-about-roach... Of course anything good may eventually rise to success on its merits, but in case I'm not the only one with a subconscious aversion maybe the info bel…

I submit "Bunker" as a more approachable name. Not only does it have the connotation of "survives nuclear bombardment", but also suggests "keep your stuff safe here" and "something you could entrust with your life".

Already taken: https://bunkerdb.com/

Re: CockroachDB beta-20161013

#185

Earlier quoted context omitted.

Horizontal scaleability might be one.

But why scale something when you can just run one postgres instance and provide 10000x the performance?

Scale != performance, in the narrow aspect that you seem to be considering.

Lots of data, parallel queries, high-availability, replication, multi-master, etc are all instances that require true distributed scalability.

Re: CockroachDB beta-20161013

#186
post #63

Earlier quoted context omitted.

If your dataset fits comfortably on one postgres instance, and will continue to do so for your current architectural planning time horizon, then you have little need to use CockroachDB / Spanner. These databases are designed for use-cases which require the consistency of a relational database, but cannot fit on a single instance.

Right now not really. Cockroach perf don't allow you do have a big dataset given the performances.

You are misunderstanding this article. This is not a benchmark, this is a test of how correct the database is with distributed transactions and data in the worst conditions possible. These are not real-world performance numbers in any sense.

Re: CockroachDB beta-20161013

#188
post #123

I wish everyone would stop bikeshedding the damn name. From my perspective I'm glad something that's trying to do this is coming into existence. a couple years ago I was given the arduous task of ensuring that we never lost data. One of the requirements was that: At any time, any server can (and will) fail.. if you acknowledge that you have data then you MUST never lose it. You cannot imagine how many database soluti…

It would be bikeshedding if we were all, for no good reason and without prompting, suggesting names that we preferred, with no consensus emerging.

Instead what I see in this thread is a clear consensus that the current name is atrocious, even to the point of being detrimental to the long-term success of the project, and should therefore be changed.

Personally, I refuse to use or recommend this product as long as its current name remains. And to those who think I'm being petty, 1) I can afford to be petty given how many database options (NoSQL or otherwise) are out there, and 2) market forces should punish products with names like this, or else we'll eventually find ourselves debating the merits of HerpesDB vs. ManureDB.

Re: CockroachDB beta-20161013

#189

So I assume this means cockroachDB currently (probably) meets its promised consistency levels. How does it compare to the usual default settings of PostgreSQL for example? - I think you get SERIALIZABLE, so the behaviour should be very reasonable. I understand the txn/s numbers are in a pathological scenario, but will these transactions block the whole db from moving faster or have unrelated transactions still normal…

> How does it compare to the usual default settings of PostgreSQL for example? - I think you get SERIALIZABLE, so the behaviour should be very reasonable.

Not clear if you're referring to PostgreSQL or CockroachDB, but for the record, the PostgreSQL default transaction isolation level is READ COMMITTED, not SERIALIZABLE.

https://www.postgresql.org/docs/current/static/sql-set-trans...

Re: CockroachDB beta-20161013

#190

Could the name actually slow the project's momentum? I only recently read some cool things about CDB and wondered if I could have been subconsciously skipping articles about it for deep seeded reasons like http://bbc.com/future/story/20140918-the-reality-about-roach... Of course anything good may eventually rise to success on its merits, but in case I'm not the only one with a subconscious aversion maybe the info bel…

Absolutely the name is holding them back. In my case it prevents me from championing the product within my company. Going to the executives and saying "we're going to put our most precious data into Cockroach" simply won't fly. Any discussion of features will be for naught; I know the CEO will make a "no" decision as soon as he hears the name. To any Cockroach Labs folks who might read this: please give me (and all o…

Why at your company are people who would evaluate a database by its name rather than its technical merits the ones who decide what database gets used?
Post reply on HN