1. WSL2 VS VIRTUAL MACHINE 이번에는 AIRFLOW 실습을 위해 먼저 윈도우11에 WSL2를 설치해보겠습니다. 가상머신을 사용할 때에 비해서, 다양한 차이점이 있습니다. 첫번째로, 가상화 방식에 차이가 있습니다. WSL2는 가상화 기술이 아니라 리눅스 시스템 콜 인터페이스를 제공하여 윈도우와 리눅스 커널 간의 통합을 제공합니다. 이는 가상머신과는 다른 방식으로 작동합니다. 가상머신은 각각의 운영체제를 독립적으로 실행하는 반면 WSL2는 윈도우 운영체제에서 리눅스 실행 파일을 실행하기 위해 리눅스 시스템 콜을 호출합니다. 두번째로 성능 차이가 있습니다. WSL2는 가상머신보다 성능이 뛰어납니다. WSL2는 윈도우와 리눅스 간의 통합을 위한 기술이므로 가상머신에서 필요한 하드웨어 자원을 ..
간단히 초기 설정 설정 - 네트워크 사용자 컴퓨터에서 검색, 터미널 빠른 실행 칸에 넣어두기 리눅스 구조 커널 리눅스의 핵심 프로세스/메모리/파일시스템/장치 관리 컴퓨터의 모든 자원 초기화 및 제어 기능 셸 사용자 인터페이스 명령해석 프로그래밍기능 배시 셸을 기본으로 사용 응용 프로그램 각종 프로그래밍 개발도구 문서 편집 도구 네트워크 관련 도구 등 리눅스 명령어 pwd : 현재 위치 상위 디렉토리로 이동 하기 : cd .. 디렉토리 내 폴더, 파일 보기 : ls 자세한 파일 정보 보기 : ls -la or ll 홈으로 가기 : cd ./home or cd ~ 현재 디렉토리 : . 경로 구분 : / 상위 디렉토리 : .. 폴더 생성 : mkdir 파일 내용 화면 단위로 보기 : more more a.tx..
VIRTUAL BOX ORACLE에서 제공 하둡이나, PIG는 완전 분산모드(노드 별로 환경을 나눠서 작업)로 하는 방식도 있지만, 실습에 있어서는 시간이 꽤 오래걸리는 방법으로 추천하지 않습니다. Hive, pig, Hadoop의 의사 분산 모드는 한 대 안에 여러대의 컴퓨터가 있는 것처럼 노드를 사용하는 방법입니다. 이런 방법으로 사용할 수 있도록 지원되는 이미지에는 해당 이미지는 Hive, pig, Hadoop 전부 설치 되어있다. 이건 실제로 개발자들이 개발 및 테스트에 자주 사용하는 방식입니다. 먼저 virtualBox를 통해서 가상환경으로 리눅스를 설치해보겠습니다. VirtualBox-6.134 실행해서 설치 VirtualBox 나오면 Oracle VirtualBox에서 새로 만들기 이름 Ub..
JDBC 데이터 베이스와 자바를 연결하는 드라이버 자바 오브젝트 정보 -> JDBC 드라이버가 커넥션, 커넥션해제, 데이터를 보내고 받고 하는 일련의 처리 과정을 중간에서 대신 해줌 설치 경로 : 오라클 내에 C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 폴더 접속 복사 후 자바 프로젝트 안에, libs 폴더 생성, ojdbc.jar 파일 넣기 이클립스 프로젝트에서 build path 시작 자바 코드 package Mycom.mytest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import..
이상현상 삭제이상(deletion anomly) 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상→ 연쇄삭제(triggered deletion) 문제 발생 삽입이상(insertion anomly) 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야 하는 현상→ NULL 값 문제 발생 수정이상(update anomly) 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제가 일어나는 현상 → 불일치(inconsistency) 문제 발생 이상현상을 막는 예시 정규화 제 1정규형 릴레이션 R의 모든 속성 값이 원자값을 가지면 제 1정규형이라고함 제 1정규형으로 변환 고객 취미들(이름, 취미들) 릴레이션을 고객취미(이름, 취미) 릴레이션으로 바꾸어 저장하면 제 1..
데이터베이스 모델링 1. 요구사항 수집 및 분석 실제 문서를 수집하고 분석함. 담당자와의 인터뷰나 설문조사를 통해 요구사항을 직접 수렴함. 비슷한 업무를 처리하는 기존의 데이터베이스를 분석함. 각 업무와 연관된 모든 부분을 살펴봄. 2. 개념적 모델링 개념적 모델링(conceptual modeling) : 요구사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정 개체(entity)를 추출하고 각 개체들 간의 관계를 정의하여 ER 다이어그램(ERD, Entity Relationship Diagram)을 만드는 과정까지를 말함. 3. 논리적 모델링 개념적 모델링에서 만든 ER 다이어그램을 사용하려는DBMS에 맞게 사상(매핑, mapping)하여 실제 데이터베이스로..
1. PL/SQL Procedural Language/Structured Query Language의 줄임말로 데이터베이스 응용 프로그램을 작성하는 데 사용하는 오라클의 SQL 전용 언어. SQL 전용 언어로 SQL 문에 변수, 제어, 입출력 등의 프로그래밍 기능을 추가하여 SQL 만으로 처리하기 어려운 문제를 해결함. PL/SQL은 SQL Developer에서 바로 작성하고 컴파일한 후 결과를 실행함 파이썬, 자바로 DB 데이터를 뽑아서도 가능하나 확실히 속도가 빠르다. 2. 프로시저 리턴 값이 없음, 리턴 값이 있으면 함수 2.(1) 삽입 작업 프로시저 프로시저로 데이터를 삽입 작업을 하면 좀 더 복잡한 조건의 삽입 작업을 인자 값만 바꾸어 수행할 수도 있고, 저장해두었다가 필요할 때마다 호출하여 사..
데이터베이스의 성능 데이터베이스의 성능은 일반적으로 데이터베이스의 데이터 탐색시간으로 판단한다. 이 때 탐색시간을 줄이기 위해서 인덱스를 사용한다. 인덱스와 B-TREE 인덱스(INDEX, 색인) : 도서의 색인이나 사전과 같이 데이터를 쉽고 빠르게 찾을 수 있도록 만든 데이터 구조임 데이터베이스 운영 중에는 삽입, 삭제 발생하면서 노드에 순서대로 쌓이지 않음. 그래서 노드가 비었을 때, 그 노드에 채워줌으로써 빈 곳이 생기지 않게하고, 노드 구조로 데이터를 탐색하는 구조를 가짐 B-TREE 구조로 저장할 때는, 탐색 시간이 선형이 아닌 로그 함수 모양을 갖는데, 탐색 시간이 일정 시점이 되면 늘어나지 않는 장점을 가진다. 인덱스의 생성 인덱스는 WHERE 절에 자주 사용되는 속성이어야 함. 인덱스는 조..
시스템 관한 명령어 CREATE USER : 데이터 베이스 유저 생성 권한 SELECT ANY TABLE : 모든 유저의 테이블 조회 권한 CREATE SESSION : 데이터베이스 접속 권한 CREATE TABLE : 테이블 생성 권한 CREATE VIEW : view 생성 권한 CREATE PROCEDURE USER : procedure, function, package 생성 권한 CREATE SEQUENCE : sequence 생성 권한 SYSDBA : 데이터베이스 관리 최고 권한 SYSOPER : 데이터베이스 관리 권한 DML 권한주기 GRANT DELETE, INSERT, SELECT, UPDATE ON 테이블명 TO 유저ID; REVOKE DELETE, INSERT, SELECT, UPDATE..
뷰의 생성 뷰(VIEW)는 하나 이상의 테이블을 합하여 만든 가상의 테이블 장점 편리성 및 재사용성 : 자주 사용되는 복잡한 질의를 뷰로 미리 정의해 놓을 수 있음. → 복잡한 질의를 간단히 작성 보안성 : 각 사용자별로 필요한 데이터만 선별하여 보여줄 수 있음. 중요한 질의의 경우 질의 내용을 암호화할 수 있음. 개인정보(주민번호)나 급여, 건강 같은 민감한 정보를 제외한 테이블을 만들어 사용 독립성 제공 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리함. 또 사용자가 필요한 정보만 요구에 맞게 가공하여 뷰로 만들어 쓸 수 있음. 원본테이블이 구조가 변하여도 응용에 영향을 주지 않도록하는 논리적 독립성 제공 카티션 프로덕트 연산 시간이 오래 걸리는 것에 대해서, 미리 뷰로 만들어 놓고..
서브쿼리 서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있음 메인쿼리는 서브쿼리의 칼럼을 사용할 수 없음 서브쿼리 칼럼을 표시해야한다면 스칼라 서브쿼리(SELECT(SELECT ~)), 함수 등을 사용 서브쿼리는 서브쿼리 레벨과는 상관없이 항상 메인쿼리 레벨로 결과 집합이 생성 서브쿼리는 괄호로 감싸서 사용 서브쿼리는 단일행 또는 복수행 비교연산자와 함께 사용가능 서브쿼리에서는 ORDER BY 절을 사용하지 못하고, 메인쿼리 마지막 문장에 사용 가능 서브쿼리가 SQL문에서 사용가능한 곳 SELECT, FROM, WHERE, HAVING, ORDER BY, INSERT 문의 VALUES, UPDATE 문의 SET 서브쿼리의 종류는 동작하는 방식이나 반환 되는 데이터 형태에 따라 다음과 같이 두개로 분류 비연..