7 ms·
DBs are generally a hugely crucial part of your infrastructure, and it makes sense to be conservative with them. Part of that conservatism is a heavy bias towar
by necubi 13y ago
DBs are generally a hugely crucial part of your infrastructure, and it makes sense to be conservative with them. Part of that conservatism is a heavy bias toward open source. Especially given a heavily idiosyncratic database like datomic, with large switching costs to anything else, relying on a proprietary product that could disappear at any time is a huge risk factor for your business.
This is why the business model of nearly every NoSQL business is to provide commercial support for their open source DB. Examples include Basho (Riak), Datastax (Cassandra), 10gen (MongoDB), RethinkDB, VoltDB and Couchbase. There are a few exceptions (mostly in the very large data space), but the general rule is: if you're promoting a new database, make it open source and sell services/enhancements around it.
- calibraxis 13y agoIn my experience, corporations and most programmers love closed-source software and services. Like Amazon AWS (and everything in it like S3, DynamoDB, etc), GitHub, MacOS X, whatever. But if it's free, they'll certainly freeload on that too. There are advantages to the opensource strategy, but there's tradeoffs. Programming languages are different; Clojure likely wouldn't have succeeded were it closed-source. (BTW, Basho and Datastax seem to have "enterprise" products. Are these closed-source or contain hidden closed-services? And we should keep in mind that DBs like Riak and Hadoop are clones of closed-source DBs. Basho employees even mention that the authors of the Dynamo paper were probably nearly fired for releasing it.)
- necubi 13y agoDatabases tend to fall closer to the programming language side of the spectrum, in my experience. If Github shut down, it would be a hassle but not a fatal one. Same goes for most of AWS (DynamoDB and S3 have compatible open-source alternatives if need be). But if your esoteric programming language or DB (I place datomic in that category because it's very different than anything else out there) becomes unavailable or the price is raised too high you have no choice but to fundamentally rewrite your software. That could be the end of your business. This is absolutely not to say they should open source it--that's entirely their decision. This is just to explain why many (myself included) feel uncomfortable relying on closed source DBs.
- calibraxis 13y agoYes, that's a deep conflict in the tech world, even beyond this topic. For example, does a manager select PHP because PHP programmers are commodities? Some managers tell me that's how they select technologies: how commoditized its labor supply is. (They consciously accept the price of technological conservatism, to avoid real risks.) I personally think it's important to weigh the various risks. Keeping in mind there are "opportunity costs". So for example, if I were to choose something like Datomic, it's almost certainly because I predict much greater productivity than alternatives. There are risks to giving that up, which I must consider. And there are ways to mitigate some risk. Like simply asking what happens if they go out of business. Much like investigating potential failure modes.
- SatvikBeri 13y agoI think it has a lot to do with whether you're primarily aiming for new functionality or for reliability. Clojure, GitHub, AWS, etc. are primarily used because of their extra functionality, and downtime/failure is often inconvenient but not disastrous. Compare this to a database-reliability is tantamount. If there's a weird bug you need to ensure you have amazing support, you have access to dig into the internals and solve the problem yourself, or both. Datomic comes across as prioritizing functionality over support, e.g. they're closed Source and don't (yet?) have the reputation for Enterprise class support businesses usually look for with closed source DBs. That doesn't mean they'll fail, but I'm curious to see who Datomic's customers will be.