SingleStoreDB144 SingleStore, 좀비 트랜잭션과 Lock 자동 정리하기 안녕하세요 에이플랫폼 입니다.데이터베이스를 운영하다 보면 가장 골치 아픈 순간 중 하나가 바로 '끝나지 않는 트랜잭션'과의 싸움일 것입니다.사용자는 이미 떠났는데 DB 세션만 남아 락(Lock)을 잡고 있거나, 리소스를 점유한 채 Idle 상태로 방치된 연결들이 쌓이면 전체 시스템의 성능 저하로 이어지곤 합니다.매번 모니터링 툴을 보며 수동으로 KILL 명령어를 날리는 것은 비효율 적입니다.오늘은 다양한 상태의 커넥션을 자동으로 감지하고 정리하여 DB의 안정성을 지켜주는 'Timeout' 설정들을 정리해 보겠습니다.Transaction & Lock Timeouts데이터베이스 운영 중 성능 저하의 주범은 사용자가 트랜잭션을 시작(Begin)한 뒤 커밋이나 롤백 없이 방치하는 경우입니다. 이러한 유휴(Idl.. 2026. 2. 10. [SingleStore] Columnstore VARCHAR 길이 확장: 리라이트 없는 DDL 성능 개선 안녕하세요! 에이플랫폼 입니다.데이터베이스를 운영하면서 가장 까다로운 작업 중 하나는, 데이터가 이미 쌓여있는 테이블의 스키마를 변경하는 일입니다. 특히 Columnstore 구조를 사용하는 SingleStore 환경에서, VARCHAR 컬럼의 길이를 변경하는 것은 구조적인 특성상 제약이 많은 작업이었습니다.하지만 SingleStore 9.0.13 업데이트를 통해 이러한 제약 사항이 일부 완화되었습니다.이번 포스팅에서는 기존의 한계를 넘어, 기존 데이터를 건드리지 않고(No Rewrite) 즉각적으로 VARCHAR를 확장할 수 있게 된 업데이트를 소개합니다.Before: 9.0.13 이전의 제약 사항SingleStore의 Columnstore 아키텍처는 뛰어난 압축률과 조회 성능을 자랑하지만 스키마 변경.. 2026. 1. 26. HAProxy와 Python을 활용한 DB 라우팅 아키텍처 (feat. SingleStore) - [Support Bulletin18] 안녕하세요! 에이플랫폼 Support Bulletin의 열여덟 번째 이야기입니다. 😊온프레미스(Self-managed) 환경에서 분산 데이터베이스를 구축하다 보면 가장 먼저 마주하는 고민이 바로 '애플리케이션과 DB를 어떻게 연결할 것인가?'입니다.단순히 포트가 열려있는지 확인하는 TCP 체크만으로는 DB 내부의 복잡한 상태(Role, Lock, Recovery 등)를 알 수가 없어서 곤란할 때가 많습니다.클라우드 서비스라면 알아서 엔드포인트를 관리해 주겠지만 직접 운영하는 환경에서는 수십 개의 노드 중 "지금 누가 마스터(Master)인지", "누가 쿼리를 처리할 수 있는지"를 정확히 판단해서 트래픽을 보내줘야 합니다.그래서 이번 시간에는 HAProxy를 이용한 L4 로드밸런싱 환경에서 간단한 Pyt.. 2025. 12. 15. SingleStore FTS2 안정화 버전 및 Broken Index 가이드 - [Support Bulletin17] 안녕하세요! 에이플랫폼 Support Bulletin의 열일곱 번째 이야기입니다. 😊데이터베이스에서 빠르고 유연한 텍스트 검색 기능을 구현하는 것, 많은 분들이 고민하는 지점일 텐데요. SingleStore의 Full Text Search 2(FTS2)는 이런 강력한 전문 검색 기능을 제공하는 핵심 기술입니다.그런데 막상 FTS2를 도입하려고 할 때 "왜 제대로 동작하지 않지?"라며 예상치 못한 난관에 부딪히는 경우가 종종 있습니다. 😥 최소 요구 조건을 충족하지 못했거나, 일부 하위 버전 환경에서는 FTS기능이 안정화 되지 않았습니다. 그리고 특정 조건에서 인덱스가 생성되지 못하는 'Broken Index' 문제가 발생하기도 합니다.이번 Support Bulletin에서는 저희가 직접 경험하고 해결.. 2025. 11. 28. SingleStore vs PostgreSQL: 이스케이프 문자 처리 방식 차이 - [Support Bulletin 16] 안녕하세요! 에이플랫폼 Support Bulletin의 열여섯 번째 이야기입니다. 😊이번 시간에는 데이터 적재 시 '∖' (역슬래시) 문자가 일으키는 예상치 못한 오류에 대해 이야기해 보려 합니다.이 문제는 '데이터 자체'의 결함보다는, 데이터베이스마다 SQL 표준을 구현하고 문자열을 해석하는 방식이 미묘하게 다르기 때문에 발생합니다. 특히 이스케이프 문자(Escape Character)인 ∖ 의 처리 방식이 대표적인 예시이죠.그래서 이번 글에서는 SingleStore와 PostgreSQL이 ∖ 문자를 파싱(Parsing)하는 메커니즘이 어떻게 다른지, 그리고 그 차이가 실제 데이터 적재 과정에서 어떤 문제를 일으켰는지 실제 사례와 함께 해결 과정을 공유해 드리고자 합니다. 문제는 PostgresSQL.. 2025. 10. 27. SingleStore 테이블 복사 완벽 가이드: CTAS, Deep Copy, Shallow Copy 비교 분석 안녕하세요! 에이플랫폼입니다. 👋데이터를 다루다 보면 기존 테이블을 복제해야 하는 순간이 찾아옵니다.SingleStore는 이러한 작업을 위해 여러 가지 효율적인 테이블 복사 방법을 제공합니다.그중에서도 가장 대표적인 CTAS (CREATE TABLE AS SELECT), Deep Copy, 그리고 Shallow Copy는 각각의 특징과 장단점이 뚜렷하여 상황에 맞게 사용하는 것이 중요합니다.이번 블로그 포스팅에서는 이 세 가지 테이블 복사 방법이 각각 무엇인지, 어떤 상황에서 사용해야 가장 효과적인지, 그리고 서로 어떤 차이점을 가지고 있는지 쉽고 명쾌하게 파헤쳐 보겠습니다. 😁 1. CTAS (Create Table As Select): 유연한 데이터 가공 및 복사CTAS는 SELECT 쿼리의 결.. 2025. 9. 26. MinIO 설치부터 SingleStore USD 연동까지 - [Support Bulletin 15] 안녕하세요! 에이플랫폼 Support Bulletin의 열다섯 번째 이야기입니다. 😊모든 데이터를 한 곳에서, 빠르고 유연하게 처리하는 것. 많은 분들이 SingleStore를 통해 이루고 싶은 목표일 텐데요. 특히 대용량 데이터를 S3와 같은 오브젝트 스토리지에 저장하고, DB 테이블처럼 자유롭게 활용할 수 있게 해주는 SingleStore의 USD 기능은 그 핵심이라 할 수 있습니다.이번 글에서는 바로 이 USD 기능을 200% 활용하기 위한 실용적인 가이드를 준비했습니다. 온프레미스 환경에서도 S3처럼 손쉽게 오브젝트 스토리지를 구축할 수 있는 인기 오픈소스인 MinIO를 활용하여 오브젝트 스토리지를 구축하고, 이를 SingleStore에 연동하는 과정을 알기 쉽게 보여드리겠습니다. ※ 중요: .. 2025. 9. 9. HikariCP, SingleStore 연동 테스트 - [Support Bulletin 14] 안녕하세요! 에이플랫폼 Support Bulletin의 열네 번째 이야기입니다. 😊최근 SingleStore를 도입하는 기업이 늘면서, 기존 애플리케이션 코드와의 호환성에 대한 문의도 자연스럽게 증가하고 있습니다.특히, 자바 개발자라면 효율적인 커넥션 관리를 위해 HikariCP를 표준처럼 사용하고 계실 텐데요.그래서 많은 분들이 궁금해하십니다. "SingleStore에서 HikariCP의 세부 옵션들이 문제없이 작동할까?"결론부터 말씀드리면, 호환됩니다.오늘, 이 글에서는 keepaliveTime, connectionTimeout 같은 핵심 옵션들이 SingleStore 환경에서 어떻게 동작하는지 실제 테스트를 통해 명확하게 보여드리겠습니다. 1. 데이터베이스 연결, 왜 비싼 작업일까요?애플리케이션이.. 2025. 8. 21. SingleStore, 유휴 세션으로 인한 데이터베이스 성능 저하 해결하기 - [Support Bulletin 13] 안녕하세요! 에이플랫폼 Support Bulletin의 열세 번째 이야기입니다. 😊 여러분은 혹시 서비스가 갑자기 느려지거나 멈춰버리는 현상을 경험해 보신 적이 있나요?원인 모를 시스템 장애 중 상당수는 '유휴 상태에 빠진 데이터베이스 연결' 때문인 경우가 많습니다.트랜잭션이 시작된 후 락(Lock)을 획득한 세션이 아무 작업 없이 멈춰버리면서 뒤따라오는 모든 요청을 막아버리는 '병목 현상'을 일으키기 때문이죠. 이번 Bulletin에서는 multi_statement_xact_idle_timeout을 포함하여 다양한 상태의 연결을 자동으로 종료하는 기능들에 대해 자세히 알아보겠습니다. 앞서 언급했듯이, 유휴 상태에 빠진 데이터베이스 연결은 시스템 성능에 치명적인 영향을 줄 수 있습니다. 특히 트랜잭션이.. 2025. 8. 19. 이전 1 2 3 4 ··· 16 다음