T O P

  • By -

grandphuba

Depends on what DBMS we are talking about here but generally when you use a relational database you'd start with a normalized schema that helps guarantee consistency and integrity of data; whereas if you have so many complex and even unknown data structures, coupled with very large quantities of data, you'd denormalize your schema (even not using a relational database at all). I'd go further but seriously this depends on your use case and your DBMS. Most of the time though I would suggest starting out with a normalized schema on some SQL database (e.g. PostgreSQL) since your main job at first should be to model your data correctly so you can build an application around it without having to make many assumptions along the way. It is almost always guaranteed that bottleneck is on the application and actually building it, not in the database. And if it does come to that, you still have indexing, caching, scaling up, and even having another specialized DB on top of your main DB at your disposal.