본문 바로가기

싱글스토어17

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 return select row_number() over () as rn from table(create_array(n):>array(bigint)); 이제 정렬이 필요없도록 튜닝을 해보겠습니다. 먼저.. 2024. 1. 18.
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 지정 설치 과정.. 2023. 10. 26.
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 에 Cl.. 2023. 9. 14.
SingleStoreDB, PostgreSQL, MySQL 간단 조회 성능 비교 안녕하세요. ​ 이번에 간단하게 SingleStoreDB, PostgreSQL, MySQL 의 3가지 Database 를 동일한 장비에서 동일한 테이블과 SQL을 이용하여 조회 성능 비교를 해 보았습니다. ​ 장비 사양은 8vCPU, 32GB Memory, 100GB Boot Volume 입니다. 데이터셋은 CC By 4.0 License 를 가지고 있는 Stefan Proell, Eva Zangerle, Wolfgang Gassler 가 만든 Flughafen DB(https://github.com/stefanproell/flughafendb) 를 기초로 한 mysql 의 airportdb(https://dev.mysql.com/doc/airportdb/en/airportdb-introduction.h.. 2023. 9. 7.
SingleStoreDB 성능 이야기 SingleStoreDB 를 처음 사용하게 되면서 가장 먼저 들었던 생각은 “아! 빠르다” 입니다. Oracle, MySQL, PostgreSQL 등 내노라 하는 RDBMS 에서도 왠만큼 큰 장비가 아니면 느낄 수 없는 “빠름”을 SingleStoreDB 는 그저 보통의 컴퓨팅 파워를 가지고 있는 작은 시스템에서도 쉽게 확인할 수 있습니다. 그 이유가 무엇일까요? 첫번째로 SingleStoreDB 는 Shared Nothing 구조의 분산(Distributed) DB 이기 때문입니다. SingleStoreDB Cluster 에서 Leaf 노드들이 실제적인 데이터를 나누어 저장하고 있습니다. 만일 Leaf 노드가 4대라면 각각 1/4 씩의 데이터를 균등 배분하여 저장하고 있는 셈이죠. NoSQL 의 샤딩(.. 2023. 8. 31.
SingleStoreDB Cloud 무료 사용법 가장 빠르게 SingleStoreDB 를 성능을 체험해 볼 수 있는 방법은 SingleStoreDB Cloud 에서 $500 에 해당하는 Credit 을 받아 AWS, Azure, GCP Cloud 중 원하는 곳에서 원하는 크기의 Workspace 를 생성하는 것입니다. 먼저 SingleStore Portal 에 가입하여 $500 에 해당하는 credit 을 받습니다. 가입이 되면 On-premise Server 설치 시 사용할 수 있는 License Key 도 무료로 제공됩니다. 이 License 를 가지고 총 32 vCPU, 128GB Memory 를 넘지 않는 한도 내에서 SingleStoreDB Standard 옵션 설치해 사용할 수 있습니다. ​ SingleStore Portal 에서 먼저 Wo.. 2023. 8. 31.
[사례연구] 실시간 게임 KPI, 확장성문제를 SingleStore로 해결한 Gameloft 게임은 틈새시장에서 완전한 하나의 산업으로 변해가며 실시간 디지털 경험을 제공하는데 중점을 두고 있습니다. 게임로프트(Gameloft)는 여러 상을 수상한 모바일 및 콘솔 게임의 개발사이며 퍼블리셔 입니다. 이들은 100TB가 넘는 원시데이터로부터 실시간으로 이용할수 있는 인사이트를 추출하기 위해 SingleStore DB를 사용하고 있습니다. 주니퍼 리서치에 따르면, 게임 산업은 2021년까지 총 매출이 $1,320억에 달할 것이며, 이는 할리우드의 매출을 훨씬 앞서는 것입니다. 모든 게임 개발자들은 차트 정상에 오르기 위해 치열한 경쟁을 하고 있습니다. 게임로프트는 프랑스에 기반을 둔 모바일 및 콘솔 게임의 주요 퍼블리셔이자 개발사로서, 전 세계에 열렬한 팬층을 구축했습니다. 모든 게임을 자체 개발하.. 2021. 10. 20.
[사례 연구, CME] 시카고 상업거래소를 역설계한 방법 거래소는 우리 경제 시스템의 핵심입니다. 베니스의 리알토(Rialto, 14세기), 터키의 그랜드 바자르(Grand Bazaar, 17세기), 네덜란드의 암스테르담 증권거래소(Amsterdam Bourse, 17세기), 뉴욕 증권거래소(NYSE; New York Stock Exchange, 20세기)에서 시장은 의도적으로 상품과 서비스의 구매자와 판매자가 만나 거래합니다. 이 블로그 게시물에서는 SingleStore를 핵심으로 하여 거래소를 구축한 방법을 설명합니다. 컴퓨터가 발명되고 인터넷이 널리 보급된 후 시장은 온라인이 되었습니다. 네덜란드 동인도 제도(오늘날의 인도네시아)의 향신료 상인이 약 한 달 동안 걸리던 매매는 암스테르담 증권 거래소에서 제공하는 가격 매칭을 통해 이제는 자동화된 컴퓨터 거.. 2021. 8. 24.
[사례 연구, 금융] 머신러닝기반 실시간 이상거래 탐지(미국 메이저 은행) ​ 이 사례 연구는 SingleStore의 제품 마케팅 수석 이사인 Mike Boyarski가 웨비나 세션의 일부로 발표했습니다. Mike는 웨비나를 통해 수십 년 동안 축적된 기술 솔루션을 보유하고 있으며 오늘날의 요구 사항을 충족시키기 위해 인프라를 즉시 발전시켜야 하는 금융 서비스 기관이 직면한 과제에 대해 설명합니다. 웨비나에서도 설명되고 있습니다만, Mike는 주요 미국 은행이 SingleStore를 핵심으로 하는 새로운 스트리밍 데이터 아키텍처를 어떻게 작성했는지를 보여줍니다. SingleStore를 사용하여 이들은 머신러링 모델을 실시간으로 적용하면서 하룻밤 사이에 이루어지는 배치 이상거래 탐지 방식에서 "on the swipe"(실시간) 이상거래 탐지 방식으로 전환할 수 있었습니다. 그는 .. 2021. 8. 10.