Thanks for a good summary. If you'd like an alternative take on these same ideas in a bit more systematic framework, consider read Objectivism by Leonard Piekoff.
I think a better way to put it is that all models are right given a situation / context / set of assumptions. It is important to understand the latter to apply the model.
I would highly recommend reading Chapter 3-5 (Epistemology) of Objectivism by Leonard Piekoff. It's a much more logical and easy to understand take on these same ideas.
>> These seem like questions without answers. Or, alternatively, the correct answer is whatever you decide it to be.
I beg to differ. The correct answer is whatever you decide it to be given the nature of reality. The whatever you decide it to be leads to subjectivism, which means you can do whatever you want. But clearly some activities are better for you as an individual compared to others.
eg. Working a job is better than robbing a bank. You know this intuitively based on years of internal reasoning, now think of why? Try to make that logic explicit.
>> Imagine a dog or dolphin or octopus asking this question. We'd think: "Why are you asking such questions? You're a dog/dolphin/octopus. You do dog/dolphin/octopus things. That's all you're supposed to do." Isn't it the same with humans? We do human things. Take care of ourselves and our loved ones. Help others who need help. Try to better ourselves.
We, as humans, are special in that we have a very high degree of choice compared to rest of animal kingdom. The most extreme form of it is that can choose to end our life (i.e. commit suicide), and no animal can do that.
So then, what are human things? Why is "taking care of ourselves and our loved ones, helping others in need, better ourselves" good choices?
I am not saying these are bad choices. They are very good indeed. Again, you know this intuitively based on years of internal reasoning, now think of why? Try to make that logic explicit.
There is a very simple framework to come to these conclusions. Unfortunately, a large population does not come to the same conclusions as you.
>eg. Working a job is better than robbing a bank. You know this intuitively based on years of internal reasoning, now think of why? Try to make that logic explicit.
It's better because robbing a bank means I have to expend more energy covering my tracks/on the run/etc. This strategy doesn't scale because if everyone is robbing banks then the incentive to collaborate on solving the world's problems is compromised. And if the world's problems aren't solved then everyone is worse off.
>The most extreme form of it is that can choose to end our life (i.e. commit suicide), and no animal can do that.
Some mammals, e.g. whales, beach themselves.
>So then, what are human things? Why is "taking care of ourselves and our loved ones, helping others in need, better ourselves" good choices?...Try to make that logic explicit.
Consider the counterfactual: What does a world where I don't take care of myself and my loved ones, trying to help others, etc, look like? Scale this behavior to the entire population. I don't think it requires a lot of imagination to imagine what an objectively worse world that would be.
But you're not scaling it to the entire population. You're just doing it yourself. I don't see why that step has to be a part of your logic.
Robbing a bank is bad because it hurts people. It's not a very sustainable way to make money, in that (if you want money to buy food, give to charity, buy a bike) you only have to get caught once and it'll be very bad. In contrast, you don't have that risk in a normal job.
It’s possible I never get caught and live like a king.
You have to scale it to the population because the thought experiment doesn’t apply to just one individual. Everyone has to answer the question “Why don’t I just rob a bank instead of getting a job?”
If you find this interesting, I would recommend checking out the book Objectivism by Leonard Piekoff. It takes a more systematic approach to come to similar conclusions.
Nooooooooooooooooooooo! Seriously, no! Use mongoDB, PostgreSQL, even flat files if you must, but HBase?
We used it in production about 3-4 years ago and it was a nightmare from both usage and especially maintenance point. Fortunately we had a flat-files based backup system so we were able to rescue data every! Single! Time! the damn thing crashed and took (part of) data with it.
Of course, this is anecdotal evidence, and things might have changed from then, but I wouldn't touch it. Life is too short.
EDIT: Also, I am curious how the results in the above link would compare to aphyr's if he performed the test on HBase?
I see where you are coming from. HBase was unstable 3-4 years ago, but after a great amount of dev effort and battle hardening from Cloudera, Salesforce, etc., it is very stable now. We have ~ 400 nodes running in production for a very critical use case and have seen 0 data loss edge cases in the last 2 years, along with some of our servers running > 6 months without any reboots.
We use is in a very real time use case with latency requirements of single digit milliseconds, and if you tweak it the right way, you can the required performance from it, along with easy horizontal scaling.
Also, I am curious too for aphyr to take on HBase, but I don't think the result would be different since running Jepsen is straightfoward and not much to a person's interpretation. The results and further experiments are what aphyr does nicely.
Thanks for the info on HBase stability. I probably won't use it again (once burnt...), but if they really managed to pull their act together - good for them!