Database vs File system storage

A database is generally used for storing related, structured data, with well defined data formats, in an efficient manner for insert, update and/or retrieval (depending on application). On the other hand, a file system is a more unstructured data store for storing arbitrary, probably unrelated data. The file system is more general, and databases are … Read more

When we need to use 1-to-1 relationship in database design?

Vertical partitioning for large tables to reduce I/O and cache requirements — separate columns that are queried often vs rarely. Adding a column to a production system when the alter table is “too expensive”. Super-type/subtype pattern. Vertical partitioning to benefit from table (join) elimination — providing optimizer supports it (again to reduce I/O and cache) … Read more