Hot Databases

What’s catching your eye in 2016?

Huge fan of Postgres here.

Some that are hitting the headlines recently include RethinkDB and ScyllaDB.

Also worth mentioning… the database free architecure in Elixir/Erlang :003:

What about you? Which DBs do you like? Which have caught your eye recently?

11 Likes

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.

1 Like

Unless you need some super power, Erlang’s native ets + riak + pg should be enough.

4 Likes

I love postgresql. I have for years. That is a really good product.

I’m looking forward to learning more about ets. And with the Presence stuff that elixir is bringing looks like it will fill a lot of my needs.

3 Likes

What are the advantages of Postgres over MySQL/Oracle SQL/SQL Server?

2 Likes

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 :grin:

1 Like

Reliability and stability. PG is known to be solid. It’s also open source and highly extensible, with extensions for hstore, nosql, etc

I don’t think I know any devs who use MySQL now…

4 Likes

Well, you know me :stuck_out_tongue:

1 Like

Yes. Highly performant. Really good query optimization.

1 Like

I’m waiting for news on DataStax’s DSE Graph, hopefully coming after April 20th :slight_smile:
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 :stuck_out_tongue:

2 Likes

What about Casandra ? I see that ScyllaDB suppose to be faster :slight_smile:

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.

I see now is also new trend - streaming/fast data for example from Apache Spark.
Lamda Architecture
Lambda Architecture for Big Data

Introduction to NoSQL • Martin Fowler

2 Likes

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.

1 Like

For my side projects I use MariaDB because I’m used to MySQL.

1 Like

There is nice site for database rankings DB-Engines.
You can nice compare MongoDB vs PostgreSQL

3 Likes

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.

1 Like

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.

So my experiences are more towards postgres.

3 Likes

It’s really more due to 99.9% of the JDBC tutorials using Mysql, with the other .1% using something esoteric like JavaDB and such.

Just switching engines and no changes to the query? I really can’t comment much on that without seeing the explain output on the mysql side.

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 excellent Podcast 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 :wink: 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.

6 Likes

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 :smiley:

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.

6 Likes