Poll: What databases does your company use?

54 points by smilliken ↗ HN
daniel_levine has submitted this poll twice before, and the results are always interesting:

http://news.ycombinator.com/item?id=2684620 http://news.ycombinator.com/item?id=1411937

Leave a comment for ones I forgot to mention and I'll add them.

83 comments

[ 3.8 ms ] story [ 108 ms ] thread
Amazon DynamoDB
Question, how do you run your dev environment? Are you running in on AWS too and have a separate DynamoDB setup?
My production and staging/test environments are on AWS and I do development on my local linux box. Since DynamoDB is a web service I can connect to my DynamoDB tables from anywhere. If you have questions or need help feel free to contact me directly (or post here) and I'll be happy to answer any questions you have.
Nice, I didn't realize that ability to connect from anywhere. Have you found DynamoDB to be expensive in practice? Of course the cost is mitigated by the admin they handle.
Cost has not been an issue for me. I've got 14 tables on DynamoDB - most at 5 read, 5 write, and one at 20 read, 10 write - and its been costing me around $50-$60 per month. IMHO cheaper than running a MySQL database and a slave instances.

It was great during development because I would create the tables in the morning, code all day and then delete the tables at the end of the day so I would only pay for 6-8 hours of provisioned throughput!

Good report, thanks! I'll keep that idea in mind to delete tables to save $$.
There are 2 options which I use(d) when developing/deploying DynamoDB: - Have a separate (sub)account for dev/test/... in which you create your tables. Since one of the latest changes to their policy you are now able to configure the lowest read/write capacity possible: 1/1 - Join everything under one account but prefix your tables with dev_, test_, prod_*

I prefer the former as it enables me to have the dev/test env as similar as possible to the prod environment: same naming, and both env's are separated, when one gets compromised at least the other one doesn't suffer. Security rules are also easier as you don't have to create per-table rules, when you want to lock out some team-members from production tables, but not dev/test tables.

Excel.

Someone save me.

Poor soul, even Access would be a step up for you.
Access.

Built a database to do basic inventory of instruments and calibrations.

Most companies usually use more than one.

At my current job we use PostgreSQL and MySQL in production, and H2 in development. At my previous job we used Sybase SQL Anywhere (horrible, wouldn't recommend it), Microsoft SQL server, MySQL, Amazon RDS and H2.

What databases do you use in RDS? RDS isn't a database, it's hosted MySQL, SQL Server, or Oracle.
Sorry, forgot to specify which one. It was MySQL if I remember correctly.
I don't have the best knowledge on DBs, but why would you use more than one of the same "tech"/paradigm? Why postgreSQL and MySQL? Don't they work similarly? Or is it because you use postgreSQL for the things it is better than MySQL, and vice-versa?
In my experience the database usually gets evaluated on a per-project basis. It's a good way to determine the strengths and weaknesses of each.

Currently we use PostgreSQL for all new projects, but we have a few legacy projects still using MySQL that we haven't bothered migrating.

Additionally, most developers find it a hassle if they have to configure a fullblown database just to do development on a given project. That's why we use H2 (in-memory database) for development.

(comment deleted)
Do backend-as-a-service databases count?
We use MySQL exclusively, unless a client forces us into MsSQL/IIS.

I am trying to convert us to PostgresQL over time, but I still have to get a good guide on how to use it.

We use PostgreSQL and Cassandra. We're also using MongoDB for an internal reporting application, but don't use it for our service offering.
VoltDB
Interesting! How is VoltDB working out for you?
We're just starting to get it going at my current company, so I can't really speak to its production qualities. The goal is for real-time statistics/analysis on call records: 100-2000 rec/sec, keeping a day to a week or two of records.

I've done tests previously, and can confirm that they aren't making the performance numbers up :). 3x $500 servers (~18 months ago: single quad-core Core2) were able to handle over 100K tx/sec with k=1 (2 copies of each record). It was pretty easy to get it up and running and the out-of-box performance required no tweaking on my part to achieve excellence (apart from making sure NTP was working well).

Wow. VoltDB is on my short list for technologies to evaluate for a transaction processor. I've been reading the documentation and trying to get a grip on the general implications of tying the fate of a company to a relatively unknown player in the DB field so your information is very valuable. Thank you very much.
Firebase is missing
This is just a bad joke.
>just

I happen to think it's a pretty good bad joke :)

Well of course you do. You are the one who is deliberately wasting other HNers time with it.
Weak argument. HN is to look at interesting links that "tickle the mind". My link does that. Being the second most upvoted comment in the thread proves that. I feel sorry it tickled yours the wrong way, benatkin.
"Being the second most upvoted comment in the thread proves that."

Similarly, Justin Bieber is actually one of the best artists of all time.

Justin Bieber is popular in pop music. Therefore it's reasonable to assume he's a good pop artist.

My comment is popular amongst other HN readers. Therefore it's reasonable to assume it's a good comment.

Embarcadero Interbase. Delphi Pascal. Low wages, few employees, lots of projects, no time to update massive codebases, so, yeah.
I'm presently prototyping RavenDB for a big development project at work. For what it's worth, I'm really impressed with it so far.
Another RavenDB user here. Overall pretty happy with it.
SQL Server. One day, we'll have a Metro SSMS.
Mine is a standard Enterprise environment with Oracle DB all around. I am surprised Sybase is not listed. We also use some DB2, but 90% of it is Oracle DB.
No one's using MariaDB? Or is it considered to be MySQL?
I consider it to be MySQL for purposes of a poll like this. If it was "which MySQL variant to do you use?" I'd expect to see MariaDB, Percona XtraDB, etc.
ZODB
memcached is a database now? IMHO Redis barely registers as a database; it's more of a shared heap that supports snapshotting.

At Instagram we use PostgreSQL, Redis, and Cassandra.

It's a place where data is stored. Wikipedia says "A database is a structured collection of data." I think redis qualifies given that description, but I agree it's different enough to raise eyebrows if someone referred to it as their "database".
By that definition data containers (dictionaries, lists, etc) built into popular languages or standard libraries are databases.
I think the best defining difference is persistence, which means memcache isn't a database but Redis is.
Agreed. Regardless of the technical definition of "database," I think the word implies durability in some sense.
IMHO Redis barely registers as a database; it's more of a shared heap that supports snapshotting.

What about Berkeley DB? That has a similar range of functionality yet is cited as 'the most widely used database toolkit.'