본문 바로가기

에이플랫폼132

[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.
타임게이트, 한국은행과 ‘데이터 레이크 구축사업’ 체결에 SingleStoreDB 도입 결정 타임게이트, 한국은행과 ‘데이터 레이크 구축사업’ 체결 ​ 실시간 데이터 처리 위해 싱글스토어DB 도입 결정 ​ “싱글스토어DB 표준SQL 기반 모든 워크로드 처리” ​ 관련 기사입니다. ​ 테크데일리 ​ https://lnkd.in/gfVu8bUX ​ 전자신문 ​ https://lnkd.in/gPUz29sD 2024. 2. 6.
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.
Row Generation 성능 비교 - SingleStore, Oracle, MySQL, PostgreSQL 🎯 개요​이전 포스트에서 Row Generation 방법을 소개해 드렸습니다.2024.01.04 - [연구노트] - Row Generation - SingleStore, Oracle, MySQL PostgreSQL이번 포스트에서는 각 DB 마다 Row Generation 성능을 간단하게 비교하도록 하겠습니다.비교 테스트에 사용한 장비는 8vCPU, 16GB 의 사양으로 Hands-On 테스트에 사용했던 장비를 그대로 사용하였고 여기에 Oracle XE 21c 를 추가로 설치했습니다.​​🎯 OracleOracle XE 21c는 SGA+PGA 합쳐서 2GB 를 넘지 못하도록 제약이 걸려 있습니다. 따라서 불가피하게 PGA가 3000MB 로 설정되어 있는 Autonomous Database 에서도 같이 테.. 2024. 1. 12.
Row Generation - SingleStore, Oracle, MySQL PostgreSQL 🎯 Row Generation​이번 포스트에서는 임의의 n개 row 를 생성하는 방법을 알아 보겠습니다.​🎯 Oracle​Oracle 에서는 Hierarchical Query 를 이용해서 임의의 row 를 생성합니다. SQL> select rownum from dual connect by level   Recursive With 구문을 이용해서 MySQL 처럼 row 를 생성할 수도 있습니다.​🎯 MySQL​MySQL 8.0 이상에서는 Recursive CTE 를 이용하여 임의의 row 를 생성합니다. with recursive t(n) as ( select 1 as n union all select n+1 as n from t where n    🎯 PostgreSQL​PostgreS.. 2024. 1. 4.
SingleStore Hands-On #6 Unlimited Storage Database 🎯 개요SingleStore 는 데이터베이스를 생성할 때 Local Database 또는 Unlimited Storage Database(USD) 를 선택할 수 있습니다.▶ Local : SingleStore 클러스터가 설치된 장비▶ Unlimited Storage : SingleStore 클러스터 외부의 Object Storage​이번 테스트에서는 Unlimited Storage 의 개념 파악 및 기능 테스트를 수행해 보도록 하겠습니다. 🎯 Unlimited StorageUnlimited Storage 를 선택하면 데이터베이스의 크기에 제한이 없어집니다. 그래서 Bottomless 데이터베이스라고 불리기도 합니다. Unlimited Storage Database 를 생성하면 실제 데이터는 지정된 C.. 2023. 12. 28.
SingleStore Hands-On #5 Online Scale Out/In 🎯 개요SingleStore 는 분산(Distributed) 데이터베이스로 Shared Nothing 구조를 가지고 있습니다. 따라서 현재 시스템보다 더 높은 성능이 요구될 때 쉽게 수평 확장(Scale Out)할 수 있는 것이 큰 장점입니다.​이번 테스트에서는 k6 성능테스트 툴로 Data API 를 이용해 트랜잭션이 실행되는 도중에 온라인으로 수평 확장(Scale Out) 및 축소(Scale In) 작업을 수행하도록 하겠습니다.​실제 SingleStore 입장에서는 Leaf Node 를 추가/삭제하는 작업을 수행합니다.​🎯 gnuplot 설치SingleStore 클러스터가 온라인 상태에서 Leaf 노드를 추가/삭제할 동안 성능의 변화를 파악하기 위해 k6 실행 결과를 csv 로 로깅할 것입니다.로.. 2023. 12. 21.