DEV Community

Cover image for Database Architectures & Use Cases - Explained

Database Architectures & Use Cases - Explained

Margo McCabe on June 30, 2020

With over 300 databases on the market, how do you determine which is right for your specific use case or skill set? We continue to see t...
Collapse
 
yaron profile image
Yaron Levi

Great article!
You can add more though. Regarding real-time OLAP workloads you have Druid and Rockset.
Regarding document DB you have FaunaDB which is fully ACID and also pure "serverless" (pay per read, no memory, no cpu, no connections, no capacity planning)

Collapse
 
margo_hdb profile image
Margo McCabe

Thanks for the feedback and insights, we really appreciate it!

Collapse
 
misobelica profile image
Mišo

Hi, nice post. Don't get it wrong but I think there are some strong words about what some DBs can/can't do. I don't know all the technologies but 2 sentences resonated in me.

  1. SQL databases cannot handle unstructured or semi-structured data - this could be misleading for the beginner. For example PostgreSQL supports JSON and XML and you are able to even query and index the parts of the JSON data. I know also MySQL has JSON support and I guess all modern DBs has some. Someone could choose the document DB just because of the sentence even if Relational DB with a few JSON columns would be better choice.

  2. poor security, have no transaction support - I used to use ElasticSearch a lot and the security is really good these days. Also there are "optimistic transactions" elastic.co/guide/en/elasticsearch/.... Again, the sentence could mislead someone choosing different technology even if there are possibilities to deal with security and concurrency.

Anyway, thanks for the overview and the new DB I can follow. After CockroachDB, YougabyteDB, FaunaDB this is also interesting piece of SW 🙂

Collapse
 
stephengoldberg profile image
Stephen Goldberg

@Miso,

Thanks so much for the feedback! @margo wrote this article based on a presentation our CTO gave a few months ago. You can watch the entire presentation here:

youtube.com/watch?v=UIAfhmCZbSQ

It goes into more detail than the above article.

That said, to address your points.

  1. I agree with you that this is an over simplification. Obviously a lot of RDBMS systems now can handle JSON, and a lot of Document Stores have adopted Multi-Modal to accomodate SQL like querying. That said, neither are purpose built to handle both and each have a lot of challenges for them. Cost, performance, consistency, security etc.... I have written a pretty lengthy article about this here:

harperdb.io/blog/multimodel-databa...

And I am going to post another article that is a deep-dive on storage engines in a few days on dev.to that will cover this specific concept in more detail. That said, I agree we are over simplifying a bit in this article and appreciate your feedback!

  1. I believe where the team got the feedback that search engines have poor security was from this Info World article here:

infoworld.com/article/3268871/how-...

I think that this also is a bit of an oversimplification, because the point is based on out of the box configuration, because it is referring to "There’s no innate authentication or access control." which is fairly easily remedy if desired.

We will make some edits the article today to clarify these points, and really appreciate your feedback.

Stephen

Collapse
 
stephengoldberg profile image
Stephen Goldberg • Edited

@Miso,

I put this blog together based on Georgi's feedback, but I think it addresses some of your points as well! Thanks again for engaging us in discussion!

dev.to/harperdb/deep-dive-newsql-d...

Stephen

Thread Thread
 
misobelica profile image
Mišo • Edited

Thank you both guys for the replies. I read the articles and I am looking for the video you sent.

Also, I read some articles about the architecture of the HarperDB and it sounds a really interesting approach. I would love to see some feature/performance blog(s) with comparison to MongoDB, Redis, ElasticSearch, PostgreSQL, and other mainstream DBs.

Have a nice day :)

Thread Thread
 
stephengoldberg profile image
Stephen Goldberg

Miso,

Thanks so much for taking the time to dive in! We really appreciate it. We do have a comparison on our site to MongoDB. You can see it here:

harperdb.io/harperdb-vs-mongodb/

As we create more, I will update the thread. If you get a chance to check out HarperDB we would love your feedback. Thanks again for the discussion!

Stephen

Collapse
 
gmarokov profile image
Georgi Marokov

That was fantastic post! Thanks! Suggestion for the next post may be a little enlightenment for NewSQL databases :)

Collapse
 
stephengoldberg profile image
Stephen Goldberg

Hey Georgi,

Thanks again for the feedback. Here is a blog I put together based on your suggestion.

dev.to/harperdb/deep-dive-newsql-d...

Collapse
 
margo_hdb profile image
Margo McCabe

Glad you enjoyed it! Yes- that is a great suggestion, we will definitely add it to the list. Thanks!

Collapse
 
davidcockerill profile image
DavidCockerill • Edited

Great post Margo, I love HarperDB! ;)