삼성전자 인공지는 비서 서비스인 빅스비는 스마트폰을 포함한 삼성전자 스마트 가전에 탑재해, 사물인터넷 및 개인 맞춤형 서비스를 제공한다. 이처럼 다양한 전자 기기에 탐재되는 서비스인 만큼, 전 세계에 약 6,000만 명의 사용자를 확보하고 있다.
삼성전자 김정환 엔지니어는 "빅스비 2.0 서비스를 선보이면서 AWS의 여러 솔루션을 활용했으며, 이를 통해 많은 이점을 얻었다. 현재 현재 삼성전자는 4개의 AWS 리전을 통해 빅스비를 사용할 수 있는 모든 국가를 상대로 서비스를 제공하고 있으며, 서드 파티 솔루션과 호환성이 높은 만큼 여러 리전에 똑같은 서비스 환경을 구축하는 데 유리하다"고 말했다.
삼성전자 김정환 엔지니어
최근 전세계 사용자를 대상으로 애플리케이션과 서비스를 개발하는 사례가 늘고 있다. 이 때문에 전세계에 있는 다수의 사용자가 데이터베이스에 동시에 접속해 데이터를 요청해 처리 속도가 느려지거나, 대량의 트래픽이 발생하는 경우가 많다. 또한 인공지능 및 개인화 서비스를 위해 대규모 데이터를 처리해야 하기 때문에 각 서비스에서 사용하는 데이터의 특성이나 구조에 맞는 데이터베이스가 필요하다. AWS의 경우 ERP, CRM 등 엔터프라이즈 분야, 대규모 스루풋을 요구하는 작업, 문서 관리, 지연시간이 짧아야 하는 작업 등 다양한 상황에 맞는 데이터 베이스를 갖추고 있다.
삼성전자는 향후 사용자가 늘어나는 것은 물론, 개인화 데이터 규모가 더 커질 것으로 예상한 만큼, AWS 엘라스틱캐시, 다이나모DB, 오로라 MySQL 등의 데이터베이스를 사용하기로 했다. 데이터를 중앙화할 수 있으며, 세계 곳곳에 있는 리전을 통해 최적의 환경에서 서비스를 제공할 수 있다. 특히 인공지는 서비스에 맞게 높은 성능을 일관적으로 유지할 수 있는 DB를 사용할 수 있으며, 필요에 따라 GPU 자원을 클라우드를 기반으로 확장해 사용할 수 있게 됐다.
빅스비 2.0 개발에 사용한 데이터베이스
삼성전자 이혁 엔지니어는" 빅스비 1.0의 경우 파일 시스템으로 운영하면서 인스턴스 스토어를 사용했는데, 이 과정에서 데이터를 불러오는 과정에서 오류가 생기면 한 밤중에라도 장애에 대응하는 경우가 있었으며, 파일 수가 늘아나면서 J노드 부족 현상에 시달리기도 했다. 향후 서비스 규모는 계속 증가할 것이며, 이에 따라 빅스비 2.0을 출시하는 과정에서는 기존 문제를 해결하는 데 집중했다"고 말했다.
이를 도입하는 과정에서 삼성전자는 몇 가지 실험을 했으며, 이러한 경험을 AWS 서밋 참석자와 공유하기도 했다. 일반적으로 서비스를 제공하기 위해 API와 데이터베이스를 한 리전에 두고 사용하는 경우가 많지만, 삼성전자는 API와 데이터베이스를 한국 리전에 두고, 유럽과 북미지역에는 API만 둔 뒤 데이터는 한국 리전에서 가져가는 방식을 선택했다. 이 경우 한국에서는 데이터를 가져오는 데 0.05초 정도가 걸리는 반면 북미와 유럽에서는 1~1.5초 정도의 지연시간이 발생했다.
이혁 엔지니어는 "이러한 차이는 각 지역의 네트워크 속도에서 나타난 것으로, 빅스비 처럼 지연시간에 민감한 서비스라면 API와 데이터베이스를 한 리전에 두는 것이 좋다. 하지만 1.5초 정도의 시간을 감수할 수 있는 서비스라면 굳이 각 리전에 데이터베이스를 함께 두지 않아도 된다는 것을 경험했다"고 말했다.