MemberJune 20, 2021 at 10:02 pm15 Coins0 GemsLevel: Rookie
I was wondering what is/are the deciding factor(s) when it comes to selecting database for your project?
I have a fair amount of knowledge on MySQL and starting to learn more and more about NoSQL. So what amount of data is suitable for which database? And how difficult is it to migrate later?
MemberJune 21, 2021 at 2:29 pm434 Coins102 GemsLevel: Amateur
MySQL is not built to crunch the large amount of data you’re indicating at. MongoDB is one of the DBs used to work with huge amount of data.
Migrating from MySQL to other DBs is a bit complicated. However, not impossible. You can use Mongify to achieve this.
It’s a super simple way to transform your data from a RDBS to MongoDB without losing anything. Mongify will read your mysql database, build a translation file for you and all you have to do is map how you want your data transformed.
AdministratorJune 22, 2021 at 11:28 pm11501 Coins567 GemsLevel: Veteran
First thing to keep in mind is that any NoSQL database is a document database which makes it really difficult to automatically convert a typical relational database like MySQL to a document base db like MongoDB.
In NoSQL you have a single collection of documents, and each document will probably contain data that would be in related rows in multiple tables. The advantage of a NoSQL redesign is that most data access is simpler and faster without requiring you to write complex join statements.
If you automatically convert each MySQL table to a corresponding NoSQL collection, you really won’t be taking advantage of a NoSQL DB. This is because you’ll end up loading many more documents, and thus make many more calls to the database than needed and thus loosing simplicity and speediness of NoSQL DB.
Perhaps a better approach is to look at how your applications use the MySQL database and go from there. You might then consider writing a simple utility script knowing fully well your MySQL database design.
Log in to reply.