본문 바로가기

IT117

DBMS 성능 테스트 모델 TPC-C에 대해서 - Altibase, Mariadb, MySQL, Oracle, NoSQL 등 트랜잭션 처리 성능 위원회(TPC)는 트랜잭션 처리 시스템의 성능과 가격 대비 성능을 측정하는 벤치마크 시리즈 중 세 번째 벤치마크 입니다. 오늘은 TPC-C의 개요에 대해서 알아보고 어떤 것인지 그리고 스펙 문서 공유 및 링크도 정리해 보았습니다. Table Of Contents TPC-C 벤치마크 개요 - 주문 입력 벤치마크 벤치마크 모델(The Benchmark Model) 시나리오 OLTP 기능 및 복잡도 - More OLTP Features and Complexity 성능 측정 - A Measure of Business Throughput TPC-C 스펙 문서 다운로드 TPC-C 벤치마크 개요 - 주문 입력 벤치마크 TPC의 첫 번째 벤치마크인 TPC-A와 마찬가지로 새로운 TPC 벤치마크 C,.. 2024. 2. 19.
python으로 Altibase DBMS 성능 테스트 하기 - py-tpcc로 altibase tpcc 테스트하는 법 일반 dbms를 사용중인데, 성능이 문제가 되는 경우가 발생하였습니다. 그런데, NoSQL 종류의 DBMS들과 비교를 해 보고 싶어서 온라인 OLTP 트랜잭션 성능을 측정하는 tpcc 테스트를 통해 비교하고 싶었습니다. 그런데, NoSQL류와 mariaDB나 altibase와 같은 일반 DBMS를 비교할 수 있는 것을 찾아보다가 py-tpcc를 알게되었습니다. 오늘은 py-tpcc로 altibase dbms의 성능을 측정하는 방법을 알아보겠습니다. Table Of Contents py-tpcc란? py-tpcc로 Altibase 성능 측정을 위한 사전 준비 Altibase 성능 측정을 위한 py-tpcc 소스코드 다운로드 py-tpcc로 Altibase 성능 테스트 pytppc로 altibase 테스트 .. 2024. 2. 16.
구글(Google) AI 제미나이(Gemini) 사용기 - 바드에서 바뀌었어요 오늘은 구글에서 내놓은 AI인 바드의 후속작인 제미나이에 대해서 알아보려고 합니다. 제미나이는 구글에서 멀티모달이 가능한 생성형 AI로 많은 홍보를 하였습니다. 하지만, 여전히 챗지피티(chatGPT)에 밀려서 인기를 끌고 있지는 못한 것 같습니다. Table Of Contents 구글 바드(Bard) VS 챗지피티(chatGPT) 제미나이(Gemini)의 특징 제미나이(Gemini)에게 멀티모달 질문하기 구글 바드(Bard) VS 챗지피티(chatGPT) 사실 저도 이전에 구글의 바드를 사용해 보고 챗지피티와 구글 바드를 비교해 보았는데, 이전 버전은 확실히 챗지피티의 "승"이었습니다. 저는 개발을 하고 있어서 개발 문제를 동일하게 챗지피티와 구글 바드에게 시켰는데, 챗지피티만 정답을 내 주었고, 바드.. 2024. 2. 15.
python으로 NoSQL tpcc 성능 테스트 하는 법- OLTP, TPC-C mongodb는 database는 아니지만, tpcc와 유사한 애플리케이션을 동작할 수 있습니다. 그래서, 이를 테스트해보기 위해 py-tpcc라는 python 오픈소스 코드를 사용해서 OLTP() 성능을 비교해 볼 수 있습니다.Table Of ContentsOLTP 란?TPCC 란?py-tpcc 오픈소스py-tpcc 몽고디비(MongoDB) 테스트OLTP 란?OLTP는 "Online Transaction Processing"의 약어입니다. 이는 데이터베이스 관리 시스템의 한 유형으로, 대량의 짧고 빠른 트랜잭션을 처리하는 데 최적화되어 있습니다. 이러한 트랜잭션은 일반적으로 데이터베이스의 작은 부분에만 영향을 미치며, 각 트랜잭션은 독립적으로 실행됩니다. OLTP 시스템은 일반적으로 실시간 비즈니스 트.. 2024. 2. 14.
파이썬 가상환경(venv)이란?- 생성, 활성화, 비활성화, 삭제하는 방법 venv는 파이썬의 가상 환경을 생성하고 관리하는 모듈입니다. 가상 환경은 특정 프로젝트에 필요한 파이썬 버전과 패키지를 격리된 환경에서 관리할 수 있게 해줍니다. 이를 통해 서로 다른 프로젝트에서 서로 다른 파이썬 버전이나 패키지를 사용할 수 있습니다. Table Of Contents 가상 환경 생성 가상 환경 활성화 및 비 활성화 가상 환경 삭제 가상 환경 생성 파이썬의 가상환경은 3버전 이상에서는 기본으로 설치되어있으므로 바로 사용할 수 있습니다. 가상 환경을 생성하기 위해서는 아래 명령을 수행하면 됩니다. ubuntu@instance-20230810-1409:~$ python3 -m venv /path/to/new/virtual/environment 위의 명령어를 실행하면 지정한 경로에 새로운 가.. 2024. 2. 13.
Anaconda를 우분투 리눅스(ubuntu linux)에서 삭제하는 방법 python 가상환경 구성을 위해 Anaconda를 사용했었습니다. 패키지 관리가 편리하다고 생각했었는데요, 이제는 그냥 docker에 관리를 하는 것이 낫겠다고 생각하여 Anaconda를 삭제하게 되었습니다. 오늘은 Anaconda를 우분투 리눅스에서 삭제하는 방법을 알아보도록 하겠습니다. Table Of Contents 1. anaconda-clean 설치 2. anaconda-clean으로 삭제하기 3. bashrc 수정하기 1. anaconda-clean 설치 Anaconda를 삭제하는 것은 anaconda-clean을 설치후 해당 명령어로 삭제하게 됩니다. 먼저 conda install을 이용해서 anaconda-clean을 설치합니다. 중간에 Proceed를 물어보면 y를 누르고 엔터를입력합니.. 2024. 2. 13.
GDB로 파이썬 buffer overflow detected(segmentation fault) 디버깅 하는 방법 파이썬 코드를 작성 중에 buffer overflow로 core dump가 발생합니다. 파이썬에서 발생하는 문제 같지는 않고, 사용중인 ODBC 라이브러리에서 문제가 발생하는 것으로 보입니다. 오늘은 파이썬에서 C/C++ 라이브러리를 디버깅 하는 법을 알아보겠습니다. Table Of Contents 라이브러리 에러 발생 gdb를 이용한 파이썬 디버깅 라이브러리 에러 발생 unixodbc를 이용해서 odbc library를 통해서 db에 접근하는 간단한 프로그램을 테스트 중입니다. 그런데, db library에서 아래와같은 에러로 죽어버립니다. unixodbc의 trace로깅을 켜 놓았는데도 문제를 찾을 수가 없습니다. *** buffer overflow detected ***: terminated Abo.. 2024. 2. 13.
파이썬 anaconda3 가상 환경 삭제 방법 오늘은 파이썬 가상환경인 anaconda에서 가상환경을 삭제하는 방법에 대해서 알아보도록 하겠습니다. Table Of Contents Anaconda 란? Anaconda 가상환경 삭제하는 법 가상환경 확인하기 가상환경 삭제하기 가상환경 삭제 확인 Anaconda 란? Anaconda는 데이터 과학과 머신러닝을 위한 무료 오픈소스 플랫폼입니다. Anaconda는 Python과 R 언어를 위한 패키지 관리와 환경 관리를 제공하며, 수천 개의 오픈소스 패키지를 쉽게 설치하고 관리할 수 있습니다. Anaconda의 주요 기능으로는 다음과 같은 것들이 있습니다. 1. 패키지 관리: Anaconda는 데이터 과학, 인공지능, 머신러닝 등에 필요한 수천 개의 가장 기본적인 패키지를 제공합니다. 2. 환경 관리: A.. 2024. 2. 13.
flask 댓글 기능 만들기 이 글에서는 flask를 통해 댓글 기능을 구현하는 방법에 대해서 설명합니다. 댓글 기능 만들기 플라스크의 블루프린트를 사용하여 댓글 기능을 구현한 내용을 하나 씩 아래에 기술합니다. 1. 모듈 생성 및 라이브러리 설치 먼저 아래와 같이 모듈 구조를 생성하고 댓글 저장을 위한 sqlite DB 라이브러리인 Flask-SQLAlchemy를설치합니다. yourapp/ ├─ main/ │ ├── __init__.py │ └── main_routes.py ├── comments/ │ ├── __init__.py │ ├── comments_routes.py │ └── templates/ │ └── comment_section.html ├── app.py ├── demand.db └── config.py Flask.. 2024. 2. 11.
가상환경에서 파이썬 flask 앱 디버깅 하기 이 글에서는 가상환경에서 파이썬 flask 앱 디버깅 하는 방법에 대해서 설명합니다. 가상환경에서 파이썬 flask 앱 디버깅 하기 python flask 디버깅 설정하는 것은 launch.json에 아래와 같이 설정합니다. 여기서 가상환경을 적용하려면 해당 가상환경의 python인터프리터를 설정하기 위해서 pythonPath를 적용합니다. 그리고, 내 앱을 FLASK_APP에 넣습니다. 마지막으로 디렉토리를 해당 앱 실행 디렉토리로 변경하기 위해서 cwd 경로를 맞춰 줍니다. 이렇게 하고 디버깅 하면 잘 됩니다. { "version": "0.2.0", "configurations": [ { "name": "Python: Flask", "type": "python", "request": "launch",.. 2024. 2. 11.
github 인증 토큰 사용하고 password 물어보지 않게 하기 이 글에서는 github 인증 토큰 사용하고 password 물어보지 않게 하는 방법에 대해서 설명합니다. github 크리덴셜 저장소 사용하기 비밀번호 안물어보기 GitHub 인증 토큰을 사용하여 로그인하고 Git pull/push 시에 비밀번호를 물어보지 않도록 설정하려면 Git 크리덴셜 저장소(credential store)를 설정해야 합니다. 크리덴셜 저장소는 인증 정보를 저장하므로 추후에 Git 작업을 할 때마다 인증 토큰을 다시 입력할 필요가 없습니다. 다음은 Git 크리덴셜 저장소를 설정하는 방법입니다. 터미널에서 아래 명령어를 입력하여 Git 크리덴셜 저장소를 사용하도록 설정합니다. git config --global credential.helper store 이제 Git에서 원격 저장소에.. 2024. 2. 11.
오라클 클라우드 서버 ubuntu에 vsftpd 설치 및 ftp 사용 방법 이 글에서는 오라클 클라우드 서버 ubuntu에 vsftpd 설치 및 ftp 사용 방법에 대해서 설명합니다. Table Of Contents vsftpd 설치 및 설정 방화벽 및 오라클 클라우드 포트 개방 & vsftp 시작 방화벽 수신 영역 해제 오라클 클라우드 포트 개방 vsftpd 설치 및 설정 vsftpd를 설치하기 위해서는 sudo 권한으로 아래 명령을 수행하면 됩니다. sudo apt-get update $ sudo apt-get install vsftpd 위와 같이 설치하고 나면 vsftp가 실행되고 있습니다. 다음 명령으로 실행 여부를 확인합니다. $ sudo service vsftpd status 그 후에, vsftp설정 파일을 수정합니다. 저는 ipv4로 접속할 것이므로 아래와 같이 해.. 2024. 2. 8.