Poll: What database does your company/you use?
Please upvote this if you would like to see more people take the poll.
This has been asked on occasion in the past but like all things, database preference/technology changes quickly. Let's see what people are using today.
If you think I've left out an important one, leave a comment and I will try and edit the post.
100 comments
[ 3.7 ms ] story [ 169 ms ] threadIn CAP theorem they are CP.
Currently evaluating ElasticSearch and it looks really promising also. We may move over to it as it seems to have a bit more momentum and better support for cloud/scaling.
But at home and for personal projects i use postgresql + it's advanced features. So voted for both.
A bit of a lengthy read, but worth it.
If you are going to have column stores, you should have InfiniDB.
And if you are going to have SQLite, you should also list MS SQL Server Compact. MS Access is also a viable option, also DBase and Filemaker.
Clustrix and NuoDB should also be in the list if you are listing NewSQL systems like VoltDB.
I am sure there are others :S as a DBA would be interested what businesses or systems only back onto column stores without a traditional RDBMS or a modern NoACID system.
Ideally when you hadn't voted, the ordering would be random.
The options towards the bottom of the list may not get as much attention and votes even if they are used by people.
If it were alphabetical, people might hunt and peck for the one they use most, e.g. PostgreSQL, they might then see things around there (memcached) but fail to scroll back up and vote for Custom too.
Random deals with it well enough without even knowing the poll content or number of options.
There's no good reason to start a project with other databases. If you're worried about the scalability of something like MySQL when you haven't even got your first 1000 users, your priorities are messed up. Finish your product and get your users first. And I hope to god if you DO get your users and I ever have to maintain it, it's not running on some bullshit like Tokyo.
This tends to be true of all things.
You would never start a journey with cloudy destination and of a million miles by asking for a moon rover as your vehicle. As your journey develops you would start looking at other options or options for certain segments. Apps follow similar patterns.
I wouldn't build my MVP on obscure technologies just because they're hip or promise something useful when you have 1M users...
I'd take one person that really groks devops and database internals well enough to make informed choices over a million one-size-fits-all SQL/Mongo+MVC devs. Any day of the week.
Why? Wouldn't it make more sense for startups to color within the lines, in terms of getting features to market faster?
I'd take one person that really groks devops and database internals well enough to make informed choices
Funded or not, a startup has the responsibility to turn every dollar into a feature that creates revenue, not architecture.
I strongly disagree with the notion that any practicing or aspiring creator should refuse to learn about and consider the full range of tools at their disposal, simply because there's a popular default choice.
Specialized tools provide a form of leverage to those who understand and employ them wisely. Every problem I have ever come across that is sufficiently difficult and interesting to warrant forming a startup requires deeper insight on a technical level than "just ignore everything else and use X".
Can you imagine if the founders of Google took this kind of advice?
As a couple of examples, Google started on clusters of relatively commodity hardware. For years, AdWords ran on MySQL. Google's advantage wasn't in the innovative architecture, but rather, in the PageRank logic, which led to leadership in other areas. The architecture supports the innovation, which is the competitive advantage; the architecture isn't the competitive advantage.
Three reasons: 1) your data is probably relational, even if you think it's not, 2) if you have non-relational records, Postgres has JSON and hash storage types that perform better than most NoSQL databases, and 3) The architecture, standards compliance, and sheer capabilities of Postgres are all best in class. Seriously, if you want to read some good C, peruse the PostgreSQL source. Go Bears.
Unless you're trying to do some analytics (in which case, find a column store), or want to use it and forget it (Amazon's database services; and RDS is Postgres), Postgres is the way to go.
[1]: https://aws.amazon.com/rds/postgresql/
https://mariadb.com/kb/en/distributions-which-include-mariad...
If you thought you were using MySQL, check your package repository!