본문 바로가기

Computer Science59

[데이터베이스] 빅데이터(Big Data) 빅데이터(Big Data): 기존의 관리 방법이나 분석 체계로는 처리하기 어려운 방대한 양의 정형, 반정형, 비정형 데이터의 집합 [TTA 정보통신용어사전] 빅데이터 유형 3가지- 정형 데이터(Structed Data): 형식과 구조가 있는 데이터  - 반정형 데이터(Semi-Structed Data): 형식과 구조가 변경될 수 있는 데이터 데이터의 구조 정보를 데이터와 함께 제공하는 파일 형식의 데이터e.g. HTML, XML, JSON(Javascript Object Notation), RDF(Resource Description, Framework)질의 처리가 어려워 데이터 분석에 사용 시 정형 데이터로 변환하여 사용한다- JSON 데이터는 CSV(Comma Separated Value) 또는 테이.. 2024. 6. 21.
[데이터베이스] ep4-1) SQL: DDL SQL(Structed Query Language): 구조화된 질의 언어3가지 종류가 있다 DDL, DML, DCL ㅁDDL(Data Definition Language): 데이터 정의어  ① CREATE문: 테이블을 구성하는 속성 타입 지정 및 NULL 값 허용 여부 또는 기본 값 지정 등 정의   (속성 정의)- NOT NULL: 속성에 NULL값 허용 xUSER_ID VARCHAR(10) NOT NULL;(CREATE TABLE문으로 생성되는 테이블을 구성하는 속성은 기본적으로 NULL값을 허용) - DEFAULT: 기본값을 명확히 지정USER_AGE INT DEFAULT 0; -- 디폴트 값을 0으로 설정STUDENT_GRADE CHAR(2) DEFAULT 'A0'; -- 디폴트 값을 'A0'으로.. 2024. 6. 21.
[데이터베이스] ep3) RDB ㅁRDB(Relational DataBase): 관계형 데이터베이스키(key)와 값(value)을 테이블 형태로 구성한 데이터베이스 (참고) RDB 모델https://claremont.tistory.com/entry/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-ep1-DB-%EB%AA%A8%EB%8D%B8 [데이터베이스] ep1) DB 모델ㅁ논리적 데이터 모델들1. 계층형 데이터 모델  2. 네트워크형 데이터 모델  3. 관계형 데이터 모델(RDB: Relational DataBase)- 우리는 이 RDB에 대해 앞으로 지겹도록 다룰 것이다   ㅁRDB 데이터 모claremont.tistory.com  [릴레이션의 특성]튜플의 유용성: 하나의 릴레이션.. 2024. 6. 21.
[데이터베이스] ep2+) 주요 DBMS들 정리(미완) RDBMS(Relational DataBase Management System): 관계형 데이터베이스표준 언어로 SQL(구조화된 질의 언어: Structured Query Language )을 사용 오라클은 아주 악덕한 기업 (돈에 환장)스타트업에서는 Postgre SQL을 많이 쓴다          ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ NoSQL(Not only SQL): 관계형 데이터베이스가 아닌 dbms(흔히들 SQL을 안쓴다고 해서 no + sql 로 생각한다)데이터를 조직하는 방법에는 리스트, 해시 테이블, 트리, 그래프 등이 있고 각각의 장점과 단점이 명확하다사실 아직까지 NoSQL에 내려진 구체적인 정의는 없다 하지만 NoSQL이라 불리는 데이터베이스.. 2024. 6. 20.
[데이터베이스] ep2) DBMS ※ 트랜잭션(transaction): DB시스템에서 복구 및 병행 시 처리되는 작업의 논리적 단위 ㅇ데이터 사전(= 시스템 카탈로그): 스키마, 스키마 간의 맵핑 정보, 다양한 제약조건 등을 저장한다(메타 데이터: 데이터에 대한 데이터)  [DB 시스템 유틸리티]적재, 백업, 파일 재조직, 성능 모니터링, 파일 정렬, 데이터 압축, 사용자 접근 모니터링, 네트워크와의 인터페이스 등  DBMS의 장점: 데이터 중복 통제, 데이터 동시 공유, 데이터 보안 향상, 데이터 무결성 유지, 장애 발생 시 회복 가능DBMS의 단점: 비용, 복잡한 백업&회복, 중앙 집중 관리로 인한 취약점     데이터베이스 사용자는 3가지로 나뉜다1. DBA(DataBase Administrator): 데이터베이스 관리자2. 최종 .. 2024. 6. 20.
[운영체제] ep10) I/O Management and Disk Scheduling I/O를 다루는 OS 설계의 목적 2가지1. 속도 이슈2. 통일된 방식으로 모든 I/O 기기를 다루는 것 속도 이슈에서 중요한 것은 Seek time(탐색시간)이다Seek time(탐색시간) - 시간 大Rotational delay(회전지연)Transfer Time(전송시간) (참고) 탐색시간, 회전지연, 전송시간 https://claremont.tistory.com/entry/%EC%BB%B4%ED%93%A8%ED%84%B0-%EA%B5%AC%EC%A1%B0-ep7-%EB%B3%B4%EC%A1%B0%EA%B8%B0%EC%96%B5%EC%9E%A5%EC%B9%98 [컴퓨터 구조] ep7) 보조기억장치하드디스크와 플래시메모리같은 보조기억장치들은 개인 컴퓨터부터 서버구성 및 관리까지 다방면으로 사용되는 부품.. 2024. 6. 20.
[운영체제] ep9) Multiprocessor and Real-Time Scheduling 멀티 프로세서 시스템이란 뭘까? 2가지 특징이 있다- 프로세서가 여러 개이지만, 메인 메모리가 딱 하나다- 하나의 OS가 시스템 전체를 관리한다 멀티 프로세서 시스템에서는 동기화(Synchronization) 개념이 매우 중요하다 [멀티 프로세서 시스템 스케줄링 디자인 이슈들]- 동기화 빈도- 프로세서 수 프로세서에 프로세스를 할당하는 방법은 2가지가 있다방법 1: 각각의 프로세서마다 별도의 레디-큐를 둔다방법 2: 전역 큐를 둔다 (큐가 c.s. 안에 있어야 한다) - Mutual Exclusion요즘에는 방법 2를 채택한다 멀티 프로그래밍을 쓸까? 말까?동기화가 자주 일어나지 않는다면 문맥 전환이 적어 오버헤드가 적기 때문에 멀티 프로그래밍을 잘 사용할 수 있지만동기화가 자주 일어난다면 문맥 전환이 .. 2024. 6. 20.
[운영체제] ep8) Uniprocessor Scheduling ㅇCPU 스케줄링: Process에 CPU 시간을 할당하는 방법스케줄링의 목적은 유저 입장과 시스템 입장으로 나눌 수 있다response time(응답시간): 프로세스가 처음 도착한 후, 처음 CPU를 할당받아 실행되기까지 걸리는 시간turnaround time(반환시간): 프로세스가 시스템에 도착한 후, 모든 작업을 마치고 종료될 때까지의 총 시간throughput(처리율/처리량): 단위시간당 Process를 종료시키는 수processor efficiency(CPU 효율성): 얼마나 OS 개입이 적고, CPU를 이용하였는지Fairness(공정성): 같은 기준을 갖은 Process들은 모두 공정하게 같은 기회를 가져야 한다Predictability(예측 가능성): 언제쯤 끝날지에 대한 예측 가능성  스케.. 2024. 6. 20.
[운영체제] ep7) Virtual Memory ㅁVirtual Memory(가상 메모리): m.m.에 프로그램의 일부만 남기고 나머지는 HDD에 적재- 현대 시스템의 99%가 가상 메모리 시스템 ※ 멀티 프로그래밍 레벨이 높을수록 좋은 시스템이다멀티 프로그래밍 레벨: 메모리에서 동시에 실행되는 프로세스의 숫자 1. OS가 프로그램 조각(resident set)을 m.m.로 가져온다- resident set: 프로그램 조각(Page들의 집합)2. 필요한 프로그램이 m.m.에 없으면 interrupt 발생!3. 필요한 프로그램을 가져오기 위해서 OS가 process를 blocked시킨다4. OS가 HDD에 I/O 읽기 요청을 한다5. HDD가 I/O 작업을 처리하는 동안 다른 프로세스가 디스패치된다6. 아까 blocked된 프로세스를 다시 ready 상.. 2024. 6. 19.