Please enable JavaScript.
Coggle requires JavaScript to display documents.
Databases and Data Architectures - Coggle Diagram
Databases and Data Architectures
You can technically use a file system to store all your data
redundancy and inconsistency
Accessing data needs a new program to carry out each new task
Multiple files and formats
Failures may cause partial updates
Concurrent access by multiple uses
Functionality of a DBMS
What the programmer sees...
Data definition language - DDL
Specific notation for defining the database schema
DDL compiler generates a set of tables stored in a
"data dictionary"
... Which contains metadata
like the schema
data storage and definition language - which describe the storage structure and access methods
Data Manipulation Language - MDL
Language for accessing and manipulating the data
Also known and "query language"
Two classes of languages
Procedural - User specifies what data is required and how to get those data
Non procedural - user specifies what data is required without specifying how to get those data
SQL is most common query language. its non-procedural
Behind the scenes
Query Optimizer
Equery Engine
Storage Managment
Transaction Management
How do applications generally access databases?
Langauges extensions to allow embedded SQL
Application program interface (ODBC/JDBC) which allow SQL queries to be sent to a database
Concurrency
Database moves from one consistent state to another
Transactions
Move from consistent state 1 to consistent state 2
All succeed or all fail
ACID properties
Atomicity - everything works or fails
Consistency - ensures database is in a consistent state after execution
Isolation - Each transaction, even if there are multiple transactions concurrently, must be executed in isolation so that it is unaware of other transactions happening in the system.
Durability - The changes of a fully executed transaction has on the database should persist regardless of any adverse events
Concurrency Control Mechanisms
Lock based- Two phase commit
Timestamp protocols
centralized protocols
Database Architecture vs Data Architecture
Database Architecture
System and physical properties of database
How concurrency is managed...
Database architect oversees the application design. writes SQL queries, keeeps the database up and going, manages user permissions
Data Architecture
How data is organized
Small and large scale
Data architect's task is to understand the data, how it is moved, used, collected and ensures accuracy.