determining the Best DB

Robb Hill
Robb Hill used Ask the Experts™
on
Looking for suggestions for a good DB to use given the archictecture of this application.

I have been given a pretty open ended choice to make so looking for reasons to use on dB over another.

Here is the environment:

I will be developing a web application using .net core.
I will be building a parallel deployment ..
1)  Traditional Azure deployment.  
2)  I will be using Docker in the future..so was hoping to put that planning in at the beginning of my design...but this initial rollout will just be using Azure in the private cloud.
3)  I will have some level of web api and microservices...to what extent I am not sure.
4) My front end so far I am leaning the latest Angular 7.

My company wants me to pilot something new so that rules out SQL Server versions or Oracle.

I am gussing this leaves me to Mysql or MariaDB.  PostGresSQl

Or

some version of NoSQL such as Mongo or Cassandra.


This application will be low transactional...and will not be very large..thus the reason the company wants to use it to pilot...yet
at the same time I dont want to put that in as the requirement as its possible this is more a pilot for the company to think about one database going forward
versus having many different versions of Dbs in the enterprise.

Currently we have alot of SQL Server, Oracle, and DB2.  I also believe out external website is Maria.

So any thoughts?

I honestly hate just picking one only to say lets test it.  But that does seem to be the requirement.

I plan on putting something together that really shows the pros and cons.

We are moving from onPrem to on the Cloud more and  more in the coming months...So new projects will most likely be on something different unless we have to using existing db licensing.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Commented:
I don't really see any details that would suggest one database working better than another here. At this point, anything would work just fine, so I think more information is required to get a good answer.

I'd say your application's functionality would be one of the biggest factors in which DB to pick. For example, if your application data falls into that "highly relational" mold of things, then you wouldn't want to use NoSQL just for the sake of trying something new. Or if your application is more of an unstructured logging API service, then NoSQL would be better suited.

If you're not sure how the application will work, it might be a good step to get some design / architecture decided first. Otherwise, it's like a movie producer telling someone, "What's a great place to shoot my movie?" The other person asks, "Well, what's it about? Is it a space movie? Dinosaur movie? Romantic urban comedy?" The producer says, "I don't really know yet." Imagine that person suggesting the setting for Jurassic Park and it turns out that the movie is Star Wars. Now you've invested into the wrong path.

If there's no way to know for sure how things will flow and you want to play it as safe as possible, I'd say MySQL / Maria. That is usually a good "shotgun blast" option that covers a bunch of scenarios and there's plenty of tools to migrate data out of MySQL if you discover later that it's not the right option.
Lee W, MVPTechnology and Business Process Advisor
Most Valuable Expert 2013
Commented:
I don't quite understand why you'd want to rule out MS SQL.  You can always start with SQL Express and move to the paid product at a later date.  And the Development edition of SQL is free.  

MySQL is fine. MariaDB is an offshoot... and PostGreSQL is fine... but if you're building this in .Net, it seems a little odd to NOT be going with a full MS Stack.
Robb HillSenior .Net Full Stack Developer

Author

Commented:
Agree with both of your points.  I dont think I have been asked to pick a SQL DB just for the sake of trying something new..lol.

Thats why I posed this question to get some talking points.
David ToddSenior Database Administrator
Commented:
Hi,

If this is a web app and you are shooting for Azure deployment, why wouldn't you use Azure Database? (ie full stack MS)

Regards
  David
Robb HillSenior .Net Full Stack Developer

Author

Commented:
So do you think its of any value to us Mongo vs mql(maria.db)  Even if the database is most likely just fine being relational. does it make sense to chose one or the other in an enterprise...or does it make sense to have a hybrid...

i am not talking about migration here...just as a going forward solution.

I would also care about the ability for the DB to be on prem and cloud capable.  Not just one or the other.

This is .net core application....so as we are mostly a ms stack....the who idea of writing .net core is to be able to host on linux...which is a massive cost saver.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial