본문 바로가기

IT106

파이썬을 활용한 NoSQL 몽고디비(MongoDB) 및 Redis TPCC 테스트 소개 및 python 코드 분석 과정 이번 글에서는 파이썬을 이용하여 NoSQL인 몽고디비의 TPCC(Transaction Processing Performance Council)를 테스트하는 오픈소스 프로젝트인 py-tpcc에 대해 소개합니다. 특히, 이 소스코드는 MongoDB와 Redis를 대상으로 TPCC 테스트를 수행하는 기능을 포함하고 있습니다. 우선, 우리는 Redis TPCC 테스트 코드가 포함된 이 소스코드가 어디 있는지 알려드릴 것입니다. 해당 코드는 몽고DB의 GitHub에 존재하는 MongoDB의 TPCC 테스트 코드로, MongoDB에서는 이 코드를 활용하여 TPCC가 잘 동작함을 보여줍니다. 이를 통해 MongoDB와 Redis의 TPCC 성능을 측정하면 다른 일반 DBMS인 MariaDB나 Altibase, Cub.. 2024. 3. 20.
레디스(Redis) 서버 캐시 데이터베이스 데이터 타입의 이해와 명령어 예제 (파이썬 사용예) Redis는 데이터 구조 서버입니다. Redis는 캐싱에서 큐, 이벤트 처리에 이르기까지 다양한 문제를 해결하는 데 도움이 되는 기본 데이터 유형을 핵심으로 제공합니다. 이 글에서는 데이터 유형에 대한 간략하게 설명합니다. Table Of Contents Redis에서 지원하는 데이터 타입 String(문자열) Redis 문자열 소개 Redis 문자열 테스트 예제 Redis Lists 기본 명령 Blocking 명령어 List 예제 리스트에 대한 이해 제한된 목록(capped lists) 성능 Redis Sets Redis Set 기본 명령 레디스 Set 예제 Redis hashes 기본 명령 Sorted sets Streams Geospatial indexes Bitmaps Bitfields Hyper.. 2024. 3. 19.
레디스(Redis) 파이프라이닝(Pipelining)이란? Redis는 명령을 일괄 처리하여 왕복 시간을 최적화하는 방법인 파이프라이닝을 제공합니다. Redis 파이프라이닝은 개별 명령에 대한 응답을 기다리지 않고 여러 명령을 한 번에 실행하여 성능을 개선하는 기술입니다. 파이프라이닝은 대부분의 Redis 클라이언트에서 지원됩니다. 이 문서에서는 파이프라이닝이 어떤 문제를 해결할 수 있는지와 Redis에서 파이프라이닝이 작동하는 방식에 대해 설명해 드리도록 하겠습니다. Table Of Contents 요청/응답 프로토콜 및 왕복 시간(RTT: round-trip time) Redis Pipelining 파이프라이닝이 중요한 이유 Redis 파이프라이닝 성능 측정을 통한 실제 성능 요청/응답 프로토콜 및 왕복 시간(RTT: round-trip time) Redis.. 2024. 3. 14.
레디스(Redis) 키 공간(Keyspace)과 사용법 - 키 만료(expiration), 스캔, 변경, 질의 오늘은 Redis를 사용하기 위한 공식 개발자 가이드에 대해서 하나씩 살펴보도록 하겠습니다. Table Of Contents 개요 Redis Keyspace Redis Key 특징 Redis Key 규칙 Redis Key space 변경 및 쿼리하기 Key space 기본 명령 Key expiration Keyspace 검색하기 Scan Keys 개요 레디스에는 테이블이나 컬렉션과 같은 개념 자체가 없습니다. 그래서 모든 것은 키로 관리되는데 사용 방식을 익힐 필요가 있습니다. 주요 내용은 다음과 같습니다. Keyspace(키 공간) (*이 문서) Redis에서 키 관리하기: 키 만료, 키 공간 스캔, 변경 및 쿼리하기 Redis의 클라이언트 측 캐싱 Redis의 서버 지원, 클라이언트 측 캐싱 Redi.. 2024. 3. 14.
[Python] 파이썬 자료형과 예제 - datatype, example 파이썬은 다양한 자료형을 제공하여 데이터를 다루고 저장하는 데 사용됩니다. 이 자료형들은 각각의 특징과 사용 방법이 있습니다. 이를 구조적으로 설명하고, 각 자료형의 간단한 예제를 통해 설명하도록 하겠습니다. Table Of Contents 1. 숫자형(Numbers) 2. 문자열(Strings) 3. 리스트(Lists) 4. 튜플(Tuples) 5. 딕셔너리(Dictionaries) 6. 집합(Sets) 1. 숫자형(Numbers) - 정수형(int): 정수 값을 나타냅니다. 예를 들어, 1, 100, -50 등이 있습니다. - 부동소수점형(float): 소수점을 포함하는 수를 나타냅니다. 예를 들어, 3.14, 2.718 등이 있습니다. # 정수형 예제 integer_number = 10 # 부동소수.. 2024. 3. 13.
오픈소스 큐브리드(CUBRID) 우분투 리눅스(Ubuntu Linux)에서 파이썬(python) 연동하기 지난 포스팅에서 국산 오픈소스 RDBMS인 큐브리드를 우분투 리눅스에 설치하고 데이터베이스 생성 및 사용자까지 만들어 보았습니다. 이번 시간에는 우분투 리눅스에서 cubrid를 파이썬 언어로 연동하는 법을 알아보도록 하겠습니다. Table Of Contents 1. CUBRID unix용 ODBC 드라이버 미지원 2. CUBRID의 python 드라이버 다운로드 3. CUBRID의 python 드라이버 설치하기 큐브리드 파이썬 드라이버 컴파일해서 설치하기 pip를 통한 설치 4. 파이썬으로 큐브리드 데이터베이스 접근하기 테이블 생성 프로그램 작성 1. CUBRID unix용 ODBC 드라이버 미지원 처음에는 unixODBC를 이용해서 pyodbc를 연동하려고 했는데, cubrid가 unix용 odbc 드.. 2024. 3. 13.
오픈소스 RDBMS 큐브리드(CUBRID) 사용하기 - 데이터베이스 생성, CSQL 사용법, User 생성 및 변경 조작 지난시간에는 국산 오픈소스 RDBMS인 큐브리드를 설치해보았습니다. 오늘은 큐브리드를 사용하여 간단하게 DB를 만들고 테스트하는 방법을 알아보겠습니다. Table Of Contents CUBRID DB 생성하기 CUBRID 데이터베이스 시작 CUBRID 대화형 작업 도구를 통한 기본 명령 수행 테이블 조회, 생성, 삭제 admin 접속 및 User 생성 admin(관리자, DBA) 모드 사용자 생성 큐브리드 설치하는 법 보러 가기 우분투에서 CUBRID를 처음 사용하는데 참고할 수 있는 간략한 사용법을 알아보기 위해서, 큐브리드 매뉴얼의 "CUBRID 서비스 시작하기" 항목을 참고하여 테스트 해보겠습니다. 해당 페이지는 아래의 링크를 참고하시면 됩니다. 시작하기 — CUBRID 11.3.0 documen.. 2024. 3. 12.
우분투 리눅스에 오픈소스 RDBMS인 CUBRID 설치하기 - ubuntu linux open source rdbms install cubrid는 국내에서 서비스 중인 오픈소스 RDBMS입니다. 오픈소스로 공개된 후 오랫동안 서비스되고 있어서 테스트를 해 보고 싶어 졌습니다. 오늘은 우분투 리눅스에 cubrid dbms를 설치하는 법 알아보겠습니다. Table Of Contents CUBRID 소개 CUBRID 패키지 다운로드 하기 cubrid 계정 생성 cubrid 설치 cubrid 설치 파일 업로드 cubrid 설치 매뉴얼 cubrid 설치 전 확인사항 추가로 필요한 라이브러리 확인 CUBRID 설치 CUBRID 소개 CUBRID는 오픈 소스 관계형 데이터베이스 관리 시스템(DBMS)입니다. CUBRID는 엔터프라이즈 시장에서 요구하는 대용량 데이터 처리 능력 및 성능, 안정성, 가용성, 관리 편의성을 제공하고 있습니다. CUBR.. 2024. 3. 11.
Ubuntu Linux에서 MariaDB ODBC 드라이버 업데이트 하기 - CentOS, RockyOS, RHEL, Debian MariaDB 커넥터/ODBC는 Linux 배포판의 경우 바이너리 tarball로 제공됩니다. 이 글에서는 우분투 리눅스에서 MariaDB의 ODBC를 공식 사이트에서 다운받아서 설치하는 법을 알아봅니다. 1. Linux (Binary Tarball) 다운로드 먼저 MariaDB Connector/ODBC download page로 가서 원하는 버전의 Tarball을 다운받아야 합니다. 다운 받기 전에 mariadb의 버전을 확인합니다. mariadb의 버전은 -V(대문자) 옵션을 주면 확인 가능합니다. $ mariadb -V mariadb Ver 15.1 Distrib 10.6.16-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper 우분투 버.. 2024. 3. 11.
우분투에서 Mariadb ODBC 드라이버 메모리 오류 분석하기 mariadb를 python에서 테스트하기 위해서 pyodbc를 이용해서 tpcc 테스트를 진행중입니다. 그런데, mariadb odbc 드라이버에서 메모리 할당 오류가 발생합니다. 먼저 문제를 확인하기 위해서 두 가지 방법을 사용해서 메모리 문제를 확인해본 후 드라이버를 업데이트하게 되었습니다. 이 글에서는 dbms 라이브러리에서 발생하는 메모리 오류 문제를 분석하는 과정을 기록합니다. Table Of Contents 1. ODBC driver를 사용하는 프로그램에 MALLOC_CHECK_ 확인하기 2. valgrind 확인해보기 분석 결론 1. ODBC driver를 사용하는 프로그램에 MALLOC_CHECK_ 확인하기 glibc 라이브러리에서 메모리 오류를 확인하고 처리하는 방법을 제어하는 주요 환.. 2024. 3. 5.
linux에서 메모리 오류 문제 분석하기 - glibc malloc check, valgrind mariadb를 python에서 테스트하기 위해서 pyodbc를 이용해서 tpcc 테스트를 진행중입니다. 그런데, mariadb odbc 드라이버에서 메모리 할당 오류가 발생합니다. 실제 다양한 프로그램을 테스트하다보면 메모리 관련 오류를 만날 수 있습니다. 이 경우에 할 수 있는 두 가지 방법을 알아보도록 하겠습니다. Table Of Contents 1. glibc malloc_check_ 환경변수 malloc_check_ 테스트 코드 malloc_check_ 테스트 결과 2. valgrind Valgrind 설치 예제코드 프로그램 컴파일 Valgrind 실행 결과 분석 1. glibc malloc_check_ 환경변수 glibc 라이브러리에서 메모리 오류를 확인하기 위해 설정할 수 있는 주요 환경 변.. 2024. 3. 5.
디자인 전공자를 위한 가격을 고려한 프리미엄 노트북 추천 산업디자인 분야나 영상편집 분야에서 사용할 프리미어 노트북을 선택할 때, 성능, 화면 품질, 휴대성을 모두 고려하는 것이 좋습니다. 많은 분들은 CPU는 인텔을 선호하시고 SSD는 512GB 이상을 고려하는 것 같습니다. 이런 요구사항을 모두 맞춘 프리미어 노트북을 추천드리겠습니다. 특히 디자인 분야에서는 그래픽 작업, 3D 모델링, CAD 프로그램 등을 사용하게 됩니다. 이러한 작업에는 CPU, RAM, 그래픽 카드가 중요합니다. 오늘 제가 추천드리는 아래 노트북은 프리미어 제품들 중에서도 성능과 가격을 균형 있게 갖춘 제품들입니다. Table Of Contents 1. Dell G15 5520 i7과 i9 가성비 그래픽 성능 내구성과 발열 관리 디자인과 화면 품질 2. ASUS ROG Zephyrus.. 2024. 3. 1.