Saturday, September 28, 2013
[coding] The Data Layer
Sink or Swim
After hearing about how hard it is to start a business, I have been looking for that thing that would make the business hard. I mean, dealing with people that can't work together was hard but I've basically solved that. I'm talking about the thing that could make the business fail. And I've found it: the data layer is going to cost money.
At first they wanted $5,000 a month, which wasn't going to happen mostly because for that price I could just implement my own crappy nosql service on top of mysql and I'd still be better off. Or I could use an Amazon service. I mean, whatever. After voicing my concerns to them, they dropped the price down to something I won't choke on. Given that they are willing to make changes to their software so that I can use it without creating a separate web service to handle the parts they didn't have...I think this is the best option. Unfortunately, this means we are still going to be burning a ton of cash every month.
All of this would actually still be fine, however they want me to sign a contract before they implement the changes I need, and I need those changes to finish the beta version, and I need the beta version to find out if even a single customer wants this software, and I need to know if anyone even wants this software before I commit thousands of dollars to a data layer contract.
So, maybe we'll have to change the "beta test" milestone to some kind of demo.
I still very much regret starting with an iOS version. We are fucked on iOS. What we should have done is create an android version. This android version would be special, because if it detects that it was not downloaded from some lame app store like google play, it would let people sign up for a subscription via the app. We could just hand out test devices to spas for a trial period and we wouldn't even need a website.
Perspective
A long time ago I posted this hilarious video making fun of fanboys. Fanboys come in all types...language fanboys, architecture fanboys, OS fanboys, game fanboys, etc. And as the video shows they make great punching bags.
However.
The video is a sort of relational database vs "nosql" database debate, but doesn't actually cover the reasons you would use one versus the other. Watching it again years later...both characters sound like idiots. When the relational database guy talks, he feeds us that line about "well we looked at all these databases and..." but that's just a line. It's a line just like saying "did it hurt when you fell from heaven?" except its something we say in meetings to cockblock the jackass who is looking to make us look bad by pointing out that we should have done more investigation. I actually have a lot of jackass-blocking lines, and I'd really like to work in a place where I don't have to use them.
So the relational guy never tells us why a relational database is really better for his use case. Relational databases are slower...sort of. Relational databases are slower when you are using them to store something that doesn't need to be relational. For example, if you stored all of your favorite HD movies in a shared mysql database, that would be much slower than a non-relational store. Databases really are the bottleneck in a large system, so we try to remove them from the picture as much as possible but there are use cases where you still need the locking and strong consistency of a database. So did the cow guy actually need a relational database? No one will ever know.
I think the same guy posted another video that was basically passive aggressively crying about being on some project where shitty programmers replaced a fast php website with a slow, poorly implemented ruby one. It sounded like a small company where the entry level programmers and the CTO would be in the same meeting. In their defense, php is ass-ugly.
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment