본문 바로가기
728x90

💾Database & Server38

[Index] 인덱스 종류와 자료구조 인덱스는 데이터베이스에서 데이터 검색 속도를 향상시키기 위한 자료 구조로, 특정 쿼리나 데이터베이스 작업에 맞는 인덱스 유형을 사용할 수 있다. 인덱스 종류 여러 종류의 인덱스가 있는데 그중 주로 사용되는 인덱스인 Unique, B-Tree, Hash, Clustered, Non-clustered 등 5가지 인덱스의 종류에 대해 알아보자.. 유니크 인덱스 (Unique Index): 유니크 인덱스는 해당 열의 값이 중복되지 않도록 보장하는데 사용되며, 각 값은 오직 하나의 행에만 존재할 수 있다. 중복된 값이 발생하지 않도록 데이터의 무결성을 유지할 수 있다. 주로 기본키 (Primary Key) 제약조건을 구현하는데 사용된다. CREATE UNIQUE INDEX idx_unique_column ON t.. 2023. 8. 27.
[Index] 인덱스(index) 알아보기 인덱스란? 인덱스 => 색인 색인은 쉽게 찾아볼 수 있도록 일정한 순서에 따라 놓은 목록으로 색인을 데이터베이스에 적용한 것이 인덱스 라고 할 수 있다. 즉, 인덱스란 데이터베이스 테이블에 대한 검색 성능을 향상시키는 자료 구조이며 WHERE절 등을 통해 활용된다. 특징 1. 인덱스는 항상 최신의 정렬상태를 유지 2. 인덱스도 하나의 데이터베이스 객체 3. 데이터베이스 크기의 약 10% 정도의 저장공간 필요 인덱스 알고리즘 페이지 (Page): 데이터가 저장되는 단위 (16 Kbyte) Pull Table Scan: 처음부터 순차적으로 모든 페이지를 스캔하는 방법 특징 1. 순차적으로 접근 2. 접근 비용 감소 사용 시점 1. 적용 가능한 인덱스가 없는 경우 2. 인덱스 처리 범위가 넓은 경우 3. 크기.. 2023. 8. 27.
[PHP] PHP사용 방법 💡 PHP를 사용하기 위한 준비! 1. 도메인 호스팅 받기 (https://www.ivyro.net/html/main/) 웹 호스팅 → 무료 호스팅 2. 데이터베이스 생성 및 관리하기 마이페이지 → 호스팅 관리 → DB 관리(로그인) → phpMyAdmin (SQL문으로 써도 되고 직접 삽입, 삭제 해도 된다.) 3. FileZilla프로그램 설치 프로그램 실행 후 호스팅 받은 domain, id, pw, port 입력 후 연결 서버에 올릴 php파일은 오른쪽 창에 public_html 폴더로 드래그 해서 덮어쓰기 하면 된다. *DB연결 비밀번호와 서버 연결 비밀번호 주의 2023. 8. 27.
[PHP] php란? PHP(PHP: Hypertext Preprocessor)는 C언어를 기반으로 만들어진 서버 측에서 실행되는 서버 사이드 스크립트 언어입니다. PHP는 동적 웹 페이지를 쉽고 빠르게 만들 수 있도록 해주는 데 그 목적이 있습니다. PHP로 작성된 코드를 HTML 코드 안에 추가하면, 웹 서버는 해당 PHP 코드를 해석하여 동적 웹 페이지를 생성합니다. 동적 웹 페이지(dynamic web page)란 서버가 사용자의 요청을 해석하고, 해당 데이터를 가공하여 생성하는 웹 페이지를 의미합니다. 💡 PHP의 장점 주요 운영체제와 대부분의 웹 서버에서 지원합니다. 다른 프로그래밍 언어보다 직관적으로 코드를 작성할 수 있어서, 작성해야 하는 코드의 양이 적습니다. 텍스트 처리에 특화되어 있어 HTML 문서 처리에.. 2023. 8. 27.
[PHP] 에러 노트 PHP 개발 중 발생한 에러를 정리하는 곳입니다. phpMyAdmin 설정 에러 에러 코드 - phpMyAdmin 설정 스토리지가 완전히 설정되지 않아, 일부 확장 기능들이 비활성화 된 상태입니다. 발생 원인 - phpMyAdmin을 사용하게 되면 처음에 이러한 문구가 뜨게 되며 일부 (관계 설정) 등의 기능이 정상적으로 동작하지 않을 수 있다. 해결 방법 - 'phpmyadmin'이라는 데이터베이스를 만들고, phpMyAdmin 구성 저장소(storage)를 설정해주면 된다. 2023. 8. 27.
[Tomcat] 톰켓이란? 아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 애플리케이션 서버이다. 톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다. 톰캣은 관리툴을 통해 설정을 변경할 수 있지만, XML 파일을 편집하여 설정할 수도 있다. 그리고, 톰캣은 HTTP 서버도 자체 내장하기도 한다. 아파치 톰캣은 Apache Licence, Version 2를 채용한 오픈소스 소프트웨어로서, 자바서버 페이지이나 자바 서블릿를 실행하기 위한 서블릿 컨테이너를 제공하며, 상용 웹 애플리케이션 서버에서도 서블릿 컨테이너로 사용하는 경우가 많다. 버전 5.5 이후는 기본적으로 .. 2023. 8. 27.
[Nginx] Gunicorn을 이용하여 Flask앱 배포 💡 구름IDE에서 Flask, MongoDB를 이용하여 개발한 chatbotAPI 프로젝트를 Nginx와 Gunicorn을 이용하여 배포한다. Nginx를 사용하면 지정 경로(포트)로 들어오는 요청을 받아 flask앱의 경로 localhost(5000)로 매핑하여 연결할 수 있지만 flask를 실행할 수 없어 문제가 발생한다. 그렇기 때문에 gunicorn을 이용하여 flask앱을 실행시켜주고 nginx는 gunicorn의 경로 localhost(8000)을 매핑하여 nginx → gunicorn → flask 순서로 작동하게 된다. 1. Gunicorn # Gunicorn 설치 > pip install gunicorn # Flask 앱 실행 (app는 flask앱의 파일이름) > gunicorn app.. 2023. 8. 27.
[Nginx] WebServer & WAS 💡 웹서버 (WebServer)란? 웹 서버는 크게 하드웨어와 소프트웨어로 나뉠 수 있지만 우리가 흔히 말하는 웹 서버는 소프트 웨어로 크롬이나 익스플로러 같은 웹 브라우저로부터 HT TP 요청을 받아들이고 , HTML 문서와 같은 웹 페이지에서 흔히 찾아 볼 수 있는 자료 컨텐츠에 따라 HTTP 응답을 해주는 프로그램을 말한다 . 웹 서버의 주된 기능은 웹 페이지를 클라이언트에게 전달하는 것이다. 클라이언트와 서버와의 커뮤니케이션은 HTTP (Hypertext Transfer Protocol) 을 사용하여 수행된다. 웹 페이지는 대부 분 HTML 문서 형태로 전달이 되며, HTML 에는 각종 이미지 들과 스타일 시트, 스크립트 등이 포함되어 있다. 💡 웹애플리케이션서버 (WAS)란? 자바 웹 애플리케이.. 2023. 8. 27.
[MongoDB] RDBMS vs NOSQL 💡 RDBMS와 NOSQL의 차이와 장단점 2023. 8. 27.
728x90