IT DONGA

빅스비 2.0은 왜 AWS 데이터베이스를 택했을까?

이상우

[IT동아 이상우 기자] 삼성전자 인공지는 비서 서비스인 빅스비는 스마트폰을 포함한 삼성전자 스마트 가전에 탑재해, 사물인터넷 및 개인 맞춤형 서비스를 제공한다. 이처럼 다양한 전자 기기에 탐재되는 서비스인 만큼, 전 세계에 약 6,000만 명의 사용자를 확보하고 있다.

삼성전자 김정환 엔지니어는 "빅스비 2.0 서비스를 선보이면서 AWS의 여러 솔루션을 활용했으며, 이를 통해 많은 이점을 얻었다. 현재 삼성전자는 4개의 AWS 리전을 통해 빅스비를 사용할 수 있는 모든 국가를 상대로 서비스를 제공하고 있으며, 서드 파티 솔루션과 호환성이 높은 만큼 여러 리전에 똑같은 서비스 환경을 구축하는 데 유리하다"고 말했다.

삼성전자 김정환 엔지니어

최근 전세계 사용자를 대상으로 애플리케이션과 서비스를 개발하는 사례가 늘고 있다. 이 때문에 전세계에 있는 다수의 사용자가 데이터베이스에 동시에 접속해 데이터를 요청해 처리 속도가 느려지거나, 대량의 트래픽이 발생하는 경우가 많다. 또한 인공지능 및 개인화 서비스를 위해 대규모 데이터를 처리해야 하기 때문에 각 서비스에서 사용하는 데이터의 특성이나 구조에 맞는 데이터베이스가 필요하다. AWS의 경우 ERP, CRM 등 엔터프라이즈 분야, 대규모 스루풋을 요구하는 작업, 문서 관리, 지연시간이 짧아야 하는 작업 등 다양한 상황에 맞는 데이터 베이스를 갖추고 있다.

빅스비 1.0의 경우 맞춤형 음성 인식 모델을 파일 시스템에 저장하는 방식을 채택했지만, 2.0 버전을 출시하면서 이러한 내용을 AWS 데이터베이스로 옮기는 작업을 진행했다. 사용자가 상대적으로 적었던 1.0 버전에서는 일반적인 파일 시스템으로도 충분히 데이터를 처리하고 발생할 수 있는 문제를 예측할 수 있었지만, 사용자가 늘어나고 저장된 개인화 데이터가 늘어날수록 사용자가 파일을 찾거나 접근하는 데 오랜 시간이 걸리게 된다. 이 때문에 지연시간이 길어지며 인공지능 서비스에 대한 사용자 경험을 저해하는 요인이 된다.

삼성전자는 향후 사용자가 늘어나는 것은 물론, 개인화 데이터 규모가 더 커질 것으로 예상한 만큼, AWS 엘라스틱캐시, 다이나모DB, 오로라 MySQL 등의 데이터베이스를 사용하기로 했다. 데이터를 중앙화할 수 있으며, 세계 곳곳에 있는 리전을 통해 최적의 환경에서 서비스를 제공할 수 있다. 특히 인공지는 서비스에 맞게 높은 성능을 일관적으로 유지할 수 있는 DB를 사용할 수 있으며, 필요에 따라 GPU 자원을 클라우드를 기반으로 확장해 사용할 수 있게 됐다.

빅스비 2.0 개발에 사용한 데이터베이스

삼성전자 이혁 엔지니어는" 빅스비 1.0의 경우 파일 시스템으로 운영하면서 인스턴스 스토어를 사용했는데, 이 과정에서 데이터를 불러오는 과정에서 오류가 생기면 한 밤중에라도 장애에 대응하는 경우가 있었으며, 파일 수가 늘아나면서 J노드 부족 현상에 시달리기도 했다. 향후 서비스 규모는 계속 증가할 것이며, 이에 따라 빅스비 2.0을 출시하는 과정에서는 기존 문제를 해결하는 데 집중했다"고 말했다.

이를 도입하는 과정에서 삼성전자는 몇 가지 실험을 했으며, 이러한 경험을 AWS 서밋 참석자와 공유하기도 했다. 일반적으로 서비스를 제공하기 위해 API와 데이터베이스를 한 리전에 두고 사용하는 경우가 많지만, 삼성전자는 API와 데이터베이스를 한국 리전에 두고, 유럽과 북미지역에는 API만 둔 뒤 데이터는 한국 리전에서 가져가는 방식을 선택했다. 이 경우 한국에서는 데이터를 가져오는 데 0.05초 정도가 걸리는 반면 북미와 유럽에서는 1~1.5초 정도의 지연시간이 발생했다.

이혁 엔지니어는 "이러한 차이는 각 지역의 네트워크 속도에서 나타난 것으로, 빅스비 처럼 지연시간에 민감한 서비스라면 API와 데이터베이스를 한 리전에 두는 것이 좋다. 하지만 1.5초 정도의 시간을 감수할 수 있는 서비스라면 굳이 각 리전에 데이터베이스를 함께 두지 않아도 된다는 것을 경험했다"고 말했다.

글 / IT동아 이상우(lswoo@itdonga.com)

이전 다음