본문 바로가기

SingleStoreDB113

SingleStore Hands-On #4 Data API 🎯 개요RDBMS 를 사용하는 고전적인 프로그래밍 방식은 프로그램 실행 초기에 커넥션(connection) 을 열고 특정 SQL 을 처리하기 위한 커서(cursor) 를 생성한 다음 커서의 실행 결과를 페치(fetch) 하여 처리하고 커넥션을 닫는 순서로 작성되곤 했습니다.​문제는 커넥션을 맺거나 끊는 작업이 DBMS 입장에서는 상당히 무겁고 큰 비용이 발생하는 작업이라는 것입니다. 그래서 보통 일정 갯수이상의 커넥션을 미들웨어나 WAS 등에 커넥션 풀(Connection Pool) 형태로 만들어 두고 필요할 때마다 커넥션을 열고 닫는 것이 아니라 커넥션 풀에서 커넥션을 획득/반납하게 합니다.RDBMS 와 WAS 등의 미들웨어간에는 항상 커넥션이 유지되기 때문에 커넥션 생성 및 제거에 시스템 자원을 소.. 2023. 11. 23.
SingleStore Hands-On #3 동일 Query 성능 비교 - PostgreSQL, MySQL 🎯 개요이전 포스트에서 CC By 4.0 License 를 가지고 있는 Stefan Proell, Eva Zangerle, Wolfgang Gassler 가 만든 Flughafen DB가 원본인 airportdb 를 로딩했습니다.2023.11.10 - [연구노트] - SingleStore Hands-On #2 데이터 로딩  이제 설치한 각 데이터베이스 별로 동일한 Query 를 수행하여 성능을 비교해 보겠습니다. 각 Query 는 Parsing 및 Buffer Cache miss 등의 성능상 오버헤드를 제거하고자 두 번씩 연속으로 수행하고 두번째 수행 결과를 확인합니다.​Query #1, Query #3, Query #4 는 MySQL Heatwave Quickstart Page 에서 예제로 사용하는 .. 2023. 11. 17.
SingleStore Hands-On #2 데이터 로딩 🎯 개요데이터 로딩 테스트를 위해 MySQL Heatwave 에서 예제로 사용하는 airportdb 를 사용하겠습니다. airportdb 는 CC By 4.0 License 를 가지고 있는 Stefan Proell, Eva Zangerle, Wolfgang Gassler 가 만든 Flughafen DB가 원본입니다.​🚘 MySQL Data Loading먼저 MySQL 에서 airportdb 를 로딩하기 위해 다음 명령어를 수행하여 airport-db.zip 파일을 다운로드하고 압축파일을 풀어 놓습니다. wget https://downloads.mysql.com/docs/airport-db.zipunzip airport-db.zip mysqlsh 의 loadDump 유틸리티를 이용하여 16 thread.. 2023. 11. 10.
SingleStore Hands-On #1 DB 설치 : SingleStore, PostgreSQL, MySQL 💻 Linux Machine Setup​하나의 장비에 SingleStore, PostgreSQL, MySQL 을 함께 설치할 Linux Server 를 설정합니다.​장비 사양CPU : 8 vCPUMemory: 16GB (32GB 권장)HDD(SSD) : 70GB 이상O/S : Red Hat 계열 version 7(이 문서는 Oracle Linux 7 기준으로 작성되었습니다) sudo 권한 확보현재 사용하는 계정명은 opc 입니다. 이 계정에 sudo 권한을 설정할 경우 root 계정에서 다음 명령어를 수행합니다.* 이미 sudo 권한이 부여됐다면 이 스텝은 건너 뛸 수 있습니다.# visudo -f /etc/sudoers가장 아래 라인에 다음 추가 opc ALL=(ALL) NOPASSWD:AL.. 2023. 11. 2.
SingleStore 디폴트 Data 디렉토리 변경 ■ 개요SingleStore 를 cluster-in-a-box 형태로 설치하면 디폴트로 /var/lib/memsql 아래에 데이터 및 설정 파일이 위치하게 됩니다. 이 경우 O/S 의 Root 디렉토리가 사용하는 디스크 파티션을 함께 사용하기 때문에 용량 문제가 발생할 수 있습니다. 이번 포스트에서는 설치할 때 Data Directory 를 지정하는 방법과 이미 설치하고 난 뒤에 Data Directory 를 변경하는 방법을 알아보겠습니다.​이 포스트는 다음 글을 참조했습니다.https://support.singlestore.com/hc/en-us/articles/360057955312-Change-default-data-directory-path​■ 설치 시 Directory 지정설치 과정 중에 Dat.. 2023. 10. 26.
SingleStore DB Directory Layout [1] 개요그동안 SingleStore 를 설치하는 여러 내용들이 있었습니다. 이제부터는 설치된 SingleStore 의 디렉토리 구조와 각종 설정 파일들의 역할을 알아보도록 하겠습니다. 이번 포스트에서 설명할 환경은 Windows10 WSL2 를 기준으로 패키지 관리 프로그램이 디폴트이 설치한 SingleStore 를 기준으로 설명합니다. tarball 로 사용자환경에 맞게 커스텀으로 설치한 환경은 지금 설명과 많이 다릅니다. 설치하는 방법은 아래 링크를 참조하시기 바랍니다.​https://a-platform.tistory.com/124 Windows 10 WSL2 에 SingleStore 설치[1] 개요 SingleStore 는 현재 공식적으로 Intel 계열의 Linux Platform 만 지원하고.. 2023. 10. 20.
On-Premises Llama 2 및 SingleStoreDB 를 이용한 생성형 AI 프로그램 예제 이번 글에서는 On-Premises 환경에서 Llama 2 및 SingleStoreDB 를 각각 LLM 및 Vector Store 로 사용하는 간단한 예제를 소개하려고 합니다. Llama 는 Meta 에서 공개한 Open LLM 으로 API 를 이용하는 OpenAI 의 ChatGPT 와 달리 온프레미스에서 로컬 서버에 설치가 가능해 많은 인기를 누리고 있습니다. 예제에서는 GPU 없이 CPU 만으로도 모델을 실행해 볼 수 있도록 양자화된 작은 크기의 Llama 모델을 사용할 것이며 Embedding 모델 역시 HuggingFace 에서 많이 사용하는 일반적인 모델을 이용할 것입니다. 전체적으로는 Python 의 langchain 패키지를 이용해 예제를 구성할 것이며 내용은 다음 SingleStore 의 .. 2023. 10. 12.
Windows 10 WSL2 에 SingleStore 설치 [1] 개요SingleStore 는 현재 공식적으로 Intel 계열의 Linux Platform 만 지원하고 있습니다. 지난 포스트에서 Arm 계열의 M1 Mac 에 설치하는 방법을 설명할 때도 실제로는 Docker Desktop 에서 AMD64 아키텍처를 에뮬레이트(Emulate) 하도록 하여 사용할 할 수 있음을 알려드렸습니다.​이번 포스트에서는 Windows 10 에서의 SingleStore 설치 방법을 알아 보려고 합니다. Windows 10 에서는 Docker Desktop 위에 SingleStore Image를 설치하는 방법과 WSL2(Windows Subsystem for Linux 2)에 직접 SingleStore Binary 를 설치하는 두가지 방법이 있습니다. 어차피 Docker Des.. 2023. 9. 28.
M1 Mac 에 SingleStore 설치 [1] 소개SingleStoreDB 는 집계(Aggregation) 및 필터링(Filtering) 성능을 높이기 위해 Intel 의 SSE4.2 및 AVX2 명령어세트를 이용해 SIMD(Single Instruction Multiple Data) 를 구현하고 있습니다. Apple Silicon 이 탑재된 M1/M2 계열 Mac 은 Intel 이 아닌 ARM Processor 계열이기 때문에 AVX2 등의 명령어세트가 지원되지 않아 SingleStore 를 M1 Mac 에서는 설치하여 사용해 보지 못했었습니다.​M1 Mac 을 사용하는 많은 개발자들의 요청이 빈번하자 SingleStore 버전 7.8.11 부터 SIMD 와 같은 여러 최적화 기법을 다수 희생해서라도 Docker Desktop 에 Clust.. 2023. 9. 14.