2016.02.17

안이한 접근은 금물! NoSQL DB 도입 팁 10가지

Thor Olavsrud | CIO

NoSQL 데이터베이스는 오늘날 많은 애플리케이션을 지원함에 있어 민첩성과 확장성, 성능, 가용성을 구현한다. 그러나 도입이 쉽지는 않다. 오히려 각종 난관이 도사리고 있다. 여기 NoSQL 시스템을 기업에 접목시키는데 유용한 10가지 팁을 소개한다.



데이터는 기업의 혁신과 성장을 유도할 수 있다. 그러나 전제가 있다. 데이터를 효과적으로 처리할 수 있는 준비가 되어 있는 기업에만 해당된다.

오늘날 관계형 데이터베이스는 여전히 유효하지만, 경우에 따라 적합하지 않을 수 있다. 데이터 복잡성, 규모 등의 이유 때문이다. 많은 경우에 NoSQL 기술이 이런 공백을 메우게 된다. 하지만 조직에 NoSQL 시스템을 도입하는 것이 쉽지 않을 수 있다.

마크로직(MarkLogic)의 제품 부사장 조 파스콰는 노력의 대가는 충분하지만 신중한 계획과 조직의 지원이 필요하다며 많은 조직들이 이런 중요한 부분을 간과하고 있다고 지적했다. 마크로직의 NoSQL 데이터베이스는 미국의 ‘Healthcare.gov’에 적용된 바 있다.

파스콰는 기업과 NoSQL 기술을 매끄럽게 통합하는 것과 관련해 다음과 같은 10가지 요령을 공유했다.

1. 사용 사례를 개발한다
“성공적인 NoSQL 프로젝트를 위한 첫 단계는 비밀을 없애는 것이다.” 파스콰는 이렇게 말하며 자신이 달성하고자 하는 것을 명확히 이해하고 탄탄한 사용 사례를 개발해야 한다고 말했다.

그는 "이런 자세가 없는 기업은 실패할 가능성이 높다. 빅데이터 영역에서 이런 모습이 자주 보인다. 우리는 하둡(Hadoop)이 필요하고 하둡을 도입해야 한다고 말하는 사람들을 많이 만났다. 그들은 무엇을 왜 달성하려는지 모르고 있지만 하여튼 하둡이 필요하다고 주장하곤 한다. 어지간한 행운 없이는 결코 성공할 수 없는 태도다. 이러한 자세는 종종 비즈니스 가치를 이해하는데 방해가 되기도 한다."

NoSQL은 거대한 규모와 방대한 데이터를 필요로 하는 프로젝트에 적절한 선택이 될 수 있다. 개인화, 사용자 프로필 관리, 운영 데이터에서 실시간 정보 추출, 콘텐츠 관리, 카탈로그, 고객 360도 관찰, 모바일 애플리케이션, 사물인터넷(Internet of Things) 애플리케이션, 디지털 통신, 사기 감지 등이 그것이다.

2. 기존의 데이터베이스 인프라와 NoSQL 모델이 어떻게 맞아 떨어지는지 파악한다
명확한 용도를 파악한 후에는 NoSQL이 해당 프로젝트에 적합한지 여부를 판단할 수 있다. 팀에서 익숙하게 이용 중인 기존의 툴이 비용상 적합해볼 수 있다. 그러나 파스콰는 적합하지 않은 것을 억지로 적용하는 것에 대해 다음과 같이 경고했다.

"이런 모습을 자주 보게 된다. 그들은 사용 사례를 파악하고 그들이 무엇을 달성하고 싶은지 알게 된다. 그리고 그들은 '이미 우리가 보유하고 있는 툴과 기술로 시도해 보자.'고 말할 것이다. 하지만 빅데이터(Big Data) 또는 데이터 민첩성이 필요한 많은 프로젝트에서 기존의 툴을 사용할 수 없을 때가 있다. 때로는 수 년 동안 사용하려 시도하다가 결국 적합하지 않다는 사실을 깨닫는다."

Healthcare.gov가 실패한 사례에서 이런 문제가 발견되었다고 파스콰가 말했다. 해당 서비스는 본래 오라클 데이터베이스에 구축했지만 데이터의 기저를 이루는 엄격한 스키마(Schema)에 대한 필요 때문에 시스템에 엄청난 부담이 가해지게 되었다. 이 사용 사례에서는 NoSQL의 개요 민첩성이 필요했다.

파스콰는 "NoSQL이 정말로 자신의 문제 영역에 적합할 때를 파악하는 것이 정말로 중요하다"라고 말했다.

3. NoSQL이 파괴적이라는 사실을 인정한다
기업 인프라에서 NoSQL 도입을 결정한 경우 파괴적인 여파가 나타날 수 있음을 인지하고 이에 대비해야 한다. 파스콰는 다음과 같이 설명했다.

"NoSQL은 파괴적이다. 다양한 방식으로 파괴적이다. 개발자들은 자신의 기존 툴과 기술을 활용하고 싶어한다. 그들이 다른 것을 원하더라도 애플리케이션을 구축하고 데이터베이스를 활용하는 방법에 관한 생각이 이미 정립되어 있다. 이런 경험을 토대로 NoSQL이 동일한 기능을 제공하도록 하려는 것이 당연하다. 그러나 그렇게 되지는 않는다. 그들은 NoSQL이 SQL인양 사용하려다가 최악의 결과를 얻게 된다. 한 걸음 물러서서 실제로 NoSQL을 사용하는 적절한 방법에 관해 생각해 보아야 한다. 싸우려 들지 말고 관계형 데이터베이스처럼 만들려하지 말아야 한다. 이것은 새로운 모델이며, 파괴적인 모델이다. 이를 감안해 활용해야 한다."

예를 들어, 전통적인 관점에서 보면 보유하고 있는 대형 애플리케이션에 대해 DBA(Database of Administrators)를 확보해야 한다. 하지만 NoSQL 세계에서는 10명의 DBA가 있었던 곳에 1명의 DBA만 있기도 한다. 나머지 DBA들은 다른 곳에 배치할 수 있는 것이다.

비용 모델 또한 바뀌게 된다. NoSQL은 확장형 상용 하드웨어 기반 기술이다. 파스콰는 이와 관련해 다음과 같이 설명했다.

"구매하고 사용하는 방식은 실제로 매우 다르다. 비용 효율적인 하드웨어를 구매하고 필요에 따라 확장할 수 있다. 이것이 실제로 조달 과정에 영향을 끼친다. 초기에 1,000 또는 2,000만 달러어치의 하드웨어를 구매할 필요가 없으며, 이에 따라 조달 과정을 매우 신속하게 진행할 수 있다. 담당자들은 그것을 활용할 것이다."

 




2016.02.17

안이한 접근은 금물! NoSQL DB 도입 팁 10가지

Thor Olavsrud | CIO

NoSQL 데이터베이스는 오늘날 많은 애플리케이션을 지원함에 있어 민첩성과 확장성, 성능, 가용성을 구현한다. 그러나 도입이 쉽지는 않다. 오히려 각종 난관이 도사리고 있다. 여기 NoSQL 시스템을 기업에 접목시키는데 유용한 10가지 팁을 소개한다.



데이터는 기업의 혁신과 성장을 유도할 수 있다. 그러나 전제가 있다. 데이터를 효과적으로 처리할 수 있는 준비가 되어 있는 기업에만 해당된다.

오늘날 관계형 데이터베이스는 여전히 유효하지만, 경우에 따라 적합하지 않을 수 있다. 데이터 복잡성, 규모 등의 이유 때문이다. 많은 경우에 NoSQL 기술이 이런 공백을 메우게 된다. 하지만 조직에 NoSQL 시스템을 도입하는 것이 쉽지 않을 수 있다.

마크로직(MarkLogic)의 제품 부사장 조 파스콰는 노력의 대가는 충분하지만 신중한 계획과 조직의 지원이 필요하다며 많은 조직들이 이런 중요한 부분을 간과하고 있다고 지적했다. 마크로직의 NoSQL 데이터베이스는 미국의 ‘Healthcare.gov’에 적용된 바 있다.

파스콰는 기업과 NoSQL 기술을 매끄럽게 통합하는 것과 관련해 다음과 같은 10가지 요령을 공유했다.

1. 사용 사례를 개발한다
“성공적인 NoSQL 프로젝트를 위한 첫 단계는 비밀을 없애는 것이다.” 파스콰는 이렇게 말하며 자신이 달성하고자 하는 것을 명확히 이해하고 탄탄한 사용 사례를 개발해야 한다고 말했다.

그는 "이런 자세가 없는 기업은 실패할 가능성이 높다. 빅데이터 영역에서 이런 모습이 자주 보인다. 우리는 하둡(Hadoop)이 필요하고 하둡을 도입해야 한다고 말하는 사람들을 많이 만났다. 그들은 무엇을 왜 달성하려는지 모르고 있지만 하여튼 하둡이 필요하다고 주장하곤 한다. 어지간한 행운 없이는 결코 성공할 수 없는 태도다. 이러한 자세는 종종 비즈니스 가치를 이해하는데 방해가 되기도 한다."

NoSQL은 거대한 규모와 방대한 데이터를 필요로 하는 프로젝트에 적절한 선택이 될 수 있다. 개인화, 사용자 프로필 관리, 운영 데이터에서 실시간 정보 추출, 콘텐츠 관리, 카탈로그, 고객 360도 관찰, 모바일 애플리케이션, 사물인터넷(Internet of Things) 애플리케이션, 디지털 통신, 사기 감지 등이 그것이다.

2. 기존의 데이터베이스 인프라와 NoSQL 모델이 어떻게 맞아 떨어지는지 파악한다
명확한 용도를 파악한 후에는 NoSQL이 해당 프로젝트에 적합한지 여부를 판단할 수 있다. 팀에서 익숙하게 이용 중인 기존의 툴이 비용상 적합해볼 수 있다. 그러나 파스콰는 적합하지 않은 것을 억지로 적용하는 것에 대해 다음과 같이 경고했다.

"이런 모습을 자주 보게 된다. 그들은 사용 사례를 파악하고 그들이 무엇을 달성하고 싶은지 알게 된다. 그리고 그들은 '이미 우리가 보유하고 있는 툴과 기술로 시도해 보자.'고 말할 것이다. 하지만 빅데이터(Big Data) 또는 데이터 민첩성이 필요한 많은 프로젝트에서 기존의 툴을 사용할 수 없을 때가 있다. 때로는 수 년 동안 사용하려 시도하다가 결국 적합하지 않다는 사실을 깨닫는다."

Healthcare.gov가 실패한 사례에서 이런 문제가 발견되었다고 파스콰가 말했다. 해당 서비스는 본래 오라클 데이터베이스에 구축했지만 데이터의 기저를 이루는 엄격한 스키마(Schema)에 대한 필요 때문에 시스템에 엄청난 부담이 가해지게 되었다. 이 사용 사례에서는 NoSQL의 개요 민첩성이 필요했다.

파스콰는 "NoSQL이 정말로 자신의 문제 영역에 적합할 때를 파악하는 것이 정말로 중요하다"라고 말했다.

3. NoSQL이 파괴적이라는 사실을 인정한다
기업 인프라에서 NoSQL 도입을 결정한 경우 파괴적인 여파가 나타날 수 있음을 인지하고 이에 대비해야 한다. 파스콰는 다음과 같이 설명했다.

"NoSQL은 파괴적이다. 다양한 방식으로 파괴적이다. 개발자들은 자신의 기존 툴과 기술을 활용하고 싶어한다. 그들이 다른 것을 원하더라도 애플리케이션을 구축하고 데이터베이스를 활용하는 방법에 관한 생각이 이미 정립되어 있다. 이런 경험을 토대로 NoSQL이 동일한 기능을 제공하도록 하려는 것이 당연하다. 그러나 그렇게 되지는 않는다. 그들은 NoSQL이 SQL인양 사용하려다가 최악의 결과를 얻게 된다. 한 걸음 물러서서 실제로 NoSQL을 사용하는 적절한 방법에 관해 생각해 보아야 한다. 싸우려 들지 말고 관계형 데이터베이스처럼 만들려하지 말아야 한다. 이것은 새로운 모델이며, 파괴적인 모델이다. 이를 감안해 활용해야 한다."

예를 들어, 전통적인 관점에서 보면 보유하고 있는 대형 애플리케이션에 대해 DBA(Database of Administrators)를 확보해야 한다. 하지만 NoSQL 세계에서는 10명의 DBA가 있었던 곳에 1명의 DBA만 있기도 한다. 나머지 DBA들은 다른 곳에 배치할 수 있는 것이다.

비용 모델 또한 바뀌게 된다. NoSQL은 확장형 상용 하드웨어 기반 기술이다. 파스콰는 이와 관련해 다음과 같이 설명했다.

"구매하고 사용하는 방식은 실제로 매우 다르다. 비용 효율적인 하드웨어를 구매하고 필요에 따라 확장할 수 있다. 이것이 실제로 조달 과정에 영향을 끼친다. 초기에 1,000 또는 2,000만 달러어치의 하드웨어를 구매할 필요가 없으며, 이에 따라 조달 과정을 매우 신속하게 진행할 수 있다. 담당자들은 그것을 활용할 것이다."

 


X