2024/06/26 6

[DataBase] 10. Normalization(정규화)

Normalization(빅데이터 등장 이후 잘 안쓰긴 합니다. 그래도 RDB에서는 중요해요)좋은 relational design 생성instructor와 department를 in_dept으로 결합한다고 가정, 이는 instructor와 department 간의 natural join을 나타냄정보의 반복이 있음Null 값을 사용해야 함 (새로운 부서를 추가하는 경우, instructor가 없는 경우)Decompositionin_dep schema에서 정보 반복 문제를 피하는 유일한 방법은 이를 두 개의 schema - instructor와 department schema -로 분해하는 것임모든 Decomposition가 좋은 것은 아님. 예를 들어, employee(ID, name, street, ci..

DataBase 2024.06.26

[DataBase] 09. BigData and Distributed DataBase

Motivation매우 대량의 데이터 수집웹, 소셜 미디어, 최근에는 사물인터넷의 성장에 의해 주도됨웹 로그는 초기 데이터 소스였음웹 로그에 대한 분석은 광고, 웹 사이트 구조화, 사용자에게 표시할 게시물 등에 큰 가치를 가짐빅 데이터: 이전 세대 데이터베이스와 구별됨볼륨: 저장된 데이터의 양이 훨씬 큼속도: 삽입 속도가 훨씬 높음다양성: 관계형 데이터를 넘어 다양한 유형의 데이터 포함Querying Big Data매우 높은 scalability(확장성)이 필요한 트랜잭션 처리 시스템많은 애플리케이션이 매우 높은 확장성을 얻을 수 있다면 ACID 속성 및 기타 데이터베이스 기능을 기꺼이 포기함매우 높은 확장성과 비관계형 데이터를 지원해야 하는 쿼리 처리 시스템Big Data Storage Systems데..

DataBase 2024.06.26

[DataBase] 08. Transaction Recovery

TransactionTransaction은 여러 데이터 항목을 액세스하고 업데이트할 수 있는 프로그램 실행 단위(Unit)입니다.예: 계정 A에서 계정 B로 $50을 이체하는 Transaction:read(A)A := A - 50write(A)read(B)B := B + 50write(B)처리해야 할 두 가지 주요 문제:하드웨어 고장 및 시스템 충돌과 같은 다양한 종류의 failure(드뭄)여러 Transaction의 동시 실행(자주 발생)Example of Fund TransferAtomicity requirementTransaction이 3단계 후에 failure하고 6단계 전에 failure하면 돈이 "잃어버린" 상태가 되어 일관성이 없는 데이터베이스 상태가 됩니다.failure는 소프트웨어 또는 ..

DataBase 2024.06.26

[PS] VS Code에서 <bits/c++.h> include 하는 방법(MacOS 기준)

1. Terminal에서 다음 명령어를 입력c++ --version   2. InstalledDir에서 bin의 이전 directory로 이동cd /Library/Developer/CommandLineTools/usr/ 위 경로는 사용자 환경에 따라 다를 수 있습니다. cd 명령어 이후 나오는 경로는 1번에서 얻은 경로로 설정하면 됩니다 (3번 과정을 생략하려면 ~~~~/usr/include/로 한 번에 이동하면 됩니다) 3. usr 디렉토리에서 include 디렉토리로 이동cd include 4. include 디렉토리에서 bits 디렉토리 생성mkdir bits 5. bits 디렉토리로 이동cd bits 6. stdc++.h 파일 생성 후 편집기 열기vi stdc++.h또는vim stdc++.h Pe..

PS/Tip 2024.06.26