I’m by no means knowledgeable in DB’s, I’ve ever only used MySQL and Oracle SQL but I’ve been seeing RethinkDB be name dropped a lot and upon visiting their page it really seems awesome. The continuous push of queries and results seems to be great for real time large scale apps like betting systems and online games.
I’ve also heard a lot about Riak. I believe it’s written in Erlang? Don’t quote me on that.
However, I’ll just throw my own personal opinion and say that the DB scene is starting to look a bit like the Web Dev scene where new frameworks and what not appear every month or so and promise to be the be all end all for that particular problem.
I really like NoSql in general and especially rethinkdb.
I’m not really a fan of sql even though I have been doing it for 16 years. ReQL write/reads very much like any functional language. Data starts out broad and then you apply “transformations” to shape it into data that you want (and what gets returned). SQL reads backwards to me, which makes it a pain to read and write. The columns that gets return in sql should be the last thing in a sql statement
I’m waiting for news on DataStax’s DSE Graph, hopefully coming after April 20th
As far as I understand it, their solution will provide an answer for massively scalable Graph and Blob storage.
I also hope there’s going to be a community edition people can play with.
And yes, I don’t exactly know what I’m talking about
What about Casandra ? I see that ScyllaDB suppose to be faster
Suppose in more complicated systems you are using more than one database.
Each is suited for specific task. For example in CQRS you have different path for writing data and reading data.
So you can have different database for write and read.
Hard to believe mysql/mariadb/percona are rare for some people, as thats all I’ve seen used (as in, companies I’ve worked with/for) for years. I’d prefer postgres, largely for reasons outside of technical merit (though it certainly has that as well from what I’ve read).
To confirm something earlier in the thread, riak is (or at least was when I last looked into it) built on erlang, as is couchbase. I’ve read couchdb is as well, but I have no experience with it.
I’m looking to get more into postgres soon, and I’d like to learn more about rethinkdb, but don’t know enough to make a strong case for it yet.
Postgres has the in-artfully named Schemas, which are akin to database members in DB2.
That is a killer feature for SASS and multi-tenancy. It’s also often used for a single tenant in DB2 if you wish to segregate transactions by month, however I don’t see that being as pressing of a use case for web apps as it is with business.
Other than that, mysql or percona does the job quite fine.
I’m sort of the opposite of @AstonJ as I hadn’t really heard of anyone using Postgres over mysql up until recently. Mysql is a standard in the Java world.
I’m wondering why… May it be that it has something todo with the fact, that at the end both are owned by oracle?
Once I had administrated a wiki for a browser game. It was hosted on a small vRoot and had some semantical addons which made the querries complicated. While beeing backed by mySQL there were problems with this queries, taking to long, even timing out. Alone by switching from mySQL to postgres these problems were gone, it just did and even complicated querries which took nearly 10 seconds on mySQL were answered by postgres in less than the half.
The queries were outogenerated by some mediawiki plugins. The corresponding db mapper might already have preoptimzed the query before sending it to the database. Also this switch was about 5 years ago, and back then I haven’t had enough knowledge to do further inspections on this, of course today I would do them.
I am very interested in several databases right now:
VoltDB - In-memory, “fast” data, open source (+commercial backing like Riak), ACID-compliant, SQL. Created by Dr. Michael Stonebraker - who was behind Ingres, PostgreSQL, CTO @ Informix, Vertica, and now VoltDB. The pedigree of VoltDB is 2nd to none and I believe it will become very big in the coming years. There was an excellentPodcast with John Hugg from VoltDB on Software Engineering Daily. Worth a listen.
InfluxDB/InfluxData - DB focused on time-series data like IoT or monitoring. A whole stack of open source tools for ingestion, storing and analyzing/visualizing the data.
CockroachDB - love the name Like a cockroach surviving a nuclear fallout, CockRoachDB focuses on consistency in the face of failing distributed systems… even a data center outage. It’s SQL-based (though it behaves more like a KV store as joins are not supported). It’s open source and there has been a commercial company started to support it. I love the approach and focus on rock solid consistency/reliability.
In our daily job we are using Percona’s mySQL. 100GB of insertions a day. To be honest I hadn’t used mySQL until this gig but I am really happy having found Percona. I’ve switched my pet projects to that. Anyway this is not a Postrgres is bad but that I’ve learned a lot of mySQL
In my case 50% devs I know use mySQL and 50% postgres.
I’ve also heard a lot about RethinkDB. I’ve looking forward to use in in something.