I was listening to a conversation recently and heard an experienced engineer express an interesting point of view on joins and key-value databases. I don’t entirely agree with it. Here’s why.
First, the opinion. If I may paraphrase, the discussion was something like this:
I’m simplifying, because the speaker actually suggested that MySQL makes a really good database for primary-key lookups as well.
The place I would differ slightly is on the last bullet point.
Have you heard of sharding a database? Of course you have. Do you know where the term comes from? Someone asked me this at a cocktail party recently. I gave it my best shot.
“The earliest I remember was Google engineers using it to describe the architecture of some things,” I said. “That would have been about 2006.”
“Nope. Much earlier than that,” said my new friend.
I pondered. “Well, I guess there was the famous LiveJournal architecture article about MySQL. That was, I dunno, 2003?”
The person then told me the following history. I can neither confirm nor deny it; what do you know about it?
I’ve used Vim for as long as I can remember, but when I started to work with Go at VividCortex, for some reason I started to use Sublime Text instead. It does make a very nice GUI-based editor, but I never felt that it was as powerful as Vim.
Ever notice how the Vim logo looks a little like Superman’s logo? No? Squint a little harder, then.
Time-series databases are of particular interest to me these days. Not only is VividCortex working with large-scale time-series data, but it’s a growing trend in the technology world in general. What’s perhaps most surprising is the dearth of native time-series databases, either commercial or opensource.
The data we gather is increasingly timestamped and dealt with in time-series ways. For the last 10 years, I’ve worked with “roll-up” or “summary” tables almost constantly. I built, and saw others build, the same types of solutions over and over. For example, I probably consulted with over a dozen companies who do search-engine marketing and advertising. Cost tables are a given, and there’s usually cost-per-ad-per-day and half a dozen other summary tables. In my case I saw these things in the MySQL context, but you can pick your technology and someone’s trying to do time-series tasks on top of it.
I consider myself a very slow adopter with regard to tablets. I’m too picky. I think the iPad is inconveniently large, and there are a lot of devices that have the same screen size, which eliminated many of the popular ones from my consideration. Many of the devices out there are 7-inch screens, and that’s too small. A while ago I tried using a 7-inch device but after a while I stopped using it. Now I’ve found a tablet I really like.
Sometimes people’s perspective can be so interesting. I mean this with absolutely no irony. Josh Berkus wrote recently in a post about upcoming JSON improvements in PostgreSQL 9.4:
MySQL largely rose on the success of PHP, and it fell as PHP became marginalized.
This is an aside in the blog post, off-topic. But it’s interesting to discuss because it reveals the completely different things people see when they look at something. It’s like the proverbial story about the blind men describing an elephant. We have such a variety of perceptions.
This post, by the way, is not yet another flame war about MySQL versus PostgreSQL. To the contrary, it is very important for MySQL users and community members to understand that there are other communities who do not share the same assumptions, values, and beliefs at all. In my experience, many arguments about things like MySQL versus PostgreSQL result from people (or groups of people) holding such differences but being unaware of them, and therefore misinterpreting words and actions from a group who doesn’t share the same worldview, believing them to be dishonest, irrational, or hostile.
In the last few years of my career, I’ve increasingly been involved in meeting people. This often involves requests or offers for recommendations, introductions, and so forth.
I’ve learned to be very careful about making or accepting such offers or requests, and I’d like to share my current thoughts about that with you, because a lot of trouble can come of a seemingly innocent request or offer.
“Martha, that’s so great that you are starting a business in the diabetes care industry! You should really meet my friend Jack. He could be extremely helpful to you, and I am sure he would appreciate knowing about your startup.”
Does that sound so dangerous? Believe me, it is. A lot is on the line for you, Martha, and Jack. Consider:
I’ve been a happy CrossFiter for a few years now. I met my co-founder and many friends in CrossFit Charlottesville, completely changed my level of fitness and many key indicators of health such as my hemoglobin A1C and vitamin D levels, am stronger than I’ve ever been, feel great, and now my wife does CrossFit too. It’s fantastic. It’s community, fun, health, fitness. It’s the antidote to the boring gyms I forced myself to go to for years and hated every minute.
But there is a fringe element in CrossFit, which unfortunately looks mainstream to some who don’t really have enough context to judge. From the outside, CrossFit can look almost cult-like. It’s easy to get an impression of people doing dangerous things with little caution or training. To hear people talk about it, everyone in CrossFit works out insanely until they vomit, pushing themselves until their muscles break down and vital organs go into failure modes.
Do you know how to tune a guitar? I mean, do you really know how to tune a guitar?
I’ve met very few people who do. Most people pick some notes, crank the tuners, play some chords, and endlessly fidget back and forth until they either get something that doesn’t sound awful to their ears, or they give up. I can’t recall ever seeing a professional musician look like a tuning pro on stage, either. This really ought to be embarrassing to someone who makes music for a career.
There’s a secret to tuning an instrument. Very few people seem to know it. It’s surprisingly simple, it isn’t at all what you might expect, and it makes it easy and quick to tune an instrument accurately without guesswork. However, even though it’s simple and logical, it is difficult and subtle at first, and requires training your ear. This is a neurological, physical, and mental process that takes some time and practice. It does not require “perfect pitch,” however.
In this blog post I’ll explain how it works. There’s a surprising amount of depth to it, which appeals to the nerd in me. If you’re looking for “the short version,” you won’t find it here, because I find the math, physics, and theory of tuning to be fascinating, and I want to share that and not just the quick how-to.
I’ve used active noise-cancelling headphones for over ten years now, and have owned several pairs of Bose, one of Sony, and most recently a pair of Sennheiser headphones.
The Sennheisers are my favorites. I thought I’d write down why I’ve gone through so many sets of cans and what I like and dislike about them.