본문 바로가기

SingleStoreDB118

[Support Bulletin 05] - Red Hat 9.2 Memory 할당 에러 안녕하세요 에이플랫폼 입니다.이번 글에서는 RHEL 9.2 버전의 OS 커널에서 발견된 메모리 할당 관련 버그와 이로 인해 발생할 수 있는 문제를 소개해 드리겠습니다. 📌개요Red Hat Linux 9.2 버전에서 SingleStore를 사용하던 중 시스템의 가용 메모리가 충분함에도 불구하고 종종 다음과 같이 메모리를 할당할 수 없다는 에러가 발생하는 사례가 있었습니다.ERROR 1712 (HY000): Leaf Error (127.0.0.1:3307):The operating system failed to allocate memory (MemSQL memory use 8927.00 Mb) 해당 에러는 특정한 작업에서만 발생하는 것이 아니라 Select, Load Data 명령과 같은 데이터 처리 명령.. 2025. 2. 19.
[Support Bulletin 04] - SingleStore Pipeline을 활용한 고속 CDC 적용 – Kafka Sink Connector의 한계를 넘어서다 안녕하세요, 에이플랫폼의 Support Bulletin 시리즈입니다.오늘은 타 DB에서 SingleStore로 실시간 데이터를 연동하는 방법을 다뤄보겠습니다. 📌개요다양한 CDC(Change Data Capture) 솔루션은 Source Connector로 동작하며, 소스 데이터베이스의 변경 사항을 Kafka Topic으로 Publish할 수 있습니다. 이렇게 전달된 변경 정보는 일반적으로 Kafka Sink Connector를 사용해 타겟 데이터베이스에 적용됩니다.하지만, Kafka Sink Connector는 보통 단일 인스턴스로 동작하기 때문에 운영 시스템에서 병렬로 발생하는 수많은 변경 사항을 SQL을 통해 반영하는 과정에서 성능 저하가 발생할 수 있습니다. 결과적으로 Lag 증가를 피하기 어려.. 2025. 2. 10.
[Support Bulletin 03] - Kafka Pipeline 의 zstd 압축 포맷 지원 안녕하세요 에이플랫폼의 Support Bulletin 시리즈 입니다.벌써 세 번째 시간인데요 오늘은 조금은 색다르게 해볼 예정 입니다.앞서 올려드린 Kafka 클러스터와 SingleStore 클러스터 구축 글을 통해직접 따라서 해보실 수 있게끔 준비했습니다.그럼 SingleStore의 기능인 Kafka Pipeline에 대해서 설명 드리겠습니다.📌개요실시간 데이터 스트리밍 플랫폼인 Kafka 는 Topic 에 전달하는 메시지 포맷으로 비압축 일반 데이터를 포함하여 gzip, lz4, snappy, zstd 등 다양한 알고리즘에 의한 압축 형태를 지원합니다.Kafka 토픽에 전달되는 메시지를 실시간으로 테이블에 적재하는 기능인 SingleStore Kafka Pipeline 에서도 별도의 설정 없이 위의.. 2025. 2. 4.
SingleStore 클러스터 구축 안녕하세요 에이플랫폼 입니다.오늘은 후술할 Kafka 관련 테스트를 하기 위해 싱글스토 클러스터를 구축하는 방법을 소개해 드리겠습니다. 📌테스트 환경Virtual Machine을 사용했습니다.OS: Rocky 9.54 CPU / 8 GB RAM간단하게 설치 후 SingleStore Kafka Pipeline 실습을 위한 목적입니다.1 Host / 1MA + 1LF 구성 입니다.1. 사전 작업1.1. SELINUX 끄기# 아래와 같은 상태라면 OK~[jwy@kafka ~]$ sestatusSELinux status: disabled# 만일 아래와 같다면[jwy@kafka ~]$ sestatusSELinux status: enabledSELinuxf.. 2025. 2. 4.
카프카(kafka) 싱글 노드 클러스터 구축 안녕하세요 에이플랫폼 입니다.오늘은 후술할 Kafka 관련 테스트를 하기 위해 카프카 싱글 노드 클러스터를 구축하는 방법을 소개해 드리겠습니다. 📌테스트 환경Virtual Machine을 사용했습니다.OS: Rocky 9.54 CPU / 8 GB RAM간단하게 설치 후 SingleStore Kafka Pipeline 실습을 위한 목적입니다.1. 사전 작업1.1. 필수 종속 패키지 설치JAVA RUNTIIME⚠️ Java 8 이상 버전을 설치해야 합니다.- 확인# 현재 java 설치 전 [jwy@kafka ~]$ java -version -bash: java: command not found- 설치# java 검색 [jwy@kafka ~]$ dnf search java | grep headless Roc.. 2025. 2. 3.
[Support Bulletin 02] - SingleStore JDBC 및 rewriteBatchedStatements 옵션 사용 시 Parameter Capacity 초과 에러 안녕하세요 에이플랫폼의 Support Bulletin 시리즈입니다.이번에는 DBMS를 사용할 때 중요한 요소인 JDBC와 ODBC에 관련한 에러 상황을 준비 했습니다.  🙌안내 사항! SingleStore 는 MySQL 과 Wire Compatible 하므로 MySQL Client 또는 MySQL Driver 를 사용해도 대부분의 경우 큰 무리가 없습니다. ! 하지만 기능 및 성능에서 도움이 되기 때문에 SingleStore 에서 직접 제공하는 SingleStore Driver 를 사용하는 것이 권장됩니다.📌개요SingleStore JDBC Driver 의 특정 버전과 MySQL, MariaDB Driver 에서 rewriteBatchedStatements 옵션을 설정하면 다음과 같이 Paramete.. 2025. 1. 16.
[Support Bulletin 01] - SingleStore Service Autostart 실패 안녕하세요 에이플랫폼 입니다.이번에 처음 선보이는 Support Bulletin 시리즈입니다.고객 지원 사례와 관련 정보들을 모아 시리즈로 작성하게 되었습니다. 발행은 비정기적으로 발행될 예정입니다.아무래도 공개가 가능한 정보들로 글을 작성해야 하기 때문에...그래도 앞으로 꾸준히 발행될 예정이니 많은 관심 가져주시면 감사하겠습니다.📌개요SingleStore 설치 시 대부분의 경우 일시적인 Node Failure 에 대비하기 위해 자동 시작하도록 설정하는 것을 권장하고 있습니다. 예를 들어 다음과 같은 명령어를 사용하여 모든 Aggregator 및 Leaf 노드에서 SingleStore Daemon 을 자동 시작하게 설정합니다.$ sdb-admin enable-nodes-autostart --host .. 2025. 1. 13.
케이뱅크 - 금융정보제공(FID)시스템 SingleStoreDB 도입 사례 케이뱅크에서 운영 중인 금융정보제공(FID)시스템에서 사용되는 DBMS가 SingleStoreDB로 전환되어 그 과정을 공유한 글이 있어 소개드립니다.​* DBMS 전환 배경- FID시스템의 Data 양이 기하급수적으로 늘어나면서 동일한 SQL 명령어를 수행하더라도 절대적인 Data Scan양이 증가하여 성능저하 발생- SQL Tuning, Index 추가, Scale-Up 등 다방면으로 개선해 봤지만 전통적인 RDBMS의 구조적인 한계가 있었고 날이 갈수록 늘어나는 Data의 양으로 인한 스토리지 비용증가​* SingleStoreDB PoC 결과# 빠른 집계-Slow Query(단위 : 초)작업 유형MySQL(5.7.x)SingleStore(8.5.x)퍼포먼스 비교A Query30만 건 이상7개 테이블.. 2024. 10. 10.
Row Generation 튜닝#1 - SingleStore ※ 테스트 장비 사양 - 8vCPU, 16GB​이전 포스트에서 SingleStore 의 Row Generation 은 7억건에서 메모리 부족 에러가 발생했습니다.그 이유는 create_array 및 table 로 변환한 모든 row 를 대상으로 row_number() 함수로 정렬을 수행하기 때문에 부가적인 메모리가 더 필요하기 때문입니다. 물론 정렬 작업 때문에 시간도 조금 더 필요합니다. create or replace function gen_rows(n bigint)returns table as returnselect row_number() over () as rn from table(create_array(n):>array(bigint)); 이제 정렬이 필요없도록 튜닝을 해보겠습니다.먼저 to_ar.. 2024. 1. 18.