본문 바로가기
728x90

분류 전체보기336

[NoSQL] MongoDB Index 생성,예제,효율확인 1. 50만개의 도큐먼트 생성 use testdb //testdb 데이터베이스 > for (i =0; i 2021. 1. 19.
[NoSQL] MongoDB capped collection, TTL collection Capped Collection -캡드 컬렉션은 높은 성능의 로깅 기능을 위해 설계되었다. -일반 컬렉션과 다른 점은 고정된 크기를 갖는다는 점이다. -더 이상의 공간이 없게 되면 도큐먼트를 삽입할 때 컬렉션에 추가된 지 가장 오래된 도큐먼트를 덮어쓰게 된다. -일반적인 보통 컬렉션에 모든 연산이 가능하도록 허용하지는 않는다. -개별 도큐먼트를 삭제할 수 없고, 도큐먼트의 크기를 증가시키는 어떤 업데이트도 수행할 수 없다. -만드는 방법 db.createCollection("컬렉션이름",{capped: true, size: 16384, max:100}) 최대 크기가 16384바이트고, 최대 100도큐먼트까지 저장되는 컬렉션 ex) capped 컬렉션 생성 for문을 이용하여 500개의 데이터 삽입 cap.. 2021. 1. 19.
[DataBase] MySQL Index 1 (B-tree index) 인덱스(index) -인덱스는 데이터의 저장(INSERT,UPDATE,DELETE)의 성능을 희생하는 대신에, 데이터의 읽기(SELECT)속도를 높이는 기능이다. -MySQL에서는 B-TREE 알고리즘 HASH 알고리즘, FRACTAL-TREE알고리즘 및 R-TREE알고리즘이있다. 1)B-Tree 알고리즘: 가장 일반적으로 사용되는 알고리즘으로 컬럼을 변형하지 않고, 원래의 값을 이용해 인덱싱하는 알고리즘 2)Hash 알고리즘: 컬럼의 값으로 해시 값을 인덱싱하는 알고리즘으로 매우 빠른 검색을 지원. 값을 변형해서 인덱싱하므로 전방일치와 같이 값의 일부만 검색하고자 할 때는 인덱스를 사용할 수 없다. B-Tree Index -B-Tree 인덱스는 가장 범용적인 목적으로 사용되는 인덱스 -최상위에 하나의 .. 2021. 1. 18.
[DataBase] MySQL 아키텍처(구조) MySQL의 전체구조 MySQL 서버는 MySQL엔진과 스토리지 엔진으로 구분된다. MySQL 엔진 -클라이언트로부터 접속 및 쿼리 요청을 처리하는 커넥션 핸들러, SQL 파서 및 전처리기, 그리고 쿼리의 최적화를 위한 옵티마이저, DBMS의 두뇌에 해당하는 처리를 수행한다. 스토리지 엔진(Storage engine) -스토리지 엔진은 실제 데이터를 디스크 스토리지에 저장하거나 읽어오는 부분을 전담한다. -MySQL 서버에서의 MySQL엔진은 1개, 스토리지 엔진은 여러개를 동시에 사용 가능하다. ex) CREATE TABLE test_table(컬럼명1 데이터타입, 컬럼명2 데이터타입) ENGINE=InnoDB; 처럼 스토리지 엔진을 지정하면, 테이블의 모든 작업은 해당 스토리지 엔진이 처리 -SHOW.. 2021. 1. 18.
[DataBase] DBMS별 function 비교(ms-sql(sql-server),oracle,mysql) 출처: hackersstudy.tistory.com/25 2021. 1. 18.
[DataBase] MySQL,Oracle의 데이터베이스 계층 구조 비교 1. 일반적인 데이터베이스 계층 구조 MySQL에서 스키마와 데이터베이스가 어떻게 다른지 보기 전에 먼저 일반적인 데이터베이스의 4계층 구조를 보도록 하겠습니다. (정확한 지식이 아닌 전체적인 그림을 봅니다.) 데이터베이스 : 오라클의 경우 작동하는데 필요한 모든 파일을 의미합니다. 인스턴스 : DBMS가 동작할 때의 단위, OS 입장에서는 ‘프로세스’, DBMS에 따라서는 ‘서버 프로세스’ 또는 ‘서버’로 부르기도 합니다. 앞서 말한 데이터베이스가 실행 가능하게 메모리에 올라가 있는 걸 생각하시면 됩니다. 스키마 : 데이터베이스의 구조와 제약 조건을 정의한 것, 쉽게는 폴더에 해당하며 스키마도 폴더처럼 사용자가 자유롭게 만들 수 있고, 사용자에 따라 접근을 제한하는 등의 권한 관리가 가능합니다. 폴더이.. 2021. 1. 18.
[NoSQL] python에서 MongoDB연동시키기 일단 MongoDB와 python을 연동시키기 위해서는 python 라이브러리인 pymongo가 있어야 한다. cmd창을 열고 와 같이 pymongo를 다운받도록 한다. 이후 간단한 crud를 해보도록 할건데, 미리 CRUD관련된 클래스를 만들어두고 쓰면 편리하기 때문에, 구현 해두고 확인해보겠습니다. from pymongo import MongoClient from pymongo.cursor import CursorType class DBHandler: def __init__(self): host = "localhost" port = "27017" self.client = MongoClient(host, int(port)) def insert_item_one(self, data, db_name=None.. 2021. 1. 14.
[Python] 조건문(if)-제어문,분기문과 차이, 반복문(while문,for문), 예외처리(try, except, else, finally) 개념과 예제 1. if문 조건문이란? 주어진 조건이 참이나 거짓이냐를 판별하고 판별에 따라 특정 명령을 수행하는 수행문 제어문이란? 제어문은 프로그램의 순차적인 흐름(위->아래)을 인위적으로 제어해야 할 때 사용하는 실행문 제어문에 포함된 것이 바로 조건문, 반복문 분기문이란? 프로그램 중 참(True) 또는 거짓(False)을 반환하는 조건식의 결과에 따라 프로그램을 어떠한 경로로 실행할지 를 결정하는 문 0이 아니거나, null이 아닐 경우에 참(True)값으로 판단하며, 그 반대의 경우에는 거짓(False)값으로 판단 if문의 기본 구조 """ if 조건문: 수행할 문장1 #들여쓰기 space4칸 or tab 수행할 문장2 #들여쓰기 space4칸 or tab ... else: 수행할 문장1 #들여쓰기 spac.. 2021. 1. 13.
[DataBase] 옵티마이저(Optimizer)와 실행계획 옵티마이저란? •옵티마이저(Optimizer)는 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할을 수행한다. 이러한 실행 방법을 실행계획(Execution Plan)이라고 한다. •JAVA, C등과 같은 프로그램 언어와는 달리 SQL은 사용자의 요구사항만 기술할 뿐 처리과정에 대한 기술은 하지 않는다. 사용자 요구사항을 만족하는 결과를 추출할 수 있는 다양한 실행 방법들 중에서 최적의 실행 방법을 결정하는 것이 바로 옵티마이저의 역할이다. •옵티마이저가 선택한 실행 방법의 적절성 여부는 질의의 수행 속도에 가장 큰 영향 미치게 된다. 최적의 실행 방법 결정이라는 것은 어떤 방법으로 처리하는 것이 최소 일량으로 동일한 일을 처리할 수 있을지 결정하는 것이다. •옵티마이저는 실제로 SQL문.. 2021. 1. 13.
728x90