Databases Theoretical Introduction Contents

Databases Theoretical Introduction Contents

Databases Theoretical Introduction Contents 1 Databases 1 1.1 Database ................................................ 1 1.1.1 Terminology and overview .................................. 1 1.1.2 Applications .......................................... 2 1.1.3 General-purpose and special-purpose DBMSs ........................ 2 1.1.4 History ............................................ 2 1.1.5 Research ........................................... 6 1.1.6 Examples ........................................... 6 1.1.7 Design and modeling ..................................... 7 1.1.8 Languages ........................................... 9 1.1.9 Performance, security, and availability ............................ 10 1.1.10 See also ............................................ 12 1.1.11 References .......................................... 12 1.1.12 Further reading ........................................ 13 1.1.13 External links ......................................... 14 1.2 Schema migration ........................................... 14 1.2.1 Risks and Benefits ...................................... 14 1.2.2 Schema migration in agile software development ...................... 14 1.2.3 Available Tools ........................................ 15 1.2.4 References .......................................... 15 1.3 Star schema .............................................. 16 1.3.1 Model ............................................ 16 1.3.2 Benefits ............................................ 16 1.3.3 Disadvantages ........................................ 17 1.3.4 Example ........................................... 17 1.3.5 See also ............................................ 17 1.3.6 References .......................................... 17 1.3.7 External links ......................................... 17 2 Not Only SQL 18 2.1 CAP .................................................. 18 2.1.1 Science and medicine ..................................... 18 2.1.2 Computing .......................................... 18 i ii CONTENTS 2.1.3 Organisations ......................................... 18 2.1.4 Companies .......................................... 18 2.1.5 Projects, programs, policies .................................. 19 2.1.6 Military ............................................ 19 2.1.7 Certifications ......................................... 19 2.1.8 Other ............................................. 19 2.1.9 See also ............................................ 19 2.2 Eventual consistency .......................................... 19 2.2.1 Conflict resolution ....................................... 19 2.2.2 Strong eventual consistency .................................. 20 2.2.3 See also ............................................ 20 2.2.4 References .......................................... 20 2.3 Object-relational impedance mismatch ................................ 20 2.3.1 Mismatches .......................................... 20 2.3.2 Solving impedance mismatch ................................. 21 2.3.3 Contention .......................................... 22 2.3.4 Philosophical differences ................................... 23 2.3.5 References .......................................... 25 2.3.6 External links ......................................... 25 2.4 Object database ............................................ 25 2.4.1 Overview ........................................... 25 2.4.2 History ............................................ 25 2.4.3 Timeline ........................................... 26 2.4.4 Adoption of object databases ................................. 27 2.4.5 Technical features ....................................... 27 2.4.6 Standards ........................................... 27 2.4.7 Comparison with RDBMSs .................................. 27 2.4.8 See also ............................................ 28 2.4.9 References .......................................... 28 2.4.10 External links ......................................... 28 2.5 NoSQL ................................................ 28 2.5.1 History ............................................ 29 2.5.2 Types and examples of NoSQL databases .......................... 29 2.5.3 Performance ......................................... 31 2.5.4 Handling relational data ................................... 31 2.5.5 ACID and JOIN Support ................................... 31 2.5.6 See also ............................................ 32 2.5.7 References .......................................... 32 2.5.8 Further reading ........................................ 33 2.5.9 External links ......................................... 33 2.6 Key-value database .......................................... 33 CONTENTS iii 2.6.1 Types and notable examples ................................. 33 2.6.2 References .......................................... 34 2.6.3 External links ......................................... 35 2.7 Document-oriented database ..................................... 35 2.7.1 Documents .......................................... 35 2.7.2 Comparison with relational databases ............................. 37 2.7.3 Implementations ....................................... 38 2.7.4 See also ............................................ 38 2.7.5 Notes ............................................. 38 2.7.6 References .......................................... 38 2.7.7 Further reading ........................................ 38 2.7.8 External links ......................................... 38 2.8 NewSQL ................................................ 38 2.8.1 History ............................................ 38 2.8.2 Systems ............................................ 39 2.8.3 See also ............................................ 39 2.8.4 References .......................................... 39 3 ACID 40 3.1 ACID ................................................. 40 3.1.1 Characteristics ........................................ 40 3.1.2 Examples ........................................... 40 3.1.3 Implementation ........................................ 41 3.1.4 See also ............................................ 42 3.1.5 References .......................................... 42 3.2 Consistency (database systems) .................................... 42 3.2.1 As an ACID guarantee .................................... 42 3.2.2 As a CAP trade-off ...................................... 43 3.2.3 See also ............................................ 43 3.2.4 References .......................................... 43 3.3 Durability (database systems) ..................................... 43 3.3.1 See also ............................................ 43 4 Isolation 44 4.1 Serializability ............................................. 44 4.1.1 Database transaction ..................................... 44 4.1.2 Correctness .......................................... 44 4.1.3 View and conflict serializability ............................... 46 4.1.4 Enforcing conflict serializability ................................ 46 4.1.5 Distributed serializability ................................... 48 4.1.6 See also ............................................ 49 4.1.7 Notes ............................................. 49 iv CONTENTS 4.1.8 References .......................................... 49 4.2 Isolation (database systems) ...................................... 49 4.2.1 Concurrency control ..................................... 50 4.2.2 Isolation levels ........................................ 50 4.2.3 Default isolation level ..................................... 51 4.2.4 Read phenomena ....................................... 51 4.2.5 Isolation Levels, Read Phenomena and Locks ........................ 52 4.2.6 See also ............................................ 52 4.2.7 References .......................................... 52 4.2.8 External links ......................................... 53 4.3 Database transaction .......................................... 53 4.3.1 Purpose ............................................ 53 4.3.2 Transactional databases .................................... 53 4.3.3 Object databases ....................................... 54 4.3.4 Distributed transactions .................................... 54 4.3.5 Transactional filesystems ................................... 54 4.3.6 See also ............................................ 54 4.3.7 References .......................................... 54 4.3.8 Further reading ........................................ 54 4.3.9 External links ......................................... 55 4.4 Transaction processing ........................................ 55 4.4.1 Description .......................................... 55 4.4.2 Methodology ......................................... 55 4.4.3 ACID criteria ......................................... 56 4.4.4 Benefits ............................................ 56 4.4.5 Implementations ....................................... 57 4.4.6 References .......................................... 57 4.4.7 External links ......................................... 57 4.4.8 Further reading ........................................ 57 5 Atomicity 58 5.1 Journaling file system ......................................... 58 5.1.1 Rationale ........................................... 58 5.1.2 Techniques .......................................... 58 5.1.3 Alternatives .......................................... 59 5.1.4 See also ............................................ 59 5.1.5 References .........................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    135 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us