What are the advantages and disadvantages of using a database over plain files?
I couldn't find the advantages and disadvantages of using a database over开发者_如何学运维 plain files. Would you please help me?
A few database advantages:
- Highly optimized (indexing, query optimization)
- Stores many different types of data, generally with type-safety
- Prebuilt abstractions (SQL, database access layers)
- Relational integrity (foreign key constraints, etc)
- ACID (Mostly having to do with data integrity, check Wikipedia...)
- Interactive queries (for debugging, running ad-hoc reporting, etc)
Plain text doesn't have much except for the most dead-simple application
- Can inspect on-disk format
- Extremely simple in every way
- No need for a server or linked library, etc.
Basically, if you are doing anything other than the most simple data manipulation (especially if you ever expect to have concurrent modifications, complex relations, multiple users, or even just a lot of data) it's well worth getting used to using a database. PostgreSQL is my favorite, although I'm sure you'll find conflicting views on that one :)
Enforcement of standards.
Improved data accessibility and responsiveness.
Increased productivity.
Improved maintenance through data independence.
Increase concurrency.
Improved backup, recovery and data availability.
Control of data redundancy.
Data consistency.
More information from the same amount of data.
- Data Warehousing, Data mining
Sharing of data.
Improved data integrity.
Improved security.
精彩评论