본문 바로가기

개인적으로 공부한 것을 정리해 놓은 블로그입니다 틀린 것이 있으면 댓글 부탁 드립니다!


반응형

RDBMS

(8)
DBMS 공부 8 - FULL TEXT SEARCH , BULK INSERT 1. FULL TEXT SEARCH 기존 sql의 like 검색은 여러 개의 검색필터를 동시에 매칭시키는 방식이다 , 이를 and/or과 함께 사용 할 경우 심각한 성능 저하가 일어난다. full text search는 위의 방식과 결과는 동일하지만 DB서버에 부담을 주지 않는 검색 방식이다 . 기본적으로 컬럼 내용 전체를 단순 문자열(plain text)로 생각하고 검색하는 방식이다. 문자편집기의 편집 찾기 / 바꾸기 메뉴의 동작방식과 유사하다. mysql에서의 full text search - 자연어 검색 , 불린 검색 , 쿼리 확장 검색 세가지로 나뉜다. - full text search 인덱스를 생성해야 한다. full text search 추가 alter table 테이블명 add fulltex..
DBMS 공부 7 - 데이터베이스 파티셔닝 , 샤딩 ,리플리케이션 1. 데이터베이스 파티셔닝(Partitioning)' VLDB(Very Large DBMS) 전체 DB가 하나의 DBMS시스템에 다 들어가기 힘들어지는 경우 테이블 들을 여러 개의 군으로 나눠서 분산 저장 하나의 테이블이 방대한 경우에는 사전방식(a-m , n-r , s-z)와 같이 나눠서 저장 파티셔닝의 제약사항 1. 테이블 단위 연산이 힘들어진다 (비용문제) 조인연산 어려움 -> 정규화(Nomalization) 문제 역정규화(Denormalization) -> 중복허용으로 해결 2. 외래키(FK)의 효용문제 레코드 추가시 참조 무결성 조건 체크 -> 시스템 부담증가로 수동전환 CRUD시 위치(LOCATION)를 인식해야 함 (파티셔닝 / 샤딩 다름) 파티셔닝의 이점 데이터 전체 검색시 필요한 부분만 ..
DBMS 공부 6 - 데이터베이스 백업과 복원 , 데이터베이스 로그 1. 데이터베이스 백업 dbms 전체 내용을 특정한 파일에 저장하는 것을 말한다 mysql은 콘솔에서 mysqldump 명령어를 사용하여 백업한다. 콘솔에서 백업 전체 데이터베이스 백업 mysqldump -u아이디 -p --all-databases > 덤프파일명.sql 특정 데이터베이스 백업 mysqldump -u아이디 -p --databases DB명 > 덤프파일명.sql 특정 테이블 백업(데이터포함) mysqldump -u아이디 -p DB명 테이블명 > 덤프파일명.sql 스키마만 백업 mysqldump -u아이디 -p --no-data 데이터만 백업 mysqldump -u아이디 -p --no-create-info 전체데이터베이스를 백업하라 world DB를 백업하라 city테이블을 백업하라 count..
DBMS 공부 5 - 메타데이터 , 캐릭터셋/콜레이션 , 스토리지 엔진 1.메타데이터 통상적으로는 데이터를 위한 데이터를 말하며 RDBMS에서는 데이터를 관리하기위한 데이터를 말한다. DB, 테이블의 스키마에 대한 정보를 저장하는 테이블 DB 명 테이블명 ,컬럼명 ,사용자명 , SHOW 명령어 결과 값 등이 있다. 크게 데이터 사전 , 데이터디렉토리로 나뉜다 데이터 사전 (Data dictionary) : Information_schema 데이터베이스의 정보들을 저장한다. 시스템 카탈로그라고도 한다. 대부분 읽기전용(Read-only)정보들이다. mysql 에선 use Information_schema로 확인할 수 있다. Information_schema에 있는 테이블들 mysql> show tables; +-------------------------------------..
DBMS 공부 4 - SQL의 이해와 종류 (DCL , INDEX) 1. DCL(Data Control Language) 권한 및 역할을 설정하는 언어 특정 테이블에 대한 CRUD 권한을 설정한다. 권한부여 / 권한 회수로 나뉜다 . 주로 DBA가 설정한다. - 유저생성 , 삭제 사용자 sampleUser를 새로 추가 / 삭제하라 use mysql; // mysql 설정 관련 데이터베이스 select user , host from user; // mysql user 관련 테이블 create user '유저명' @ ' 호스트명(localhost) ' identified by '비밀번호'; // user 추가 drop user 사용자명@호스트 // 유저 삭제 flush privileges, //반영하기 -권한 부여 , 삭제 sampleUser(localhost)의 접속을 허..
DBMS 공부 3 - SQL의 이해와 종류 (DDL) 보호되어 있는 글입니다.
DBMS 공부 2 - SQL의 이해와 종류 (DML) 저T아카데미 데이터베이스 기초 강의를 요약한 내용며 MySQL 샘플데이터인 'World'를 사용하였습다. SQL의 이해 SQL( Structured Query Language) 데이터 베이스에 있는 필요한 정보를 사용할 수 있도록 도와주는 언어 사용방법이나 문법이 다른 언어(JAVA ,C , C# 등) 보다 단순하다 하나를 배우면 모든 DBMS에서 사용이 가능하다 . 인터프리터 언어이다 대소문자 구별을 하지 않는다 (데이터 내용은 구별한다.) SQL의 종류 1. DML (Data Manipulatuon Langauge) 테이블의 데이터를 조작하는 기능 테이블의 레코드를 CRUD(Create, Retrieve , Update , Delete) 함. SQL문 내용 INSERT 데이터베이스 객체에 데이터를 입..
DBMS 공부 1 - DMBS 기초 T아카데미 데이터베이스 기초 강의를 요약한 내용입니다. 1. DBMS 란? 데이터베이스를 관리하는 시스템 데이터를 저장하고 유지보수하고 이를 검색하는 시스템 대량의 데이터를 처리하는 시스템 다양한 자료구조와 검색구조(소팅 , 인덱식)을 사용해 빠른 검색 가능 대부분의 시스템은 R (검색) >> >> CUD(업데이트)의 빈도수가 많다 (반대의 경우 NoSQL과 같은 다른 기술들이 필요하다 ) 검색에 최적화 되어있다 정렬 빠른검색을 위해서는 데이터는 반드시 정렬(Sorting)되어 있어야 한다. 정렬 되어 잇지 않다면 평균적으로 전체 데이터의 절반의 시간이 필요하다 (최선 : 1 , 최악 : N , 평균:N/2) 정렬되어 있다면 데이터를 빠른 시간안에 찾을 수 있다 (O(NlogN)-ON²) 퀵정렬/힙정렬 ..

반응형