top | item 2684620

Poll: What database does your company use?

697 points| daniel_levine | 14 years ago | reply

Upvote please if you think it's an interesting question so that more people will respond

Last year I asked this question (http://news.ycombinator.com/item?id=1411937) and I think it was useful to a bunch of people. Figured it's worth asking again and the diffs will be interesting.

355 comments

order
[+] thechangelog|14 years ago|reply
SQLite all over the place – it's great having a super portable DB format for quick little hits.

There's nothing quite like sending a DB as an email attachment.

[+] SwellJoe|14 years ago|reply
SQLite is so pervasive that I'm pretty sure everyone uses it at some point. It's in client applications, it's used by yum (the package manager found on CentOS/RHEL/Scientific Linux systems), it's part of many web applications, it's part of many spam filtering systems, it's part of Android (maybe iOS, too?), it's basically impossible to avoid it if you're a nerd.

Also, it's awesome.

[+] gord|14 years ago|reply
For me JSON has replaced SQLLite, with a large reduction in code and complexity. [ Admittedly I've written my own routines to access it more simply/directly on iOS ]
[+] michaelschade|14 years ago|reply
Love SQLite when doing some Django development. Great to easily scrap the database with a quick `rm` and repopulate with good data.
[+] farktronix|14 years ago|reply
Agreed. SQLite also has a great copyright notice in its headers:

  ** The author disclaims copyright to this source code.  In place of
  ** a legal notice, here is a blessing:
  **
  **    May you do good and not evil.
  **    May you find forgiveness for yourself and forgive others.
  **    May you share freely, never taking more than you give.
(http://www.sqlite.org/src/artifact?name=a8571665d43ff18f89a4...)
[+] dorkitude|14 years ago|reply
It's also worth noting that SQLite is, for the time being, the underlying store for Membase
[+] lukencode|14 years ago|reply
In the microsoft world SQL CE 4 is pretty nice for doing the same sort of thing.
[+] sharjeel|14 years ago|reply
In some scenarios I prefer Microsoft Excel over SQLite. Yes, Excel can be used as a database as well!
[+] chrisjsmith|14 years ago|reply
Also damn useful when plugged into NHibernate for bringing up test cases using in memory databases for performance.
[+] rosser|14 years ago|reply
I'd vote for PostgreSQL multiple times if I could. I'm a consultant DBA (-ish; I do other stuff as well, but that's what puts most of the food on my table), and have multiple clients using pg.
[+] lawnchair_larry|14 years ago|reply
Why do you use pgsql over mysql?

I've used mysql a lot, and pgsql a little. I can't tell the difference, other than pgsql being slower and having less support. Some people swear by it, so I'm curious what I am missing.

[+] espeed|14 years ago|reply
You should add the Neo4j (http://neo4j.org/) graph database to the list.

Graphs are a much more modern and elegant way of storing relational data. I've used Postgres for over 10 years, but it's not a graph database. With graph databases you don't have to mess with tables or joins -- everything is implicitly joined.

And Neo4j is ridiculously sweet -- store 32 billion nodes (http://blog.neo4j.org/2011/03/neo4j-13-abisko-lampa-m04-size...) with 2 million traversals per second (http://www.infoq.com/news/2010/02/neo4j-10), and you can use Gremlin with it (the graph traversal language), which let's you calculate PageRank in 2 lines.

Neo4j is open source, and the Community Edition is now free (https://github.com/neo4j/community).

I recommend pairing it with the TinkerPop stack (http://www.tinkerpop.com/).

[+] msluyter|14 years ago|reply
I'm surprised to see that Oracle even has as many mentions as it does, given how rarely you read about it here on HN. We're locked into it at my workplace, and every time I'm reminded of this PG quote I cringe a little:

"The more of an IT flavor the job descriptions had, the less dangerous was the company. The safest kind were the ones that wanted Oracle experience. You never had to worry about those."

[+] jamwt|14 years ago|reply
Riak! We're ( http://bu.mp ) using more Riak every day. So far so good.
[+] grourk|14 years ago|reply
Ditto (http://dropc.am). Very write heavy load for us, which Riak handles without blinking. Fault tolerant, robust, and easy to administer. Every machine is identical, no special "master" nodes or anything like that.
[+] devongall|14 years ago|reply
Loving Riak as well! Our balance is definitely on the write-heavy side of things.
[+] dsl|14 years ago|reply
I love Riak. It's become my go to for "this just has to work" (and I actually work on problems that need to scale, not ones I hope will have to scale).

The only improvement you could make to it would be adding some of the fancier bits that make Redis really nice, like sets and lists.

[+] kuviaq|14 years ago|reply
+1 for Riak, it's suiting our needs very well so far.
[+] jarin|14 years ago|reply
I haven't had a chance to use Riak in a production application yet but am definitely looking for the first possible excuse to use it.
[+] sjs|14 years ago|reply
Hear hear! Mongo but no Riak? Come on.
[+] aonic|14 years ago|reply
What kind of data are you storing in Riak? And is it write or read heavy usage?
[+] s00pcan|14 years ago|reply
SQL Server unfortunately. I was reminded why I hate it today when I was trying to set up a simple remote connection to the instance running on my new Windows 7 machine. TCP/IP enabled, IPv4 addresses activated and enabled, remote connections enabled, firewall disabled (for now), and it still didn't work!

I tried introducing MySQL over a year ago only to have some hilarious emails with a senior programmer about how we would have to pay for MySQL. The GPL is not hard to read, but some people don't consider anything not made by Microsoft worth using. Like Linux. "No one uses Linux in the real world!" "PHP is for small personal websites!" - real quotes, sadly.

[+] blntechie|14 years ago|reply
I've never worked much with other databases other than SQL Server. But one time I had to work with Oracle and MySQL, I had trouble getting a good enough client (like SQL Server Management Studio) even though I was ready to pay.

May be it's my personal preference, I tried many clients (TOAD, DBArtisan, SQL Developer, SQL Plus etc.) and found that none was as polished (not that i'm mentioning functional) and integrates well with Windows as the one from Microsoft.

It's off topic, but the same applies for Visual Studio and other IDEs.

[+] upthedale|14 years ago|reply
> but some people don't consider anything not made by Microsoft worth using.

Also some people don't consider anything made by Microsoft worth using.

Perhaps your senior programmer did fall into the former category, I don't know. However, you should take care not to fall into the latter.

[+] Maro|14 years ago|reply
If licensing and running on Windows would not be an issue, I'd choose SQL Server over Mysql any day.
[+] Jacob4u2|14 years ago|reply
Have you tried to do the same thing with MySQL and had success? There's a lot of things in your example that could be causing you grief other than the type of SQL Server you are running; i.e. Network Security, Local Security Configuration (Both machines), User Error (is this something you setup all the time?)
[+] chrislomax|14 years ago|reply
Just as a side note, make sure you had SQL browser service running! It is not running by default on some setups
[+] __rkaup__|14 years ago|reply
The GPL doesn't forbid charging for software licensed with it. The Free Software Foundation even encourages you to sell your GPL'ed software [1]. However, once you have the software, you can do whatever you like with it, and that includes giving it away for free.

[1] http://www.gnu.org/philosophy/selling.html

[+] highace|14 years ago|reply
What error were you getting? The first time I had to set up SQL Server it was a total ballache and I struggled with the same problem for a while. But like most things, after you do it once it's becomes easymode for the future.
[+] Ixiaus|14 years ago|reply
MySQL, but I want to move us over to PostgreSQL soon; we are stuck with MySQL because we use WordPress for the public facing pages so my cofounder can use it as a sort of "CMS" without my needing to build any of that...
[+] j-bone|14 years ago|reply
If SQLServer is going to be referred to as "Microsoft" shouldn't MySQL be lumped under the "Oracle" grouping?
[+] qrush|14 years ago|reply
Hey Redis folks, if you haven't played with http://radishapp.com/ yet I'd love to hear your feedback on it.

Also, go Postgres! Woot!

[+] ghotli|14 years ago|reply
Interesting to see Tokyo with so few votes. On benchmarking it had the smallest memory footprint when loading ~17GB of packed binary data. Been awhile but I remember testing redis, postgres, mongo, and bdb. This let us keep all the low latency read-only data we needed available in memory and provision the smallest possible machine to do it.
[+] madmaze|14 years ago|reply
How about adding IBM's DB2, it seem there are very few companies actually using it.
[+] jacques_chester|14 years ago|reply
A lot of companies use DB2, they just don't write blog posts about it.
[+] porkbird|14 years ago|reply
With new PostgreSQL major releases (latest one is 9.0 w/ embedded replication) its getting better and better. The community rocks and there are exciting new features coming to 9.1 (i.e. synchronous replication).

Full disclosure: My daily job is postgres developer/consultant and I love it :)

[+] eftpotrm|14 years ago|reply
Legacy apps, Ingres.

All sorts of odd little things, SQL Server.

Various legacy data processing and newer data warehousing jobs, SAS.

New projects, in theory Oracle but there seems to be a degree of resistance. It'd be interesting to see how that pans out but I won't be around there much longer :)

[+] rajasharan|14 years ago|reply
Large corporations also consider IBM's db2 equivalent to Microsoft's/Oracle's database. There should've been an option for that too.
[+] bradendouglass|14 years ago|reply
The relatively low amount assigned to couch is what surprises me. I thought it was fairly widely used (in the NOSQl world)?
[+] wtn|14 years ago|reply
These numbers seem representational to me from what I've seen/heard in the SF Bay Area.

MongoDB is typically introduced to optimize part of a stack, although more and more it is used as a sole/primary data store. I think ORMs and use of Mongo by prominent consulting shops helped boost adoption.

The particularities of CouchDB replication are very well suited to a enterprise application with a distributed architecture that I'm working on. I hope it sticks around for a long time, even if it doesn't have the biggest dev user base.

[+] Confusion|14 years ago|reply
Well, we're not using it ourselves, but at one client our application connects to DB2... on an AS/400... using JRuby :).
[+] unit3|14 years ago|reply
Percona builds of MySQL. They're awesome, and Percona support is much, much better than official MySQL support.
[+] trebor|14 years ago|reply
MySQL, with SQLite for development environments. I want to learn/migrate to Postgres though, what with MySQL being in Oracle's hands.
[+] bradendouglass|14 years ago|reply
One of the best things you will ever do.
[+] davepeck|14 years ago|reply
Voted "other".

We're using the App Engine master/slave datastore for getcloak.com. We're moving over to the HRD soon; the role of the HRD in App Engine's future wasn't clear when we started building our app.

[+] waleedka|14 years ago|reply
Same here. Voted other. I have a big database on the App Engine, and I'm moving more of my data from mysql to the datastore.
[+] StavrosK|14 years ago|reply
How do you move data between datastores? Do you have to create a second app and migrate manually?