목록2025/05 (24)
Gom3rye
시작Linus Benedict Torvals가 교육용 운영체제인 MINIX라는 교육용 운영체제를 참조해서 개발유닉스 계열의 운영체제GNU유닉스와 호환되는 자유 소프트웨어를 개발하는 프로젝트GUN is Not UnixLinux 종류Debian 계열 - UbuntuSlackware 계열 - SuseRedhat 계열 - fedora, cent os(rocky), redhatLinux 구조Kernel - Linux의 핵심으로 컴퓨터의 모든 자원 초기화 및 제어가 가능, 장치를 관리Shell - 명령어 해석기Application가상화하나의 물리적 컴퓨터에서 여러 운영체제를 동시에 실행할 수 있게 하는 기술하나의 컴퓨터를 여러 개인처럼 가상으로 쪼개서 사용하거나 여러 대의 컴퓨터를 묶어서 하나의 자원처럼 사용하는 ..

먼저 사용할 데이터베이스 서버를 확인하자. (Maria DB와 Mongo DB 모두 구동되어 있는지 확인)데이터베이스 연동 방법프로그래밍 언어에 드라이버를 설치해서 직접 연동하는 방식프레임워크를 이용하는 방식SQL Mapper를 이용하는 방식: RDBMS에서 가능, 대표적인 SQL Mapper가 Java의 MyBatisORM 형태를 이용하는 방식: RDBMS의 테이블을 프로그래밍 언어의 Class와 매핑하고 데이터를 Instance와 매핑하는 방식의 프레임워크로 Java에서는 Hibernate가 가장 유명하고 Python에서는 Django의 ORM이나 SQLAIchemy가 많이 사용된다.Python과 Mongo DB 연동필요한 드라이버 설치: 드라이버라고 하지 않고 패키지라는 표현을 많이 사용한다. → ..

Mongo DBNoSQL읽기에 특화: JOIN이 없음Linking: 참조를 기억시킴(몽고는 프로그래밍 언어랑 비슷하니까)단점: 뭐 하나를 지우려고 하면 그 참조도 지워야 한다. ⇒ 삽입과 삭제에는 약하고 삽입과 삭제가 빈번하면 느려진다.Embedding: 다른 문서의 데이터를 중첩 구조로 하위 문서로 포함시킴단점: 하나의 레코드의 길이가 너무 길어져서 보기가 어렵고 사이즈가 크면 속도가 느려진다.⇒ CQRS: 읽기와 쓰기를 분리해라!! (읽기: 쓰레드 이용해서 동시에 작업, 쓰기: 큐를 이용해서 1개씩 작업 → 작업의 구조자체가 다르다.읽기와 쓰기의 비율이 동일할 가능성이 별로 없다.)ex. "읽기는 MongoDB, 쓰기는 MySQL, 그리고 Message Queue로 연결”사용자 요청은 MySQL(RD..

제약 조건1. 제약 조건 확인select *from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;2. 제약 조건 수정ALTER TABLE 테이블이름 MODIFY 컬럼이름 자료형 제약조건;3. 제약 조건 추가ALTER TABLE 테이블이름 ADD 제약조건(컬럼이름)4. 제약 조건 삭제ALTER TABLE 테이블이름 DROP CONSTRAINT **제약조건이름**이 경우 제약 조건 이름을 사용해서 삭제를 수행하는데 제약 조건을 만들 때 이름을 설정하지 않으면 Maria DB가 임의로 제약 조건 이름을 설정한다.제약 조건을 만들 때 Constraint 제약조건이름을 추가해서 만들면 제약 조건 이름을 원하는 대로 만들 수 있다. → 대부분 기본키는 PK 외래키는 FK 체크 제약조건은 CK등..

JOIN테이블 구조→ EMP 테이블과 DEPT 테이블은 부서 번호인 DEPTNO 컬럼을 모두 가지고 있다. → EMP 테이블: 데이터가 14개, 열이 8개 → DEPT 테이블: 데이터가 4개, 열이 3개CROSS JOIN별다른 조인 조건 없이 FROM 절에 2개 테이블 이상을 나열2개 테이블의 모든 조합이 나온다.왠만해서는 하지 말아라! ⇒ 데이터 너무 많이 나와서SELECT *FROM EMP, DEPT; # (= FROM EMP CROSS JOIN DEPT;)# 56개의 데이터(ROWS), 11개의 열# 행의 개수는 곱한 것과 같고 열의 개수는 더한 것과 같다.EQUI JOIN2개 테이블에 동일한 의미를 갖는 컬럼이 있는 경우 두 개의 컬럼이 같은 값을 갖는 데이터만 조인제일 많이 쓰이는 조인WHERE..

Maria DB현재 접속자 확인 - select user( );현재 사용 중인 데이터베이스 확인 - select database( );데이터베이스 변경 - use 데이터베이스이름;Function입력 데이터를 이용해서 연산을 수행한 후 출력 값을 만들어내는 개체입력 데이터를 Argument(Parameter, 매개변수, 인수, 인자 등)이라 하고 출력 값을 Return Value 라고 합니다. (프로그래밍 언어의 함수는 리턴 값이 없는 경우도 있지만, 데이터베이스의 함수는 반드시 리턴을 하고 원본을 변경하지 않는다. 데이터베이스를 수정할 수 있는 건 sql 밖에 없다.)함수: 데이터 → 데이터를 수행 or → 연산을 수행해서 리턴함수의 종류Scala Function: 데이터 단위로 연산을 수행하는 함수데이..