본문 바로가기
728x90

전체 글331

[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.
[Python] 파이썬의 자료형과 예제 1. 숫자형(number) 항목 파이썬 사용 예 정수(integer) 123,-345,0 실수(floating-number) 123.45,-1234.5,3.4e10 8진수(octal) 0o34,0o25 16진수(hexadecimal) 0x2A,0xFF x의 y제곱을 나타내는 ** 연산자 ex) x = 3 y = 4 x ** y = 81(3의 4제곱) 나눗셈 후 나머지를 반환하는 % 연산자 ex) 7 % 3 == 1 3 % 7 == 3 나눗셈 후 몫을 반환하는 // 연산자 ex) 7 / 4 == 1.75 (몫과 나머지) 7 // 4 == 1(몫) 2. 문자열 자료형(string) 문자열(string)이란 문자,단어 등으로 구성된 문자들의 집합 ex) "life is short, You need python.. 2021. 1. 12.
[Python] (Web Scraping, 데이터 크롤링) Selenium vs Scrapy vs Beautiful Soup scraping이란? crawling이란? 의미적으론 컴퓨터 소프트웨어 기술로 웹 사이트들에서 원하는 정보를 추출하는 것 원하는 데이터를 추출하다, 원하는 데이터를 긁어오다의 의미 차이로는 web crawling 수많은 웹사이트들을 체계적으로 돌아다니면서 URL, 키워드 등을 수집하는 것 (보통 검색 엔진이 웹사이트를 인덱싱하기 위해서 사용됨.) web scraping 웹사이트에서 필요한 데이터를 긁어오는 것 Beautifulsoup HTML, XML파일의 정보를 추출해내는 python library python 내장 모듈인 request나 urllib을 이용해 HTML을 다운 받고, beautifulsoup으로 데이터를 추출 REST API에서 데이터를 가져올 때에도 사용됨 서버에서 HTML을 다운받음.. 2021. 1. 12.
[Python] lxml이란? XML 및 lxml이란? -XML이란 단순한 문자열을 넘어서서, 내부적으로 트리 구조를 가지고 있는 파일을 표현하기 위해 사용하는 마크업 언어입니다. -웹페이지를 보여주기 위해 사용되는 html 파일이 XML의 가장 대표적인 예시입니다. -우리가 친숙하게 사용하는 MS Office의 워드, 엑셀, 파워포인트 파일(docx, xlsx, pptx)도 XML의 일종입니다. -따라서 XML을 해석하는 프로그램(parser라고 부릅니다.)을 미리 준비해야 html, docx, xlsx, pptx와 같이 우리가 흔히 다루는 파일을 처리할 수 있습니다. -Python에서 XML parser로서 주로 이용되는 패키지는 lxml입니다. lxml다운로드 사이트 pypi.org/project/lxml/ lxml Powerf.. 2021. 1. 12.
[DataBase] 샤딩(Sharding)과 파티셔닝(Partitioning) #파티셔닝(Partitioning) -퍼포먼스(performance), 가용성(availability) 또는 정비용이성(maintainability)를 목적으로 당신의 논리적인 데이터 엘리먼트들을 다수의 엔티티(table)로 쪼개는 행위를 뜻하는 일반적인 용어이다. #샤딩(Sharding) 수평 파티셔닝(horizontal partitioning)과 동일하다. 데이터베이스를 샤딩하게 되면 기존에 하나로 구성될 스키마를 다수의 복제본으로 구성하고 각각의 샤드에 어떤 데이터가 저장될지를 샤드키를 기준으로 분리한다. 예를 들면, 나는 고객의 데이터베이스를 CustomerId를 샤드키로 사용하여 샤딩하기로 하였다. 0 ~ 10000 번 고객의 정보는 하나의 샤드에 저장하고 10001 ~ 20000 번 고객의 정.. 2021. 1. 12.
[NOSQL] MongoDB Shell(명령어)로 CSV, JSON import 해보기 testdb 데이터베이스,testdb collection 생성, 직접 데이터 입력 1)show dbs 를 통한 database 목록확인 2)use testdb 를 이용한 데이터베이스 생성 및 사용 3)db.testdb.insert({"example":"ex1"})를 통한 collection 생성 및 데이터 삽입 // db는 현재 데이터베이스, testdb는 생성할(사용할) collection 이름 4)db.testdb.find()를 통한 데이터 확인 5)show dbs를 통해 만들어진 데이터베이스 확인 #여기까지가 전에 했던 내용. spidyweb.tistory.com/163?category=833086 지금부터는 shell을 통해 CSV,JSON 파일을 import 하는 방법을 소개해드리겠습니다. 1... 2021. 1. 11.
728x90