CS 70

[데이터베이스] 13. NoSQL and Big Data Storage Systems (Ch. 24, 25)

Reference - Fundamentals of Database Systems 7th edition NoSQL = Not only SQL 기존 sql은 table 안에서 연산을 했는데, 이와 다르게 일관성이 결여된 경우 사용한다. 데이터의 유실에 덜 민감해야 한다. NoSQL은 분산데이터베이스의 장점을 많이 따르며, 정형화된 형태가 아닌 다른 형태로 저장된다. 예를 들면 social media, web links, user profiles, tweets 등이 포함된다. BigTable(google), DynamoDB(amazon : key-value), Cassandra(facebook) 등이 있다. NoSQL의 특징 - 확장성, 가용성, 일부 일관성, replication models( 1. mast..

CS/Database 2023.12.10

[데이터베이스] 12. Distributed Database Concepts (Ch. 23)

Reference - Fundamentals of Database Systems 7th edition Distributed Database concept 분산 데이터베이스 - 데이터베이스를 여러 노드(컴퓨터)로 나누어서 저장하고 관리하겠다가 기본 컨셉 이 경우 item이 중복돼서 저장되기에 한쪽이 고장나도 다른 쪽에서 백업할 수 있다. 분산 데이터베이스에서 가장 중요한 것은 투명성(transparency)인데, 사용자가 분산 데이터베이스 내부 구현의 디테일(어디에, 몇개, ...)을 알 수 없도록 하는 것을 의미한다. 각각의 하드웨어, 소프트웨어 리소스가 같을 필요는 없다. Transparency의 type은 아래와 같다. - Data organization transparency (Location tr..

CS/Database 2023.12.10

[데이터베이스] 11. Database recovery techniques (Ch. 22)

Reference - Fundamentals of Database Systems 7th edition Recovery techniques system log를 통해 모든 transaction과 commit point를 기록하고, failure가 나면 그 위치로 가서 recovery 시도. 지연 갱신(Deferred update) - 캐시가 남아있기 때문에 Undo가 아닌 redo를 하게 됨. 즉시 갱신 - failure가 나면 Undo를 해서 처음부터. Recovery는 undo와 redo의 조합. 이 조합은 idempotent(10번 수행한것과 1번 수행한 것을 동치되게) 해야한다. buffer에 있는걸 disk에 flush. cache 복원을 어떻게 할 것인가가 중요하다. Pin-unpin bit =..

CS/Database 2023.12.10

[데이터베이스] 10. Concurrency Control Techniques (Ch. 21)

Reference - Fundamentals of Database Systems 7th edition Concurrency Control Techniques - two-phase locking concurrency control technique으로 two-phase locking technique이 있다. operation으로는 read_lock, write_lock, unlock이 있다. 이때 deadlock과 starvation 문제가 발생한다. deadlock은 system 차원에서 detection을 하거나, time stamp를 이용해 시간 delay를 주거나, no waiting algorithm(한 process를 바로 killed)등을 이용하여 해결한다. 이때 detection을 하면 v..

CS/Database 2023.12.09

[데이터베이스] 8. Functional Dependencies and Normalization for Relational Databases (Ch. 14)

Reference - Fundamentals of Database Systems 7th edition Relation DB design guidelines 저장 효율성을 위해, view level이 아닌, base relation level에서 schema를 살펴봐야한다. 1. 하나의 entity or relationship만 다뤄야한다. 또한 이들은 foreign key로만 join이 가능해야한다. 여러번 반복되는 attribute를 분해할 필요가 있고, 그 과정을 "정규화"라고 한다. 이때 뒤에 나올 Functional Dependencies 개념이 필요하다. 가이드라인 1. 암묵적으로, relation의 각 tuple은 하나의 entity 또는 relationship instance를 표현해야 한다..

CS/Database 2023.12.09

[데이터베이스] 7. Indexing (Ch. 17)

Reference - Fundamentals of Database Systems 7th edition Indexing structures for Files and Physical Database Design indexing을 보기에 앞서 file structure를 먼저 살펴보겠다. database는 주로 secondary storage(disk)에 저장된다. 일반적으로 저용량의 경우 SSD, 고용량의 경우 Magnetic Disk를 사용한다. 그중에서 hard disk drive의 구조를 살펴보면, 아래의 동그란 판을 디스크라 하고 이를 묶은 것을 실린더, 이 전체를 디스크 팩이라 한다. 디스크는 회전하면서 물리적으로 데이터가 저장된 위치로 움직이며, Arm이 track을 탐색한다. ssd는 전자적으로..

CS/Database 2023.12.09
loading