In my web-application I have vehicles and each vehicle can have a lot of attributes (like color, power, doors etc). Some of these attributes are required by the system (e.g. color and power), others are optional or can be added dynamically by the user (e.g. has_tow_coupling).
Now I wonder wether to use a nosql-solution (in my case mongodb) or stick to mysql and make use of the json-field-type as it can be extended with new attributes easily. I use Laravel, so I can make where queries on those json-fields.
One approach would be to define the required attributes as columns and put all this dynamic stuff in a json-field called attributes. Another try would be, to switch to MongoDB.
On the one hand I worry about performance issues using mysql. On the other hand I don't now, if it would be good to use MongoDB for the whole application as thr rest of the database is not as complex as the vehicles-aspects.
So I have these options:
- Stick to MySQL using JSON-field-type
- Switch the complete application to MongoDB
- Swap vehicles to MongoDB and use MySQL for the rest of the application
My concerns are:
- Loss of performance when querying a table with a lot of entries
- Ease of learning/learning curve as I have never worked with NoSQL before
- Maintainability as parts of the application use mysql while others use mongodb
What would be the best approach to handle my problem?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire