Why database
I know a quick google on the definition of database will yield results suck as a repository of information but what my tutor taught me is that that definition is akin to defining an engine as a collection of metal parts. So the definition must now be more inclined towards why database.
Because database is more than just storing information (because whats the point when you can simply store the information on an excel spreadsheet. Why database then? Its because of what happens next.
Imagine these scenarios (which are perfectly normal when it comes to real world scenarios)
Data
I know a quick google on the definition of database will yield results suck as a repository of information but what my tutor taught me is that that definition is akin to defining an engine as a collection of metal parts. So the definition must now be more inclined towards why database.
Because database is more than just storing information (because whats the point when you can simply store the information on an excel spreadsheet. Why database then? Its because of what happens next.
Imagine these scenarios (which are perfectly normal when it comes to real world scenarios)
Data
- Grows
- Changes over time - and we need to be able to track the changes
- Should be fast and searchable
- Should have awesome up-time and be interdependent to other systems
- should be consistent and protected (secure)
So why database is to be able to solve all the problems that come with data. It is to provide a more organized repository of information.
Relational Database management Systems Concepts
- Entity - its a thing/object
- Tables and Columns - generally a table for each entity
- Keys - Can be Primary and Foreign
- Referential Integrity - Keys must address that!
- Schema
- CRUD - Create, Read Update Delete operations
- Transactions
- ACID: Atomic (cannot be split) Consistent (Valid then, Valid now) Isolated (Before a transaction is complete changes are not reflected) Durable (When a change is made. It is made)
RDBMS was a pretty cool concept and has been reliable for a very long time but one of the key disadvantages now is that it is not flexible enough for a fast changing world. So what has happened now?
a) Non Relational Database Management Systems (aka No SQL)
This is a more dynamic approach with the added benefits of speed, scaling and cost. For example MongoDB
b) NewSQL
This is a blen of the old and the new (RDBMS and NRDBMS) bringing Polygot Persistence
Comments
Post a Comment