전체 글(331)
-
[Python/SQL] PyMySQL - Table 만들기
데이터베이스를 만들었으면, 다음으로 해야할 일은 목적에 맞는 Table을 만드는 것이다! 테이블을 만들려면 테이블을 만드는 SQL 커맨드(CREATE TABLE "TABLE NAME" (OPTIONS))를 mysql로 보내면 된다. 내가 만드는 테이블은 id, email, department를 column으로 가지는 테이블이다. 전체 코드는 아래와 같다. import pymysql conn = pymysql.connect(host='localhost', user='root', password='password', db='developer', charset='utf8') cursor = conn.cursor() sql = ''' CREATE TABLE user ( id int(11) NOT NULL AUT..
2021.08.27 -
다음 포스팅 토픽 - 운영체제, 셸 스크립트
공부를 위해서 몇 권의 책을 더 샀다. 기존에 사서 공부하던 인프라 엔지니어의 교과서 책에서 필요한 내용은 다 취득했다고 판단했기 때문이다. 쌓여있는 책들도 많고, 동시다발적으로 공부하는 것들이 많긴한데, 인프라 엔지니어의 교과서 이후로 인프라와 관련된 내용으로 공부하고 정리할 책은 두 권이다. 쉽게 배우는 운영체제 - 조성호 처음 배우는 셸 스크립트 - 장현정 두 권의 책을 고른 이유는 간단하다. 컴퓨터 공학 전공이 아니다보니 운영체제 관련한 지식이 되게 빈약하다. 특히 우분투를 매일매일 쓰고 있는 입장에서 커널이 중요하다는데 대체 커널이 무슨 역할인지 여전히 모르기도 하고, 어떻게 관리를 해야할지도 잘 모른다. 그래서 이참에 이 책을 공부하면서 쭉 정리를 해보면 개념도 잡고, 내 블로그에 정리도 하고..
2021.08.26 -
[Python/SQL] PyMySQL - Database(Schema) 만들기
제일 먼저 해야할 일은 우리가 사용할 데이터베이스를 만드는 것이다. 데이터베이스를 만들기 위해서는 데이터베이스를 만드는 SQL 커맨드(CREATE DATABASE "DATABASE NAME")를 mysql로 보내면 된다! 전체 코드는 아래와 같다. import pymysql conn = pymysql.connect(host='localhost', user='root', password='password', charset='utf8') cursor = conn.cursor() sql = "CREATE DATABASE developer" cursor.execute(sql) conn.close() 간단하게 developer라는 데이터베이스를 만들라는 커맨드를 보내고 연결을 끊는다. 위의 스크립트를 실행한 결과..
2021.08.25 -
[인프라 엔지니어의 교과서] 5장 - 스토리지 (외부 스토리지 이용, 스토리지의 고급 기능)
외부 스토리지 이용 도입 동기 저장 영역을 많이 확보하고 싶다 디스크 I/O 성능을 높인다. 스토리지를 통합해서 집중 관리한다. 복수의 서버에서 데이터 공유 저장 영역을 많이 확보하고 싶다 데이터 양이 많아서 로컬 스토리지 용량으로 충분하지 않을 때, 외부 스토리지로 저장 영역 확보 디스크 I/O 성능 향상 로컬 스토리지의 I/O 성능이 충분하지 않을 때, 외부 스토리지로 디스크 I/O 성능 향상 e.g. 3TB를 구성하는 경우 스트라이핑 개수를 300GB 10세트로 구성하면 이론상 디스크 I/O 성능 10배 향상 스토리지 통합 및 집중 관리 통합 스토리지로 복수의 스토리지를 집약하면, 저장 영역을 낭비하지 않고 유용하게 활용 가능 → 운영비용 낮춤 복수의 서버에서 데이터 공유 어느 서버든지 같은 데이터..
2021.08.24 -
[Python/SQL] PyMySQL - 기본 코드 흐름
pymysql 패키지를 이용해서 작업을 하다보면 코드에 템플릿이 있다는걸 알 수 있다. 먼저 전체 흐름을 보자. # 코드 전체 흐름 import pymysql # 고정 conn = pymysql.connect(host="", user="", password="",charset="utf8",...) # 가변 cursor = conn.cursor() # 고정 sql = "SQL COMMAND" # 가변 cursor.execute(sql, (args)) # 가변 res = cursor.fetchall() # 가변 conn.commit() # 가변 conn.close() # 고정 위의 코드에서 몇 개는 고정 으로, 몇 개는 가변 으로 주석을 달아뒀는데, 위에서 부터 한 줄씩 그 이유에 대해서 알아보자. impo..
2021.08.23 -
[인프라 엔지니어의 교과서] 5장 - 스토리지 (스토리지)
진화 방향 대용량화 고속화 고도화 스토리지 데이터를 저장하는 장치 로컬 스토리지 (서버 내부의 저장 영역) 외부 스토리지 (서버 외부의 저장 영역) 서버에 직접 연결 DAS 네트워크를 통해 연결 NAS SAN 로컬 스토리지 서버 내부에 디스크를 설치해서 이용하는 저장 영역 장점 설치 공간 절약 가능 단점 설치할 수 있는 디스크 개수와 확장성이 적음 외부 스토리지 서버 외부에 준비한 스토리지 장비, 스토리지 영역 DAS Direct Attached Storage 특징 서버에 직접 연결하는 스토리지 장비 많은 디스크 설치 가능 스트라이핑 수가 많은 RAID로 구성해서 디스크 I/O 성능을 높일 수 있음 DAS의 논리 드라이브를 내장 디스크의 논리 드라이브로 인식 DAS와 내장 디스크를 구분하지 않고 똑같은 ..
2021.08.22