seancribbs

Joined 17 years ago

Karma
452
Submissions
33
Member since
Nov 1
[ my public key: https://keybase.io/seancribbs; my proof: https://keybase.io/seancribbs/sigs/4qwO3xT-deLEUa_QAhOKUI-EA2Fng6QcfcOhhHc-8zU ]
View on Hacker News

Recent submissions

Comment · 11 years ago
You mean AP, not CA.

CA doesn't exist.

Comment · 12 years ago
The Solr version in the Release Candidate is actually 4.7.0.
Comment · 12 years ago
mnesia is indeed a frequent choice by newbies for queryable storage in Erlang, but I've found few production systems use it for similar reasons to the ones you describe. Nowadays you're more likely to see external datastores (PostgreSQL, MySQL, etc) used except for transient/in-memory stuff which can be stuffed in ETS.
Comment · 12 years ago
#!/usr/bin/env escript

main(_) -> io:format("hello, world").

Comment · 13 years ago
Comment · 13 years ago
Since they're not likely to approve my comment on their blog, here's what I said:

"Way to misrepresent[1] vector clock usage in Riak! LWW deliberately ignores the vector clock. No one would use that in production without a strong assurance that they will never have concurrent writes. Also note that later in the post[2] Kyle shows how using them properly leads to zero data-loss.

[1] https://yourlogicalfallacyis.com/strawman [2] http://aphyr.com/posts/285-call-me-maybe-riak"

To add on,

> Cassandra addresses the problem that vector clocks were designed to solve by breaking up documents/objects/rows into units of data that can be updated and merged independently. This allows Cassandra to offer improved performance and simpler application design.

This is not solving the problem vector clocks solve, it is punting on the resolution issue. Perhaps LWW partial updates result in greater performance, but they only solve performance.

Listen to or watch http://thinkdistributed.io/blog/2012/08/28/causality.html

To be fair, both designs are valid choices, but jbellis should be honest about his tradeoffs and not simply cast aspersions on other valid designs because they aren't the one that C* chose.

Comment · 13 years ago
Comment · 13 years ago
This is true, but Riak CS has special configuration requirements for the backing Riak cluster that might make it not the best choice for combining with your typical Riak applications.
Comment · 14 years ago
That's still an oversimplification. POST only implies that the request is NOT idempotent, and that the request body is submitted to the origin server for "processing". Consider for example, resources that search for other resources via information in the request body and redirect to them. There's nothing wrong with this pattern, and in fact it works nicely for rapidly-changing server-side information since caching the result of a POST is not allowed.

The core problem in my mind, is not whether one should insert or update on PUT/POST, but whether one should even be considering HTTP-based APIs to be gateways to what amounts to a database. The domain concepts in the application might not map directly to a resource-centric design, and that's ok. When you focus on the resources, their behavior, and hypermedia, then you "get" REST. If your application isn't shaped like HTTP/REST, then maybe it shouldn't try to be.

Comment · 14 years ago
Go to http://basho.com/resources/downloads/, static links are available if you navigate down the tree to the individual files. e.g. http://s3.amazonaws.com/downloads.basho.com/riak/1.2/1.2.0/o...
Comment · 14 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton