본문 바로가기
SingleStoreDB/사례연구

[사례 연구, Kurtosys] SingleStore 하나로 정형, 비정형, 반정형 데이터의 빠른 트랜잭션 및 분석 처리

by 에이플랫폼 [Team SingleStore Korea] 2019. 8. 6.

SingleStore의 장점 중 하나는 분석 속도를 높이는 것이며, 더 빠른 성능을 제공하기 위해 NoSQL 데이터베이스를 대체하는 경우가 많습니다. 금융 서비스 업계를 위한 시장 선도적인 디지털 경험 플랫폼인 커토시스(Kurtosys)는 SingleStore를 독점적으로 사용하여 트랜잭션과 분석 전반에 걸쳐 매우 빠른 성능과 관리 용이성을 얻고 있습니다.


커토시스는 진정한 금융 서비스 산업을 위한 최초의 SaaS 플랫폼을 보유한 디지털 경험 부문의 선두 기업입니다. 그 목표를 추구하기위해 커토시스는 SingleStore를 선택하였고, 현재 SingleStore는 커토시스의 성장에 힘을 실어주고 있습니다.

커토시스의 데이터 책임자인 스테판 페리는 몇 년 전 블로그에서 "왜 나의 데이터를 여러 데이터베이스에 저장해야 하는가?"라는 제목의 글을 요약했습니다. (페리는 초기 SingleStore 인증 개발자 중 한 명임)

다음 블로그에서는 커토시스에서 SingleStore사용이 어떻게 진전되어 왔는지 설명합니다. 초기에 커토시스는 Couchbase를 이용한 기존 플랫폼에 어려움을 겪었습니다. 이 기업은 SingleStore로 이전하여 수 많은 혜택을 누렸습니다.

추가 고객 요청과 SingleStore의 새로운 기능의 등장은 커토시스가 새로운 플랫폼을 만들 수 있게 해주었고, 이 플랫폼은 커토시스의 고객들이 그들의 영업팀과 그들의 외부 고객 커뮤니티와 잠재 고객들에게 뛰어난 디지털과 문서 경험을 제공하는 방법을 혁신하기 위해 사용되고 있습니다. 이 새로운 플랫폼에서 SingleStore는 핵심 데이터베이스입니다.

커토시스의 비즈니스 성장을 지원하는 인프라

커토시스는 금융 서비스 산업을 위한 복잡한 금융 데이터, 문서, 웹 사이트와 콘텐츠 호스팅이라는 어려운 과제를 수행했습니다. 커토시스의 고객은 자신의 고객 데이터뿐만 아니라 영업과 마케팅 활동에도 커토시스 플랫폼을 사용합니다.

커토시스의 고객 목록은 뱅크 오브 아메리카, 몬트리올 뱅크, 제너럴리 인베스트먼트, 티로프라이스를 포함한 많은 상위 기업들을 포함하고 있습니다. 커토시스의 고객들은 빠른 성능과 높은 수준의 보안을 필요로 합니다.

보안에 대한 고객의 관심은 대부분의 다른 비즈니스 부문보다 금융 서비스에서 더 큽니다. 단 한 건의 위반(실제로 악용된 적은 없는보고된 잠재적 위반일지라도)은 회사에 심각한 재정 상태와 명성에 심각한 손상을 초래할 수 있습니다. 그래서 고객들은 커토시스와 같은 기술 공급업체를 매우 높은 수준으로 유지하고 있습니다.

보안과 더불어 성능도 중요한 요소입니다. 금융 서비스 기업들은 새로운 고객을 얻기 위해 성능상의 이점을 요청하기 때문에 공급자들은 최고 속도로 신뢰성 있게 제공해야 합니다. 금융서비스기업도 그들의 고객 서비스를 차별해야 하기때문에 기술 공급업체가 우수한 고객 서비스를 차례로 제공할 것을 요구하고 있습니다.

(커토시스와 같이 SingleStore는 이러한 도전에 매우 적합니다. 북미 상위 10개 금융 서비스 기업의 50%이상이 고객일 정도로 금융 서비스는 SingleStore의 대표적인 마켓 부문 중 하나입니다.)

금융 서비스 기업이 고객 금융 데이터와 같은 중요한 콘텐츠를 포함하여 자신의 콘텐츠를 신회하는 외부 제공자에게 호스팅하도록 요구하기 위해 엄격한 많은 요구사항이 있기 때문에 가능합니다. 비록 커토시스는 도전에 맞닥뜨렸지만 혁신을 통해 빠르게 성장하고 있습니다.

"우리의 독창적인 판매 제안은 새롭고 특별한 기술의 창조적인 사용에 기반을 두고 있습니다,"라고 스티브는 말합니다. "우리는 4년 전에 출시한 SingleStore기반 내부 플랫폼이 이제는 레거시 플랫폼이 될 정도로 발전했습니다. 우리의 현재 플랫폼은 데이터 저장에 매우 현대적인 접근방식을 채택하고 있습니다. 우리는 커토시스 플랫폼의 기본 데이터베이스로 SingleStore를 사용하고 있습니다."

성장을 위한 인프라 선택

커토시스는 까다로운 고객을 위해 서비스를 강화하기 위해 인프라를 혁신하는데 능숙합니다. 예를 들어, 몇 년 전에 커토시스는 SQL Server를 사용하여 트랜잭션을 처리하고 분석을 위해 빠른 성능과 확장 가능한 읽기 전용 캐시로 Couchbase를 사용하였습니다.

초기에는 이 조합은 합리적이었습니다. 커토시스의 고객들은 잘 구축된 소수의 트랜잭션을 하나의 데이터베이스에서 수행하는 회사를 보고 싶어했습니다. 이것에 대해 SQL Server가 적합했습니다.

하지만 다른 전통적인 관계형 데이터베이스와 마찬가지로 SQL Server는 핵심적으로는 단일 코어 업데이트 프로세스에 의존하기 때문에 제약이 있습니다. 이러한 종속성으로 인해 SQL Server를 포함한 기존 관계형 데이터베이스는 저렴한 여러 개의 서버로 확장할 수 없게 됩니다.

즉, SQL Server를 실행하는 단일 시스템은 일반적으로 트랜잭션 처리로 완전히 점유되고 정형 데이터와 반정형 데이터에 대한 임시 쿼리 지원과 같은 커토시스의 요구 사항을 충족시키지 못합니다. 이로 인해 커토시스는 Couchbase에 데이터를 복사하고 분석을 해야 했습니다.- 일반적인 운영 분석 데이터베이스와 데이터웨어 하우스(DW)를 구축하는 형태로.

Couchbase는 논리적인 선택인 것 같았습니다. 이것은 NoSQL 데이터베이스를 대표하는 것으로 간주되고, 종종 Apache Cassandra, Apache HBase, CouchDB, MongoDB와 Redis와 같은 다른 잘 알려진 NoSQL과 비교됩니다. Couchbase는 개발자에게 "훌륭한 고객 경험을 쌓을 기회"를 제공한다고 말합니다.

NoSQL 데이터베이스는 기존 관계형 데이터베이스가 부족한 스케일아웃 기능을 가지고 있습니다. 그러나 NoSQL 데이터베이스는 Couchbase 자체에서 만든 규격과 언어를 사용한다는 점에서 근본적인 제약을 가지고 있습니다. NoSQL 데이터베이스는 비정형이나 반정형 데이터를 선호합니다. NoSQL 이라는 이름이 의미하는 바와 같이 SQL을 지원하지 않습니다.

이러한 데이터베이스의 사용자는 SQL을 사용하여 정형화되고 점차적으로 반정형화된 데이터에 대해 복잡한 작업을 수행하는 데 있어 수십 년 간의 연구와 경험을 활용할 수 없습니다. SQL 지원이 없기 때문에 Couchbase는 작업하기가 어려우며 사람들에게 새로운 기술을 배우기를 요구합니다.

비정형 데이터와 반 정형의 JSON 데이터에 대해 SQL를 사용하는 이점이 없다면, 커토시스는 서로 다른 데이터 셋에서 작동하는 효율적인 쿼리 패턴을 찾기가 쉽지 않음을 알게 되었습니다.

분석 기능 강화를 위해 SingleStore으로 이동

 

빅 데이터 데이터베이스로서 Couchbase는 분석 프로젝트를 실행하는 데이터 사이언티스트에게 적합합니다. 그러나 일상적인 분석 활용에 있어, 커토시스는 Couchbase에서 쿼리를 작성하는데 어려움을 겪었고 쿼리 성능은 좋지 않았습니다. Couchbase는 커토시스의 내부 사용자와 고객가 요구하는 임시(ad-hoc) SQL 쿼리, 비즈니스 인텔리전스 툴과 앱 지원을 포함한 분석 지원에 필요한 워크로드와 높은 동시성(대수의 동시 사용자)에 적합하지 않았습니다.

동시에 커토시스는 트랜잭션을 위해 SQL Server에 있어야했습니다. 커토시스는 SQL Server 관련 스토어드 프로시저에 많은 투자를 했습니다. 고객은 또한 커토시스가 거래를 위해 가장 잘 알려진 가장 유명한 관계형 데이터베이스 중 하나를 사용한다는 사실을 좋아했습니다.

동시에, 커토시스는 트랜잭션을 위해 SQL Server를 남겨두어야 했습니다. 그래서 커토시스는 SQL Server에 특화된 스토어드 프로시저에 많은 투자를 했습니다. 또한 그들의 고객들은 커토시스가 트랜잭션을 위해 가장 유명한 관계형 데이터베이스 중 하나를 사용한다는 사실을 좋아했습니다.

그래서 많은 연구 끝에, 커토시스는 완전히 분산된 데이터베이스인 SingleStore를 선택했는데, 그 당시에 메모리에서 실행되었습니다. 또한 SingleStore는 진정한 관계형 데이터베이스로서 MySQL 와이어 프로토콜을 지원하므로, 커토시스는 SQL Server에 내장된 CDC(Change Data Capture) 프로세스를 사용하여 SingleStore의 데이터 복사본을 최신 상태로 유지할 수 있었습니다. SQL Server에서 각 트랜잭션이 완료된 후 몇 초 후에 SingleStore는 업데이트를 받았습니다. 그런 다음 SingleStore에서 업데이트와 쿼리가 모두 빠르게 실행될 수 있었습니다.

기존 플랫폼 아키텍처

 

SQL Server는 현재 트랜잭션 지원에 전념했으며 CDC 프로세스는 트랜잭션 처리에 약간의 오버 헤드를 발생시켰습니다. 또한SingleStore의 속도로 인해 데이터베이스는 커토시스 플랫폼을 통해 진행되는 대규모의 증가하는 트랜잭션량을 쉽게 따라 잡을 수 있었습니다.

당시 커토시스는 접근 방식을 정리한 커토시스 블로그의 슬라이드 데크에서 주요 내용을 요약해 보았습니다.

SingleStore 기반 플랫폼, 새로운 애플리케이션 강화

커토시스는 이제 새로운 내부 플랫폼을 만들었습니다. 새로운 플랫폼의 주요 기능 중 하나는 JSON 데이터를 지원하는 것입니다. SingleStore 6.7에서 JSON 데이터 지원은 핵심 기능입니다. 실제로 JSON 데이터를 완전히 정형 데이터와 비교하면 "SingleStore에서 테스트해 본 결과 성능은 거의 같았다."라고 스티브는 말합니다. 이 기능을 통해 커토시스는 이전에 Couchbase에서 사용했던 것과 같은 데이터 구조를 유지하면서 탁월한 성능을 유지할 수 있습니다.

또한 커토시스가 몇 년 전에 처음으로 SingleStore을 채택했을 때 SingleStore는 주로 대용량 인 메모리 데이터베이스로 사용되었습니다. 이로 인해 획기적인 성능이 실현되었지만 높은 비용이 수반되었습니다. 현재는 SingleStore는 디스크 기반 Columnstore 테이블과 메모리 기반 Rowstore 테이블을 유연하게 지원합니다. 스티브에 따르면 현재 성능은 믿기 어려울 정도로 너무 좋다고 합니다.

새로운 플랫폼은 트랜잭션과 분석 쿼리 모두에 대해 SingleStore에서 실행을 합니다. 새로운 플랫폼에서는 CDC가 더 이상 필요하지 않습니다. 커토시스는 SingleStore를 트랜잭션 데이터베이스로 실행하여 트랜잭션과 분석을 모두 처리합니다.

이 새로운 내부 플랫폼은 수천 명의 동시 사용자가 하루에 몇 기가바이트씩 증가하는 수백 기가바이트의 데이터에 접속하는 커토시스 애플리케이션에 힘을 실어 주고 있습니다.

커토시스는 플랫폼의 성장을 촉진하기 위해 SingleStore의 새로운 기능을 사용하기를 기대하고 있습니다. 스티브 페리가 별도의 블로그에서 "그들이 하는 일은 옳다... 우리는 쿼리의 응답 성능을 향상시키기 위해 SingleStore를 사용한다."라고 말했습니다.

SingleStore로 앞서 나가기

SingleStore는 커토시스가 고객에게 제공하는 핵심 가치 제안의 기본 구성 요소이며, 현재 커토시스에서 개발되고 있는 최첨단 플랫폼은 SingleStore 기반으로 계속 진화하고 있습니다.

 

 

May 30th, 2019

Floyd Smith

 


출처: https://www.singlestore.com/blog/case-study-kurtosys-why-would-i-store-my-data-in-more-than-one-database/

 

Case Study: Kurtosys – Why Would I Store My Data In More Than One Database?

In a two-step process, Kurtosys replaced Couchbase analytics with SingleStore - then removed SQL Server for transactions with SingleStore as well. The result is a fast, efficient, cost-effective platform solution.

www.singlestore.com

 

​※ www.a-platform.biz | info@a-platform.biz