본문 바로가기

데이터베이스7

DBMS 연결 및 쿼리 처리 방법 (파이썬) 00 개요회사에서 이런 저런 DBMS를 다루다보니 여러가지 오픈소스 RDBMS를 파이썬으로 다루게 되었는데 이에 대해 기본적인 연결 방법 및 쿼리 처리 방법에 대해 정리하고자 함다양한 DBMS에서 Python으로 connection과 cursor를 생성하고 닫는 방법에 대한 정리MySQL, PostgreSQL, SQLite, Oracle(유료), Microsoft SQL Server, Vertica (유료)주요 DBMS마다 사용하는 Python 라이브러리가 다르므로, 각 DBMS별로 필요한 방법을 구체적으로 설명01 MySQL (MySQL Connector/Python)1. 설치pip install --upgrade mysql-connector-python2. 코드 예시import mysql.connec.. 2024. 9. 5.
5 실습2 기능 고도화 User 테이블 생성 앞 단계 참조 링크:상태 코드:  2024.03.26 - [Web 개발/FAST API (인프런 강의 내용)] - 1 FastAPI 알아보기프로젝트 소개 및 환경 구축: 2024.04.05 - [Web 개발/FAST API (인프런 강의 내용)] - 1 실습1 GET API 전체조회1 실습1 GET API ToDo 전체 조회: 2024.04.05 - [Web 개발/FAST API (인프런 강의 내용)] - 1 실습1 GET API 전체조회1 실습2 GET API ToDo 단일 조회: 2024.04.09 - [Web 개발/FAST API (인프런 강의 내용)] - 1 실습2 GET API 단일조회1 실습3 POST API ToDo 생성: 2024.04.15 - [Web 개발/FAST API (인프런 강의 .. 2024. 8. 15.
Replication/Replica (데이터 백업 수단) 01 Replication이란1. 정의사전적인 의미로 '복제, 대답, 응답'DB에서는 DB 처리의 효율화와 백업의 수단원본 데이터베이스(original - master)를 복사(replica - slave)해서 동일한 데이터를 가지고 있는 DB를 항상 다른 서버에 준비해 놓는 것즉, 처리를 분산시킴2. 용도백업용Master의 DB와 그로부터 복사된 Slave의 DB는 동일하기에 Master에 문제가 생겼을 경우 Slave는 Master가 하던 일을 떠맡도록 하면 다시 시스템을 정상적으로 가동하는 데 소비되는 시간 절약 가능역할 분산예시: Master가 테이블의 변경 처리 (예, UPDATE tb SET number='B103' WHERE sales>=50; 이나 INSERT INTO tb1(number,.. 2024. 6. 12.
2 실습4 ORM 모델링 앞 단계 참조 링크:2 데이터베이스: 2024.04.24 - [Web 개발/FAST API (인프런 강의 내용)] - 2 데이터베이스 2 실습1 MySQL 컨테이너 실행 (docker): 2024.04.24 - [Web 개발/FAST API (인프런 강의 내용)] - 2 실습1 MySQL 컨테이너 실행 (docker)2 실습2 MySQL 접속 및 사용: 2024.04.25 - [Web 개발/FAST API (인프런 강의 내용)] - 2 실습2 MySQL 접속 및 사용 2 실습3 데이터베이스 연결: 2024.04.25 - [Web 개발/FAST API (인프런 강의 내용)] - 2 실습3 데이터베이스 연결00 개요목적: 데이터베이스 테이블을 sqlalchemy의 ORM을 이용해 모델링을 하는 실습 진행01.. 2024. 5. 2.
2 실습3 데이터베이스 연결 00 개요목적: sqlalchemy를 이용하여 앞서 생성한 데이터베이스와 Python project를 연결하는 실습 진행01 데이터베이스 연결0. 환경mysql에 접속하고 있다면 Ctrl + Z 해서 접속 해제한 후 진행하기가상환경 활성화하기$ source ~/Desktop/projects/todos/bin/activate # 강사님$ source ~/Desktop/projects/todos/Scripts/activate # 나# 잘 작동하는지 확인(todos)$ python --versionPython 3.12.11. 필요한 library 설치: sqlalchemy,  pymysql, cryptography(todos)$ pip install sqlalchemy(todos)$ pip install py.. 2024. 4. 25.
2 데이터베이스 00 개요 앞서 ToDo 프로젝트에서 ToDo를 새로 생성하거나 ToDo의 완료 여부 수정 시 데이터를 영구적으로 저장하기 위해 데이터베이스가 필요 01 데이터베이스란 1. 정의 대량의 데이터를 영구적으로 저장/관리하기 위한 시스템 2. 분류 1) 관계형 데이터베이스 (Relational Database, RDB) 관계형 모델에 기반해서 데이터를 테이블, 행, 열 구조 (스키마 구조)로 관리 (Schemaful) Microsoft Excel을 떠올리면 됨 데이터의 일반성 유지가 용이하여 법명적으로 많이 이용됨 예) Oracle, MySQL, PostgreSQL, Sqlite, etc. 실습에서는 MySQL 사용할 것 2) 비관계형 데이터베이스 (NoSQL) 관계형 데이터베이스가 아닌 데이터베이스 종류가 .. 2024. 4. 24.
Vertica 소개 00 Vertica란 분석 데이터베이스 플랫폼"이벤트 및 시계열 패턴 매칭, 지리 공간, in-database 머신 러닝을 아우르는 광범위한 분석 기능을 갖춘 대규모로 확장 가능한 아키텍처를 기반으로 하는 통합 분석 플랫폼"주요 퍼블릭 클라우드와 온프레미스 데이터 센터에 통합 분석 플랫폼을 제공하고 데이터를 이동하지 않고도 클라우드 객체 스토리지 및 HDFS에 데이터 통합 가능01 Vertica 장단점1. 장점최대 90%의 데이터 압축률로 10~30배 더 많은 데이터를 동일한 비용으로 저장 가능모든 데이터 분석 가능650개 이상의 in-database 분석 기능 (이벤트 및 시계열 패턴 매칭, 지리 공간, in-database 머신 러닝 등)을 갖춤can be extended to accomodate u.. 2024. 3. 20.