본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

SQLite에 도전하는 오픈소스 모바일 DB ‘렘’

OSS 게시글 작성 시각 2014-10-01 02:20:23 게시글 조회수 3368

2014년 09월 29일 (월)

ⓒ 블로터닷넷, 이지현 기자 jihyun@bloter.net



스마트폰 시장이 빠르게 성장하면서 모바일 기기에서 처리하는 데이터베이스(DB)가 점점 많아지고 있다. 모바일 DB에 대한 관심이 늘어나는 건 자연스런 현상이다. 2014년 7월, 오픈소스 형태의 새로운 모바일DB가 나왔다. ‘’이다. 렘은 메모리나 디스크를 덜 차지하면서 모바일 환경에 최적화된 DB다.


REALM_interview_03


모바일 DB란 모바일 기기에서 생성하는 DB를 말한다. 메신저에 뜨는 친구목록이나 대화 내용, 네트워크 캐시 등이 모바일 DB에 저장된다. 많은 개발자들이 ‘SQLite’를 활용해 모바일 DB를 처리한다. SQLite는 무료로 쓸 수 있는 모바일 DB로 가장 유명하다. 뒤에 ‘라이트’라는 단어가 붙은 것처럼 기존 DB보다 쓰기 좀 더 간편하고 처리하는 DB도 작은 편이다. 하지만 SQLite는 엄밀히 말하면 모바일 전용 DB는 아니다. 그래서 성능이나 속도 등 최적화된 DB를 구축하는 데는 조금 부족하다. 이러한 불편함을 해소하고자 파스, 카우치DB 등이 모바일에 최적화된 DB 기술을 내놓고 있다.


렘은 ‘왕국, 범위, 분야’등의 뜻을 가진 영어단어다. 렘 DB는 ‘덴마크 왕국’(Danish Realm)이란 단어에서 이름을 따왔다. 렘을 개발한 핵심 개발자가 덴마크 출신이기 때문이다. 덴마크는 C++, 닷넷, 루비온레일즈와 같은 프로그래밍 언어나 프로그램 뒷단 기술을 만든 개발자들이 많은 곳이다. 노키아 덴마크 연구소에서 일했던 알렉산더 스티그센(Alexander Stigsen)와 반너 크리스찬센(Bjarne Christiansen) 개발자는 3년을 투자해 렘 모바일DB를 만들고 이를 오픈소스로 공개했다.


렘은 2014년 7월 iOS를 위한 DB를 처음 공개했다. 9월28일에는 안드로이드를 위한 모바일 DB를 공개한다. 팀 앙글라드 렘 프로덕트 개발 임원이 네이버 ‘데뷰2014’ 개발자 행사에 참여해 직접 렘을 소개한다. 10월6일에는 한국 개발자들과 따로 만나는 시간도 마련한다. 한국어 웹사이트 및 한글 문서화 작업도 지원하고 있다.


렘은 안드로이드 버전 출시를 한국에서 세계 최초로 알렸다. 그만큼 한국 모바일 시장에 관심이 많다. 팀 앙글라드 개발임원은 “한국은 안드로이드 개발자가 많은 곳으로, 다른 나라에서 보지 못한 사례를 많이 볼 수 있다”라며 “어떻게 모바일 개발이 이뤄지는지, 비즈니스 사례는 무엇이 있는지 배우기 위해 한국을 적극적으로 공략하려 한다”라고 설명했다.


모바일 DB를 활용하면 구체적으로 무엇이 좋을까. 아무래도 속도나 보안, 비용 면에서 장점이 많다. 많이 쓰이는 SQLite는 SQL 기반의 데이터 저장 방식을 이용한다. 개발자는 렘을 활용하면 SQL을 몰라도 API를 호출하면서 모바일 DB를 관리할 수 있다. 렘은 기존 모바일 DB인 ‘ORM라이트’, ‘그린DAO’, ‘코어데이터’ 등과 비교해 좀 더 간단한 API를 제공한다.


팀 앙글라드 개발임원은 “렘 DB는 구조가 개발자 친화적이기 때문에, 개발 속도가 2배 빨라질 수 있다”라며 “클로스(Cloth)라는 패션 앱에 적용해보니, 최소 2주에서 몇 달 걸렸던 데이터 작업이 하루 안에 처리되기도 했다”라고 설명했다.


REALM_interview_04
▲출처: 렘 홈페이지


모바일 기기 자체에 DB를 저장하면 모든 데이터를 일일이 서버에서 받지 않고 모바일 기기에 바로 받을 수 있다. 이는 곧 속도 향상으로 이어진다.


예를 들어 포스퀘어에서 원하는 지역을 검색하면, 지도에 찾고자하는 상점들이 표시된다. 모바일 DB를 이용하면, 결과가 나오는 속도를 훨씬 빠르게 만들 수 있다. 데이터 처리가 많은 금융 응용프로그램(앱)에도 활용할 수 있다. 수많은 주식 가운데 사용자가 보고 싶은 주식을 10개를 골라 실시간 데이터로 한번에 보여준다고 치자. 이는 굉장히 많은 데이터 작업이 필요해 서버에 많은 부하를 일으킨다. 렘은 이러한 과정을 빠르게 구현할 수 있다. 또한 스마트폰에 DB가 저장돼 있어, 인터넷이 연결되지 않아도 DB를 불러올 수 있다.


REALM_interview_02
▲렘을 이용하면 지도 관련 데이터를 더 빠르게 호출할 수 있다


REALM_interview_05
▲렘을 이용하면 실시간 주식정보를 좀더 빠른 속도로 불러와 앱으로 만들 수 있다. (렘이 보여준 주식 데모 앱)


모바일 DB를 사용하면 보안성도 강화된다. 개인정보와 연관된 데이터는 굳이 서버에서 저장하지 않고 사용자 스마트폰에 생성할 수 있기 때문이다. 이런 방식은 과거에도 시도했지만, 모바일 기기 자체를 느리게 만들거나 저장소 용량을 많이 차지하는 문제가 있었다.


팀 앙글라드는 “서버에 접속하는 네트워크 비용이 줄어들어 전체 운용비용을 크게 절감할 수 있다”라고 강조했다. 실제로 징가는 사용자가 갑자기 몰릴 때 서버 처리에 많은 비용을 투자해야 했다. 징가는 렘을 사용해 서버를 호출하는 시간을 줄여 네트워크 비용을 감소시켰다.


새로운 DB 코어를 만드는 건 복잡하고 힘든 일이다. 그동안 새로운 DB가 나오지 않았기 때문에, 과거에 개발자들은 기존 환경에 최적화된 DB를 사용할 수밖에 없었다. 어찌 보면 10년 전에 개발된 데이터 저장방식을 지금 모바일 기기에 적용했던 셈이다. 하지만 시간이 지날 수록 데이터 양이 많아지고 있어 모바일에서 데이터를 처리하는 기술도 점점 중요해지고 있다.


REALM_interview_01
▲팀 앙글라드 렘 프로덕트 개발 임원


오픈소스에 모바일 DB라는 점에서 여러 개발자들은 렘에 관심을 보이고 있다. 출시 2주 만에 2만명의 개발자가 렘 플랫폼에 접근하고 사용했다. 개발자 커뮤니티로 유명한 해커뉴스에서 화제를 모으기도 했다. 렘은 안드레센 호로위츠, SV 엔젤, 코슬라벤처스, 와이컴비네이터 등이 포함한 12개 투자자로부터 약 900만달러, 우리돈 94억여원을 투자받았다.


렘은 오픈소스이기 때문에 누구나 무료로 사용할 수 있다. 누구나 렘 개발에 기여할 수 있다. 렘은 수익모델로 유지보수 서비스보다는 따로 제품을 만들어 제공할 예정이다. 동기화나 외부 DB 연동 같은 기업용 기술을 유료버전으로 내놓을 생각이다.




※ 본 내용은 (주)블로터 앤 미디어(http://www.bloter.net)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒ 블로터 앤 미디어. 무단전재 및 재배포 금지



[원문출처 : http://www.bloter.net/archives/208063]

맨 위로
맨 위로