MISTERY

SW로 통신장비 통합관리… 트래픽 폭증 미리 막는다


5세대(G) 통신시대를 앞두고 세계 이동통신 업계가 기술 주도권 싸움을 치열하게 펼치고 있습니다. 5G는 통신 속도의 향상을 넘어 기존 하드웨어(HW) 중심의 네트워크에 소프트웨어(SW) 지능이 결합돼 통신의 혁신을 예고하고 있습니다. 통신 사업자들은 데이터 사용량의 폭발적 증가 추세에 대응해 망 부담을 줄이고 이용자의 체감 품질을 개선하기 위해 차세대 네트워크 진화에 총력을 기울이고 있습니다.

◇네트워크 기능 가상화(NFV)란?= 5G 기술의 핵심으로 꼽히는 것 중 하나가 바로 '네트워크 기능 가상화'(NFV;Network Function Virtualization)입니다. NFV는 유무선 네트워크 장비에 가상화 기술을 적용, HW 중심의 네트워크 기능을 SW로 구현하는 기술입니다.

과거 새로운 네트워크 서비스와 기술이 등장할 때마다 HW에 종속된 SW 구조인 때문에 HW와 SW 모두를 재설계하고, 다시 네트워크를 구축하는 일이 반복됐습니다. 이에 따라 새로운 서비스나 기술 도입에 많은 시간이 필요하고, 서비스 확장이 어려웠습니다. 하지만 NFV 등장으로 이런 문제점을 해결할 수 있게 됐습니다.

NFV는 서버, 스위치, 메모리 등 다양한 유무선 네트워크 장비를 표준화한 HW 구조로 만들고, 그 위에 독립된 SW 구조를 통합하는 기술입니다. NFV를 적용하면 네트워크 기능을 소프트웨어로 가상화해 제공할 수 있기 때문에, 특정 기지국에 데이터가 몰리면 자동으로 분산해 원활한 통신을 가능하게 합니다. 이에 따라 여러 기지국 자원을 균등하게 나눠 사용할 수 있어, 통신 품질을 끌어올릴 수 있게 됩니다. 쉽게 말해 하나의 슈퍼컴퓨터가 분산된 통신 장비를 통합 관리해 효율을 최대로 높이는 것입니다. 이동통신 기지국 장비의 무선신호처리부(RU)와 디지털신호처리부(DU)에서 DU를 떼어내 서버에 집어넣는 현재의 LTE 기지국 구축 방식도 넓은 의미에서 보면 NFV를 채택한 것이라고 볼 수 있습니다.

◇NFV 효과는?= NFV 솔루션은 이처럼 가상화 기술을 활용, 네트워크 자원 낭비를 막아줍니다. 앞으로 모바일 데이터 트래픽이 폭증할 경우 발생할 수 있는 장애 등을 사전에 예방할 수 있을 것으로 기대됩니다. 국내 한 이동통신사에에 따르면 세계 무선 데이터 트래픽은 지난해 12월 기준 월 13만2313 테라바이트(TB)를 기록하며, 지난 2012년 1월 2만9748 TB와 비교해 2년 새 약 4.5배 가까이 늘어났습니다.

또 표준 HW 구조 덕분에 혁신 서비스와 기술을 도입하기 쉽고, 통신환경 변화에 신속히 대응할 수 있도록 해줍니다. 예를 들어 이통사들은 현재 수도권, 영남, 호남 등 권역을 나눠 1개의 장비 제조사에 모든 기지국 구축을 맡기고 있습니다. 그러나 NFV를 이용하면 다양한 장비 업체의 표준 장비를 사용해, 자유롭게 망을 구성할 수 있습니다. 범용 HW에 SW를 설치하는 방식만으로 각종 네트워크를 쉽고 빠르게 구축할 수 있게 되는 것입니다.

수십만 명의 인파가 몰리는 불꽃축제나 새해 첫날 타종식 등의 상황에서는 데이터 사용량이 순간적으로 폭증, 통화 연결이나 문자메시지 전송에 어려움을 겪는 경우가 많습니다. 하지만 NFV 기술을 적용하면 데이터 트래픽이 급증해도 이용자는 원활하게 통화나 문자를 사용할 수 있습니다. 야간이나 휴일의 경우. 장비를 저전력 모드로 운영해 장비의 가동이나 냉방 등에 사용되는 전기 소모량과 이산화탄소 배출량을 줄일 수도 있습니다.

◇NFV 기술, 어디까지 왔나?= 네트워크에 질적 변화를 가져다줄 NFV는 미래 기술로, 아직 상용화는 걸음마 단계라고 볼 수 있습니다. 그러나 국내 이동통신사들을 비롯한 장비 업체들은 앞다퉈 작은 영역에서부터 NFV를 상용화하고, 미래 기술 개발에 매진하고 있습니다. 대표적으로 SK텔레콤은 지난해 2월 LTE 기반 음성통화서비스인 HD보이스(HD Voice)를 대상으로 NFV 기술을 적용해 시범 운영했고, 지난해 9월 NFV 네트워크 가상화 센터인 'IPC'(ICT Product Center)를 구축하기도 했습니다. KT는 일본 NTT도코모, 알카텔-루슨트, 에릭슨 등 해외 장비 업체와 클라우드 인프라 등에 이 기술을 적용해나갈 계획입니다. LG유플러스는 이동통신 데이터망의 핵심 교환 장비인 'IP 멀티미디어 서브시스템(IMS)'에 NFV 기술을 적용, 상용화에 박차를 가하고 있습니다.

또 NFV 관련 국제 표준화 기구인 'ETSI NFV ISG'(European Tele-communications Standards Institute Network Functions Virtualization Industry Specification Group)에 국내 통신사들을 비롯해 세계 주요 네트워크 장비 업체들이 참여해 상용화에 필요한 표준화에 협력하고 있습니다. 

박지성기자 jspark@dt.co.kr








 출처 : http://www.dt.co.kr/article_list.html?gcd=3&scd=300&ig=324164&sel_y=2015&sel_m=02&sel_d=06









저작자 표시
신고

Comment +0

Concept and Characteristics of 5G Mobile Communication Systems

January 05, 2015 | By 이호원 교수 (국립한경대학교 전기전자제어공학과)



현재 우리가 사용하고 있는 3GPP LTE, LTE-A 시스템을 보통 4세대 (4G) 이동통신 시스템이라고 이야기 한다. 그렇다면 과연 5세대 (5G) 이동통신시스템이란 무엇인가? 5G 이동통신에 대해 알아보기 위해서 우리는 먼저 모바일 서비스의 메가트렌드를 살펴볼 필요가 있다.

 

[M1. 트래픽 양 증가] 첫째, 최근 멀티미디어 및 소셜네트워크 서비스 등에 대한 수요가 폭발적으로 증가하고 있다. 이에 따라서 모바일 트래픽 양이 엄청난 속도로 늘어나고 있으며, Internet of Things (IoT, 사물인터넷)의 등장으로 Things (사물들)의 숫자도 계속적으로 증가하고 있기 때문에 이에 따라 트래픽 양은 더욱더 폭발적으로 증가할 것으로 예상된다. 다시 말해서, 모바일 브로드밴드 서비스의 지속적인 확장과 통신 기능이 부여된 사물들의 증대는 계속적인 트래픽 양의 증대를 야기하게 될 것이다. Cisco의 VNI Global Mobile Data Traffic Forecast에 따르면 모바일 데이터 트래픽 양은 2013년 1.5EB (Exa Bytes, 1EB = 1,000,000TB)에서 2018년 15.9EB까지 증가할 것이라고 한다 [1]. 즉, Cisco의 예측에 따르면 모바일 데이터 트래픽이 2018년에는 현재의 약 10배정도 까지 늘어난다고 볼 수 있다.

 

[M2. 디바이스 수 증가] 둘째, 앞에서 언급한 것과 같이 인터넷 (네트워크)에 연결된 모바일 디바이스들과 사물들의 숫자가 각각 2013년, 7 Billion 개와 12.5 Billion 개에서 2018년 10.2 Billion 개와 50 Billion개로 폭발적으로 증가할 것으로 예상되고 있다 [1]-[3]. 모바일 디바이스들의 보급이 증가하는 것과 함께, 새로운 미래 5G 모바일 서비스, IoT 서비스를 실현하기 위한 다양한 things (웨어러블 디바이스, 센서, 엑추에이터 등)의 보급이 폭발적으로 증가하고 있다. 이러한 서비스들이 점점 더 활성화 됨에 따라 모바일 디바이스와 다양한 connected things (커넥티드 사물)의 숫자는 계속적으로 증가할 것으로 예상된다. 또한, 이러한 환경변화는 사용자들에게 다양한 use cases를 제공하면서 시스템에 계속적으로 새로운 요구사항들을 제시하게 될 것이다.

 

[M3, 클라우드 의존성 증가] 셋째, 클라우드 컴퓨팅 시스템에 대한 사용자 수요의 증가에 따라 모바일 (퍼스널) 클라우드 컴퓨팅 시장을 겨냥한 다양한 솔루션들이 개발되면서 PC 시대에서 모바일 클라우드 컴퓨팅 시대로의 전이가 더욱 가속화될 것으로 예상되고 있다 [4]. 이것과 비슷한 맥락에서, Cisco에서는 2020년까지 모바일 클라우드 트래픽 비율이 현재의 35%보다 2배 정도의 수준인 70%정도까지 증가할 것으로 예상하고 있다 [5]. 따라서, 5G 모바일 서비스는 대부분 모바일 클라우드 컴퓨팅 시스템을 기반으로 사용자에게 필요한 서비스를 제공하는 모습으로 변화하게 될 것을 예상할 수 있다.

 

[M4. 다양한 모바일 융합서비스 등장] 넷째, 증강현실/가상현실, 초고정밀 위치기반 서비스, 홀로그램 서비스, 스마트 헬스케어 서비스 등 모바일 서비스를 기반으로 한 다양한 분야에서의 모바일 융합서비스들이 등장하고 있으며, 이에 대한 추가적인 수요 또한 급증하고 있다 [6]. 따라서, 다양한 서비스들에 대한 안정적이며 끊김없는 지원을 위해 5G 이동통신 시스템에서는 이러한 다양한 서비스들의 요구사항을 만족시킬 수 있는 시스템의 개발이 필요하다.

 

5G 이동통신 시스템은 기본적으로 위에서 언급한 네 가지 주요 메가트렌드들 (트래픽 증가, 디바이스수 증가, 클라우드 컴퓨팅 의존성 증가, 다양한 5G기반 융합서비스 등장)을 필수적으로 고려하여 설계되어야 한다. 이러한 사항들을 고려하여 최근 다양한 나라와 회사들에서 5G 이동통신 시스템을 위한 기본 성능지표들에 대해서 제안하였으며, ITU-R (International Telecommunication Union – Radiocommunication Sector) WP (Working Party) 5D에서는 이러한 제안들을 기반으로 현재까지 총 8개의 핵심 성능지표 후보를 도출하였다 [7][8]. <표 1>에서와 같이 ITU-R WP 5D에서 도출된 핵심 성능지표들은 다음과 같다; user experience data rate (체감 전송률), peak data rate (최대 전송률), mobility (이동 속도), latency (전송 지연), connection density (연결기기 밀도), energy efficiency (에너지 효율), spectrum efficiency (주파수 효율), traffic volume density (면적당 용량). 
 
<표 1> ITU-R WP 5D에서 도출한 8개의 핵심 성능지표 후보들

 

 핵심 성능지표 (시스템 요구사항) 

내용

 

 User Experienced Data Rate (체감 전송률)

100Mbps – 1Gbps

 

 Peak Data Rate (최대 전송률)

10Gbps – 50Gbps

 

 Mobility (이동 속도)

Up to 500Km/h

 

 Latency (전송 지연)

 ~ 1ms (radio interface)

 

 Connection Density (연결기기 밀도)

106 – 107 per Km2

 

 Energy Efficiency (에너지 효율)

IMT-A 대비 50 – 100배 효율화

 

 Spectrum Efficiency (주파수 효율)

IMT-A 대비 5 – 15배 효율화

  Traffic Volume Density* (면적당 용량)           1TB - 10TB/s/Km*
 
* 영문명/성능값: TBD 

 

기존의 4G 이동통신 시스템과 달리 5G 이동통신 시스템은 여러가지 중요한 특징들을 가지고 있다. 본 고에서는 특히 가장 중요한 특징들 중의 하나인 latency와 user experienced data rate, 이 두 가지 특징들에 대해서 집중적으로 다루고자 한다. 

 

[R1. End-to-End Latency에 대한 고려] 

첫째로, 기존의 이동통신 시스템이 대부분 단말의 peak data rate 향상에만 초점을 맞추어 연구를 진행해 왔었던 것과는 달리, 5G 이동통신 시스템은 end-to-end latency (종단간 지연)를 고려한 이동통신 시스템 설계에 매우 큰 관심을 가지고 있다.

 

미래에는 증강현실, 가상현실, 실시간 온라인게임 등과 같은 다양한 실시간 (real-time) 인터랙티브 (interactive) 멀티미디어 서비스가 증가할 것이다. 이러한 서비스를 사용하는 사용자들이 자연스러운 인터랙션을 경험하기 위해서는 저지연 5G 무선통신 서비스의 제공이 꼭 필요하다 [9,10]. 일반적으로, 인간이 미디어를 통해 시청각 정보를 받아들일 때 느끼는 청각 정보는 약 100 ms 이내에 전달되어야 하며, 시각 정보는 약 10 ms의 허용 지연시간 이내에 전달되어야 한다 [11]. 만약 정보를 전달하는 데에 그 이상의 지연시간이 발생하게 된다면 사람들은 해당 서비스에 대해 부자연스러움 느끼게 된다. 더 나아가, 교통, 스포츠, 교육, 의료, 제조 등과 같은 다양한 무선통신 응용 영역에서 최대 수 ms 이내의 종단 간 지연 (end-to-end latency)을 요구하는 새로운 무선통신 서비스들이 창출될 것이다. 예를 들어, 차량 간 통신 (vehicular-to-vehicular (V2V) communications) 및 차와 인프라간의 통신 (vehicular-to-infrastructure (V2I) communications)은 교통안전 서비스 제공을 위하여 극단적으로 짧은 무선 통신 지연을 필요로 한다. 또한, 긴급한 상황에서 부상자가 이동 중인 경우에 로봇 등을 통한 원격 수술의 높은 신뢰성 및 안정성 보장을 위해서는 교통안전 서비스와 마찬가지로 매우 짧은 지연을 보장할 수 있는 무선통신 기술의 제공이 요구된다.
5G 이동통신의 핵심적인 기능으로 주목을 받고 있는 Tactile Internet은 촉감 정보가 전달될 만큼의 저지연 무선통신 서비스를 제공해 줄 수 있는 인터넷을 말하며, 사용자의 요청에 대해 극단적으로 짧은 반응 지연시간을 필요로 한다 [9,10,12]. [13,14]에 따르면, 인간의 오감 중 지연시간에 가장 민감한 촉감 정보를 무선통신 시스템을 통하여 제공한다고 가정할 때 사용자가 어색함을 느끼지 않도록 하기 위해서는 허용 지연시간을 1 ms 이내로 설정하는 것이 필요하다. 그렇지 못할 경우에는 사용자가 불편을 느끼게 되며 이것을 cyber sickness라 부른다. 이러한 cyber sickness 문제의 해결을 위해서는 사용자의 요청에 대하여 극단적으로 짧은 반응 지연시간을 가지는 무선통신 시스템 개발을 위한 사용자 중심의 서비스 시나리오 발굴 및 관련 기술의 개발이 필요하다. 또한, 인체에서 신경을 통해 전기신호가 전달되는데 걸리는 속도는 최대 120m/s 정도로 알려져 있다. 이는 손으로 느낀 감각정보가 10 ms 이내에 뇌까지 전달된다는 것을 의미한다. 따라서 무선통신 시스템에서 인체에서 신경을 통해 전기신호가 전달되는 것과 같은 만큼의 자연스러움을 반영하기 위해서는 수 ms 이내의 종단 간 지연시간의 보장이 필요하다. 

 

<그림 1>은 data rate (bandwidth)와 round trip time의 HTTP의 page load time (PLT)에 끼치는 영향을 살펴본 것이다 [15]. 이 그림에서와 같이 HTTP PLT를 줄이는 데에 있어서 data rate의 증가는 일정량 이상 증가가 되면 효과가 크게 없다는 것을 볼 수 있다. 즉, round trip time (RTT)를 고려한 시스템 설계 및 개발을 하지 않고 data rate 증가만을 목적으로 시스템을 개발할 경우 PLT의 감소를 더 이상 얻을 수 없다는 것을 확인할 수 있다. 따라서, 5G 이동통신 시스템에서는 이러한 다양한 이슈들을 해결하기 위하여 물리계층, medium access control (MAC) 계층, 네트워크 계층, 전송 (transport) 계층 등을 비롯한 다양한 관점에서 저지연 무선통신 기술 및 서비스와 관련된 다양한 연구 개발이 필요하다. 

 

<그림 1> data rate (bandwidth), round trip time 변화에 따른 PLT의 변화 by Vodafone [15] 

 

[R2. User Experienced Data Rate에 대한 고려] 

또한, 5G 이동통신 시스템은 end-to-end latency 감소라는 큰 목표와 함께 user experience data rate (체감 전송률) 향상을 중요한 목표 중 하나로 고려하고 있다. 먼저 peak data rate와 experienced user data가 어떤 차이를 가지고 있는지 살펴보는 것이 중요하다. ITU-R WP 5D의 5D/TEMP/390-E를 보면 peak data rate와 user experienced data rate가 다음과 같이 정의되어 있다 [8]

  • Peak data rate: peak data rate refers to the maximum achievable data rate per user. Future IMT systems should provide very high peak data rate capability that leads to high network capacity enabling new differentiated services and enriching the end user experience.
  • User experienced data rate: user experienced data rate is defined as the minimum data rate per user that should be achievable anytime anywhere. Future IMT systems should have the capability to provide anytime, anywhere [gigabit] data rate experience to mobile users. Also, Future IMT systems should provide an [“edgeless”] experience to the mobile users unlike the existing systems where the user experience is limited by the cell edge performance.

 

여기서 Future IMT systems은 5G 이동통신 시스템을 의미한다. 이 정의에서 보는 것과 같이 user experienced data rate의 보장을 위하여 5G 이동통신시스템은 어느 시간에, 어디에서든지 [gigabit] data rate를 사용자들에게 제공해 줄 수 있어야 한다. 기존의 4G까지의 이동통신 시스템이 cell edge 사용자들 성능 저하라는 큰 문제에 대한 근본적인 해결책을 제시하고 있지 못했었기 때문에, 5G 이동통신 시스템은 cell edge 성능 향상을 고려한 user experienced data rate를 중요 목표과제로 두고 해결하고자 노력하고 있다. Samsung Electronics 등 여러 회사들에서도 4G 이동통신 시스템과의 비교를 통하여 5G 이동통신 시스템은 사용자의 위치 (inner/outer/edge)에 상관없이 어디에서든지 1 Gbps를 사용할 수 있어야 한다는 것을 핵심 시스템 요구사항으로 제시하고 있다 [16]. 4G 이동통신 시스템 대비 user experienced data rate의 개선을 위하여 interference alignment/neutralization를 비롯한 다양한 interference management 기술, small cell network/heterogeneous network 기술, advanced MIMO/beamforming 기술 등의 많은 5G 후보기술들이 매우 활발히 연구되고 있다. 

 

<그림 2> Example of uniform experience regardless of user-location by Samsung Electronics

 

본 고에서는 먼저 모바일 서비스의 다양한 메가트렌드들 (트래픽 양 증가, 디바이스 수 증가, 클라우드 의존성 증가, 다양한 모바일 융합서비스 등장)에 대하여 살펴보았다. 또한, 이러한 메가트렌드들로부터 ITU-R WP 5D에서 도출된 8가지 핵심 시스템 요구사항들 (user experienced data rate (체감 전송률), peak data rate( 최대 전송률), mobility(이동 속도), latency (전송 지연), connection density (연결기기 밀도), energy efficiency (에너지 효율), spectrum efficiency (주파수 효율), traffic volume density (면적당 용량))을 알아보았다. 5G에는 기존의 4G까지의 이동통신 시스템들과는 다르게 새롭게 추가된 요구사항들이 많이 존재한다. 본 고에서는 특히 이 중에서도 가장 핵심 요구사항으로 고려되는 latency와 user experienced data rate의 의미와 그 역할에 대하여 구체적으로 알아보았다.

 

이 밖에도 디바이스/access point (AP)/기지국의 증가 및 이들의 밀집도와 관련이 있는 connection density, 다양한 서비스들의 등장으로 인한 디바이스에 새롭게 추가되는 기능들 및 프로토콜/알고리즘의 복잡화/효율화 등과의 깊은 관계가 있는 energy efficiency 등도 5G 이동통신 시스템에서 고려해야 하는 매우 중요한 문제들 중의 하나이다. 이러한 다양한 요구사항들을 반영하여 개발되는 5G 이동통신 시스템은 기존의 4G 이동통신 시스템과는 또다른 사용자 경험들을 사용자들에게 제공해줄 것으로 예상된다.

 


참고문헌

[1] VNI Global Mobile Data Traffic Forecast 2013-2018, Cisco, 2014
[2] Internet of Things, Cisco, 2013
[3] J. Gubbi et al., Internet of Things (IoT): A vision, architectural elements, and future directions, Elsevier Future Generation Computer Systems, pp.1645-1660, Feb. 2013
[4] Forbes, 6 Big Internet Trends to Watch for in 2012, Dec, 2011
[5] The Mobile Economy, GSMA, 2014
[6] ICT R&D 중장기 전략 (2013-2017), 미래창조과학부, 2013

[7] 제20차 ITU-R WP 5D 회의, TTA, 2014
[8] IMT Vision – Framework and overall objectives of the future development of IMT for 2020 and beyond, ITU, Feb. 2014
[9] G. Fettweis and S. Alamouti, “5G: Personal Mobile Internet beyond What Cellular Did to Telephony,” IEEE Communications Magazine, vol. 52, no. 2, pp. 140-145, Feb. 2014.
[10] G. Fettweis, “The Tactile Internet – Applications and Challenges,” IEEE Vehicular Technology Magazine, vol. 9, no. 1, pp. 64-70, Mar. 2014.
[11] M. T. G. Pain and A. Hibbs, “Sprint Starts and the Minimum Auditory Reaction Time,” J. Sports Sciences, vol. 25, no. 1, pp. 79–86, Jan. 2007.
[12] 한국방송통신전파진흥원, “5세대 이동통신의 새로운 이슈, Tactile Internet의 소개,” 방송통신기술 이슈&전망, Korea Communications Agency, no. 49, Feb. 2014.

[13] E. Steinbach et al., “Haptic Communications,” Proc. IEEE, vol. 100, no. 4, pp. 937–56, Apr. 2012.
[14] T. DeFanti and R. Stevens, “Teleimmersion,” Ch. 6, The Grid: Blueprint for a New Computing Infrastructure, Elsevier Series in Grid Computing, pp 131–55.
[15] Walter Haeffner, “Networks at the Speed of Light,” Symposium Das Taktile Internet, Oct. 2013.
[16] Wonil Roh, “5G Mobile Communications for 2020 and Beyond - Vision and Key Enabling Technologies,” EUCNC, Jun. 2014.

 

 

 

기고자 소개


이호원 교수 (hwlee@hknu.ac.kr, http://wsl.hknu.ac.kr)

  • 국립한경대학교 전기전자제어공학과 조교수 / KAIST IT융합연구소 겸직교수
  • IEEE GLOBECOM/VTC/WCNC/PIMRC Technical Program Committee (TPC) Member
  • 5G 포럼 서비스분과위원회 위원
  • 연구분야: 5G Wireless Communications, Ultra-Dense Distributed Network, Internet of Things

 









출처 : http://www.netmanias.com/ko/post/blog/7049/5g/concept-and-characteristics-of-5g-mobile-communication-systems

  <넷마니아는 제가 보기에 정말 훌륭한 곳입니다. 네트워크를 공부하기에 더 없이 좋은 사이트입니다.> 











저작자 표시
신고

Comment +0

근래에 들어서 기술의 빅 트렌드 중의 하나는 빅데이터와 NoSQL이다. 빅데이터와 NoSQL은 대용량의 데이터를 빠른 시간에 안전하게 처리할 수 있는 기술이기에 각광을 받고 있지만, 기술적 난이도도 높고 기능적 제약도 많은 탓에 일반적인 기업에서 제대로 된 이해 없이 도입했다가 오히려 낭패를 보는 경우가 많다. 이 글에서는 NoSQL의 등장 배경과 정의, 그리고 특성 등을 소개함으로써 NoSQL을 정확히 이해하고, 나아가 올바른 사용법을 점검하는 기회를 마련했다.

조대협 bwcho75@gmail.com|자바스터디 초대 운영자, 한국자바개발자협의회(JCO)의 1대 부회장을 거쳤고 현재 개인 블로그(http://bcho.tisoty.com)와 페이스북 서버사이드 아키텍트 그룹(http://www.facebook.com/groups/ serverside)을 운영하고 있다. BEA, NHN, 오라클 등에서 웹로직 등 미들웨어 기반 미션 크리티컬 시스템과 대규모 글로벌 분산 시스템 기술 지원, 개발 컨설팅 등을 수행했으며 마이크로소프트에서 클라우드 아키텍트로 활동했다. 현재는 국내 기업에서 아키텍트로 근무 중이며 글로벌 서비스를 커버하는 대규모 분산 시스템에 대한 설계 구현 업무를 맡고 있다.

인터넷 대중화에 이어 수년 전부터 SNS 서비스가 활성화되면서 컴퓨팅 시스템에도 변화가 찾아오기 시작했다.

NoSQL의 등장 배경
예전에 컴퓨팅 시스템은 기업 업무를 자동화하고 효율화하는 데 그 목적이 있었다. 그래서 기업의 복잡한 데이터를 저장하고 그 데이터 간의 관계를 정의하고 분석하는 데 최적화되어 있었다. 기업의 업무 시스템은 해당 기업의 생산과 판매를 지원하기 위한 것이었고 거기에서 생성되는 데이터양은 한계를 가지고 있었다.

그러나 2000년대에 들어서면서 인터넷의 발전과 함께 SNS 서비스가 활성화되면서 SNS 서비스 시스템은 특정 고객이 아닌 전 세계 사람들을 대상으로 하는 형태의 서비스로 발전되었고 이는 기존의 기업 시스템에서 볼 수 없었던 대규모 데이터를 생산해냈다. 또한 이 데이터들은 기존 기업 데이터에 비해 매우 단순한 형태를 띠게 되었다.

즉 데이터의 패러다임이 한정된 규모의 복잡성이 높은 데이터에서 단순한 대량의 데이터로 넘어가기 시작했다. 이는 기존의 데이터 저장 시스템으로는 커버할 수 없는 여러 가지 한계를 야기했고 결국에는 새로운 형태의 데이터 저장 기술을 요구하게 되었다.

이때 대표적인 인터넷 기업이면서 이러한 대용량 단순 데이터를 가장 많이 보유해 단순한 대용량 데이터 처리에 대한 요구가 가장 많은 구글과 아마존에 의해 빅테이블(Bigtable)과 Dynamo라는 논문이 발표되었고, 이 두 논문은 새로운 데이터 저장 기술을 만들어내는 시발점이 되었다.

이것은 기존의 오라클 등으로 대변되는 RDBMS 중심의 데이터 저장 기술 시장에 새로운 데이터 저장 기술인 NoSQL이 등장하는 계기였다. NoSQL은 Not Only SQL의 약자로 기존 RDBMS 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미한다. NoSQL이라고 해서 RDBMS 제품군(MS-SQL, Oracle, Sybase, MySQL) 등과 같이 공통된 형태의 데이터 저장 방식(테이블)과 접근 방식(SQL)을 갖는 제품군이 아니라 RDBMS와 다른 형태의 데이터 저장 구조를 총칭하며, 제품에 따라 각기 그 특성이 매우 달라서 NoSQL을 하나의 제품군으로 정의할 수는 없다.

NoSQL의 특징
그럼에도 불구하고 NoSQL은 기존 RDBMS에 비해 몇 가지 공통된 특징을 가지고 있다. 이를 정리하면 다음과 같다. 

● NoSQL은 RDBMS와는 달리 데이터 간의 관계를 정의하지 않는다
가장 큰 특징 중의 하나는 관계형 데이터베이스인 RDBMS가 데이터의 관계를 Foreign Key 등으로 정의하고 이를 이용해 Join 등의 관계형 연산을 한다고 하면, NoSQL은 데이터 간의 관계를 정의하지 않는다. 데이터 테이블은 그냥 하나의 테이블이며 각 테이블 간의 관계를 정의하지도 않고 일반적으로 테이블 간의 Join도 불가능하다.

● RDBMS에 비해 훨씬 더 대용량의 데이터를 저장할 수 있다
RDBMS의 복잡도와 용량 한계를 극복하기 위한 목적으로 등장한 만큼, 페타바이트급의 대용량 데이터를 저장할 수 있다.

● 분산형 구조
NoSQL은 기존의 RDBMS와는 다르게 하나의 고성능 머신에 데이터를 저장하는 것이 아니라, 일반적인 서버(인텔 계열의 CPU를 사용하는 Commodity Server) 수십 대를 연결해 데이터를 저장 및 처리하는 구조를 갖는다. 즉 분산형 구조를 통해 데이터를 여러 대의 서버에 분산해 저장하고, 분산 시에 데이터를 상호 복제해 특정 서버에 장애가 발생했을 때에도 데이터 유실이나 서비스 중지가 없는 형태의 구조다.

● 고정되지 않은 테이블 스키마 


< 표 1> RDBMS에서 간단한 테이블 구조 예제

RDBMS와는 다르게 테이블의 스키마가 유동적이다. 예를 들어 RDBMS의 경우 테이블이 <표 1>과 같은 형태로 되어 있을 때 해당 테이블은 반드시 숫자, 이름 문자열, 주소 문자열만 들어갈 수 있다.
그런데 NoSQL은 대부분 이런 개념이 없다. ID로 사용하는 키 부분에만 타입이 동일하고, mandatory(생략되지 않는) 필드로 지정하면 값에 해당하는 컬럼은 어떤 타입이든, 어떤 이름이 오든 허용된다. 즉 <표 2>와 같이 ID 필드는 공통이지만, 데이터를 저장하는 컬럼은 각기 다른 이름과 다른 데이터 타입을 갖는 것이 허용된다.


< 표 2> NoSQL에서 테이블 설계 예제

CAP 이론


<그림 1> CAP 기반의 DB 분류

NoSQL은 분산형 구조를 띠고 있기 때문에 분산 시스템의 특징을 그대로 반영하는데, 그 특성 중의 하나가 CAP 이론이다. 이 이론은 2002년 버클리대학의 Eric Brewer 교수에 의해 발표된 분산 컴퓨팅 이론으로, 분산 컴퓨팅 환경은 Consistency, Availability, Partitioning 세 가지 특징을 가지고 있으며, 이중 두 가지만 만족할 수 있다는 이론이다. NoSQL은 대부분 이 CAP 이론을 따르고 있다(<그림 1> 참조).

- Consistency는 분산된 노드 중 어느 노드로 접근하더라도 데이터 값이 같아야 한다는 기능적 특징이다(데이터 복제 중에 Query가 되면, Consistency를 제공하지 않는 시스템의 경우 다른 데이터 값이 Query 될 수 있다).
- Availability는 클러스터링된 노드 중 하나 이상의 노드가 FAIL이 되더라도, 정상적으로 요청을 처리할 수 있는 기능을 제공하는 특징이다.
- Partition Tolerance는 클러스터링 노드 간에 통신하는 네트워크가 장애를 겪더라도 정상적으로 서비스를 수행할 수 있는 기능이다.

그래서 NoSQL을 선택할 때는 이 CAP 이론을 이해하고 해당 NoSQL 제품이 CAP 중 어느 두 가지 특성을 가지고 있는지를 파악한 후에 업무 특성에 맞게 선택해야 한다.

NoSQL의 분류
NoSQL은 데이터 저장 구조에 따라 다음과 같이 크게 세 가지 분류로 정의될 수 있다.

● Key/Value Store
가장 기본적인 패턴으로 대부분의 NoSQL은 다른 데이터 모델을 지원하더라도, 기본적으로 Key/Value의 개념을 지원한다. Key/Value Store란 Unique한 Key에 하나의 Value를 가지고 있는 형태를 이야기한다. Put(Key,Value), Value := get(Key) 형태의 API로 접근한다.


< 그림 2> Key Value Store 데이터 구조

Value는 String이나 Integer와 같은 Primitive 타입이 될 수도 있지만, 이 정도로는 우리가 일반적으로 사용하는 테이블 형태의 데이터를 저장할 수 없다. 이런 까닭에 조금 더 확장된 개념을 사용하는데, 그것이 바로 Column Family라는 개념이다. Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는데 이를 Column Family라고 한다.


< 그림 3> Column Family 기반의 데이터 구조

예를 들어, 사용자 프로필을 저장하는 시나리오가 있을 때 사용자의 이름을 KEY로 한다면 성별, 주소, 나이들은 각각의 Column이 될 수 있다. Key 필드는 RDBMS에서 Primary Key, Column 필드들은 RDBMS의 일반 데이터 필드로 이해하면 된다. 프로그래밍 언어와 비교해서 생각한다면 Key/Value Store는 Map 데이터 구조와 유사하다.
Oracle Coherence나 Redis와 같은 NoSQL이 이 데이터 모델을 기본 모델로 사용한다.

● Ordered Key/Value Store
Key/Value Store의 확장된 형태로 Key/Value Store와 데이터 저장 방식은 동일하나, 데이터가 내부적으로 Key 순서로 Sorting되어 저장된다.


< 그림 4> Ordered Key/Value Store의 테이블 구조

Sorting이 대수롭지 않은 것 같지만, NoSQL 관점에서는 대단히 중요한 기능을 제공하게 된다. 뒤에 데이터 모델링 기법에서도 다루겠지만, NoSQL은 RDBMS의 Order By와 같은 기능을 제공하지 않기 때문에 결과값을 업데이트 날짜 등으로 Sorting해서 보여주는 것은 이 Ordered Key/Value Store가 절대적으로 유리하다. 대표적인 제품으로는 아파치(Apache)의 HBase, Cassandra 등이 있다.

● Document Key/Value Store
Key/Value Store의 확장된 형태로, 기본적으로는  Key/Value Store이다. Key에 해당하는 Value 필드에 데이터를 저장하는 구조는 같으나, 저장되는 Value의 데이터 타입이 Document라는 타입을 사용한다. Document 타입은 MS 워드와 같은 문서를 이야기하는 것이 아니라 XML, JSON, YAML과 같이 구조화된 데이터 타입으로, 복잡한 계층 구조를 표현할 수 있다. 


< 그림 5> Document Store 기반의 테이블 구조

아울러 Document Store 기반의 NoSQL은 제품에 따라 다르기는 하지만 대부분 추가적인 기능(Sorting, Join, Grouping 등)을 제공한다. 대표적인 제품으로는 MongoDB, CouchDB, Riak 등이 있다.

그리고 여기서는 구체적으로 다루지 않지만 Graph나 Tree와 같은 데이터 구조를 저장하기 위해 최적화된 Neo4J 등의 NoSQL이 있다. 만약에 테이블 구조의 데이터가 아니라 Graph 구조의 데이터를 저장하고자 한다면 Neo4J를 한번 고려해보길 바란다.

NoSQL 제품별 선호도
NoSQL 영역에는 수많은 제품이 있기 때문에 어떤 제품을 고를지는 매우 어려운 문제로 다가온다. 제품 특성이 유사하다 하더라도 교육은 쉬운지, 기술 지원은 가능한지, 오픈소스일 경우 지속적인 유지 보수 등은 가능한지를 판단해야 하는데, 다른 솔루션 선정과 마찬가지로 가장 손쉬운 판단 방법은 많이 쓰는 NoSQL을 고려하는 것이다. 


< 그림 6> Indeed.com의 구인자 분포 결과 분석을 통한 NoSQL 선호도

<그림 6>은 미국의 구인 사이트 자료를 토대로 작성한 각 NoSQL 제품별 구인자 수 변화 추이다.

< 그림 6>에서 보면 MongoDB가 제일 높고, Cassandra나 HBase가 그 뒤를 따른다. 그 다음으로는 Redis가 있으며 기타 NoSQL 제품들(Voldmort, Riak, CouchDB) 등이 따른다. MongoDB의 경우 RDBMS적인 특성을 가지고 있어서 기존 RDBMS 기반의 개발자들이 쉽게 적응할 수 있고 HBase나 Cassandra의 경우 대용량 데이터 저장과 성능 면에서 조금 더 유리하기 때문에 이런 추이를 보이는 것으로 판단된다.

NoSQL과 기존 RDBMS와의 차이
NoSQL이 DBMS라고 생각해서 RDBMS와 같은, 또는 떨어지지만 유사한 기능을 제공할 것이라고 생각하면 큰 오산이다. NoSQL은 데이터를 저장한다. 그리고 Key에 대한 Put/Get만 지원한다. RDBMS로 치면 다음과 같이만 딱 지원한다.

Put : Insert into TABLE VALUES(KEY,value1,value2,…,valuen)
Get : Select * from TABLE where KEY=”key”

물론 제품에 따라서 기능에 대한 지원 범위가 다르긴 하지만, 공통적으로 고민해야 하는 기능은 다음과 같다.

- Sorting (SQL의 Order By)
- Join (RDBMS에서 2개의 Table을 Foreign Key를 이용해 join)
- Grouping (SQL 문의 group by)
- Range Query (where key>“start” and key<“end”와 같이 일정 범위 내의 내용을 쿼리해오는 기능)
- Index (RDBMS에 Index를 지정해 select query 성능을 높이는 기능)

RDBMS에서는 너무나도 익숙하게 사용했던 기능들이기 때문에, 막상 이 기능들을 빼고 데이터를 다루고자 하면 매우 불편하다. 여기서는 이러한 기능들을 ‘NoSQL 데이터 모델링 패턴’ 소개를 통해 NoSQL에서 어떻게 구현할 수 있는지 알아볼 것이다.

NoSQL 사용시 주의할 점
NoSQL이 나온 지 수년이 지나긴 했지만, 특히 국내에서는 아직까지 NoSQL에 대한 경험이 매우 적은 편이다. 또한 NoSQL이라는 이름으로만 묶여 있지, 각 제품군에 따른 특성이 매우 다르기 때문에 특정 제품의 경험을 다른 제품에 적용하기도 매우 어렵다. 그럼에도 불구하고 최신 기술이라는 이름과 빅데이터라는 패러다임에 묶여 많이 검토되고 있는 게 지금의 상황이다. 그럼 NoSQL을 사용할 때 주의해야 할 점은 무엇일까?

● 과연 NoSQL이 필요한가?
먼저 NoSQL이 정말로 필요한지를 판단해야 한다. NoSQL이라는 새로운 기술과 제품군을 사용하려면, 그에 들어가는 교육과 개발 비용들이 결코 만만치 않다. 기존의 Oracle이나 MySQL과 같은 RDBMS를 사용해도 국내 대부분의 서비스는 구현이 가능하다. 데이터가 늘어나면 추가 RDBMS 클러스터를 추가해 용량을 증설하는 방법도 있다(카카오톡의 경우 MySQL을 사용해 서비스하고 있으며 여러 MySQL 인스턴스에 데이터를 분산해 저장하는 형태를 사용한다).

물론 여러 RDBMS에 걸쳐서 데이터를 저장하는 것보다는 NoSQL 클러스터 하나만 사용하는 것이 운영 등에 있어서 효율적이기는 하지만, 그만큼 만만하지 않다는 것이다. 

과연 현재 업무에 NoSQL이 적절한지 그리고 그 정도의 데이터 용량이 필요한지 판단해 볼 필요가 있다. 벤처에서 1억 명을 대상으로 한 서비스를 만들려고 시도할 때 NoSQL이 적합해 보이지만, NoSQL을 공부하는 데 시간이 들어가고 운영하면서 수많은 장애를 겪다 보면 사용자들은 다 떨어나갈지도 모른다. MySQL 등 기존의 익숙한 기술을 사용하다가 MySQL로 도저히 용량 감당이 되지 않을 경우에 NoSQL로의 전환을 고려하는 것은 어떨까? MySQL로 용량이 안 된다면 그때는 이미 사업이 성공했을 때이므로, NoSQL로 전환할 기술력이나 자금력도 충분할 것이다(실제로 페이스북도 MySQL로 서비스하다가 수년 전에 Cassandra로 전환했다).

● 적절한 NoSQL 제품군의 선정
앞서도 설명했지만, NoSQL은 RDBMS가 아닌 것의 약자이다. 즉 RDBMS만 아니면 모두 NoSQL이기 때문에 그 특성이 매우 다양하다. 따라서 각 NoSQL의 특성을 잘 파악하고 업무와 팀의 특성에 맞는 제품을 선정하는 것이 첫걸음인 셈이다.

예를 들어 Riak의 경우 기술 지원이 가능하며 2nd Index 및 Full Text Search가 지원된다. MongoDB의 경우에는 RDBMS와 유사한 기능을 가지고 있으므로 사용이 매우 편리하지만, 반대로 타 NoSQL에 비해 용량적인 한계를 갖는다. 

Cassandra의 경우, 구조적인 특성상 쓰기 성능(Write Performance)이 매우 우수하다. 이외에도 데이터가 Sorting이 되는지, Consistency 적용은 어떻게 되는지 등에 대해 이해한 후에 알맞은 NoSQL을 선택해야 한다.

● 데이터 모델링
NoSQL은 기본적으로 RDBMS와 다르다. 데이터 저장 방식도 다르고 기능도 부족하기 때문에, RDBMS처럼 데이터 모델링을 하면 100% 성능 문제가 생길 수밖에 없다.

RDBMS가 데이터 모델링에서부터 시작해서 정규화를 통해(중복 제거) 테이블을 만들어내고, 해당 테이블을 통해 쿼리를 수행해 결과를 뽑아낸다고 하면, NoSQL은 이와 정반대의 접근이 필요하다. 먼저 수행할 쿼리를 정의하고 이에 맞춰 데이터 테이블을 정의하고, 성능을 높이기 위해 일부로 중복을 허용해 테이블을 정의해야 한다.

사실상 NoSQL은 이 데이터 모델링이 설계의 90%라고 봐도 된다. NoSQL의 데이터 모델링에 대해서는 이어지는 2부에서 자세히 설명하기로 하겠다.

● RDBMS와 적절한 혼합
NoSQL은 데이터를 저장하기는 하지만, 복잡한 데이터 저장이나 쿼리에는 한 없이 부족하다. 대용량 데이터를 빠르게 저장 및 쿼리하는 데 최적화된 기술이지만, 서비스 시스템에는 당연히 복잡한 데이터도 있고 관계 정의가 필요한 경우도 있다. NoSQL을 사용할 때는 모든 데이터를 NoSQL에 저장할 생각을 하는 것보다는 인덱스성 데이터나 복잡한 쿼리가 필요한 데이터는 RDBMS에 저장하고, 실제 데이터 등을 NoSQL에 저장함으로써 RDBMS와 NoSQL을 적절하게 혼합해 사용토록 설계하는 것이 좋다.

● 하드웨어 설계 병행
NoSQL을 사용할 때는 처음부터 하드웨어 설계를 병행하는 것이 좋다. 디스크 RAID 구성은 할 것인지 말 것인지, 한다면 어떤 RAID 구성을 할 것인지 등을 고려한다. 

그리고 NIC, 데이터 트래픽을 위한 부분과 관리(management)를 위한 부분을 물리적으로 분리하는 것이 좋으며, 대역폭은 1G를 사용할 것인지 10G를 사용할 것인지도 결정해야 한다. 또한 물리적인 디스크 수에 따라 성능 변화가 많은 만큼 같은 용량이라도 몇 개의 디스크를 사용할 것인지 등에 대해서도 고민해야 한다. 따라서 NoSQL 제품을 결정하고 하드웨어를 도입하기 전에 레퍼런스를 충분히 검토하고 PoC(Proof of Concept)를 거쳐야 한다.

● 운영 및 백업
RDBMS를 운영하면 DBA가 당연히 따라 붙는다. NoSQL도 DB인 만큼, 당연히 운영과 관리를 위해 administrator가 필요하다. 일반적인 WAS(톰캣과 같은 웹서버)에 비해 복잡도가 훨씬 높고 분산되어 있으며 하드웨어까지 함께 관리 및 관제해야 하기 때문에 반드시 전문적인 administrator가 있어야 하며, 시스템에 대한 체계적인 모니터링 방안 등의 운영 체계가 수립돼야 한다.

특히 NoSQL의 용량을 증설할 때는 단순히 서버만 증설해서 되는 제품도 있지만, 대부분은 기존 서버에 새로운 서버를 포함해서 데이터를 재분배시키는 등의 작업이 필요하다. 이러한 작업은 철저한 사전 연습과 경험이 없으면 운영 과정에서 데이터를 유실할 우려가 있으므로 증설에 대한 운영 정책을 가지고 있어야 한다. 

NoSQL이 분산 및 복제 구조를 통해 데이터의 안정성을 보장하지만 앞에서 언급한 바와 같이 운영상의 실수 또는 데이터센터 자체의 장애(특히 클라우드 사용시)로 데이터가 유실되는 경우가 발생할 수 있으므로 백업에 대한 방안도 똑같이 고려돼야 한다.

지금까지 NoSQL에 대한 개념과 특징 등을 설명했다. NoSQL은 대용량의 데이터를 빠르고 안전하게 저장할 수 있다는 점에서 분명히 훌륭한 기술이기도 하지만, 그만큼 기술적인 난이도가 높고 다루기가 쉽지 않다. NoSQL은 절대 ‘은탄환(Silver Bullet)’과 같은 특효약이 아니다. 반드시 제대로 된 이해와 철저한 준비가 있어야만 사용할 수 있는 기술이다.

이어지는 글에서는 NoSQL에서 가장 중요한 데이터 모델링 기법을 소개하고, 대표적인 NoSQL 제품들을 하나하나 살펴보기로 한다.

 

 

 

 

 

 

 

 

 

출처 : http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=42440

         월간 마이크로소프트웨어 2013년 3월호 / Cover Story 1

 

 

 

 

 

 

 

 

 

 

 

신고

Comment +0

보안 업계의 뜨거운 테마로 'DPI(Deep Packet Inspection)'가 급부상 하고 있다. DPI는 기술적으로도 이슈지만 망 사업자들이 패킷 깊숙한 곳까지 들여다 보며 사적인 정보까지 캐낼 수 있다는 우려의 목소리 또한 높다. 참고로 본 칼럼에서는 시장 및 제도 관점이 아니라 DPI라는 새로운 패러다임 앞에서 오픈 소스 진영에서 어떤 움직임을 보이고 있는지 조망해보겠다.

대표적인 오픈소스 DPI 기술로 스노트(snort)와 미국 정부의 지원을 받고 있는 수리카타(Suricata)를 꼽을 수 있다. 스노트나 수리카타는 침입탐지시스템(IDS/IPS) 엔진이 아닌가? 그런데 뜬금없이 DPI라니! 의아한 독자도 있을 것이다.

DPI는 보안 기술 측면에서 볼 때 IDS/IPS의 미래 모습이다. 현재 IDS/IPS에서 불가능한 패킷 깊숙한 곳까지 일일이 들여다 보는 기술이 바로 DPI이고 당연히 스노트나 수리카타 역시 이를 지향하고 있다. 비단 이들뿐 아니라 netmap, PF_RING DNA, PacketShader 같은 오픈 소스 도구들 역시 DPI와 연결 고리를 찾을 수 있다.

그렇다면 다가오는 거대 물결인 DPI 시장에서 오픈소스는 과연 어떤 역할을 할 것인가? 스노트를 예로 들어 보면 기능적으로는 충분히 상용 솔루션들과 어깨를 나란히 할 것이라 감히 말하고 싶다.

그렇다면 IDS/IPS 시절처럼 성능이 발목을 잡지는 않을까? 스노트는 기능 면에서는 장족의 발전을 거듭해온 반면 패킷 입출력(I/O) 처리 면에서는 눈에 띌만한 개선이 없었다. 당연히 DPI까지 수용하며 기능이 강화된다 해도 상용 장비에 이를 얹을 시 성능 고민을 하지 않을 수 없다. 하지만 최근 동향을 보면 성능은 더 이상 이슈가 되지 않을 전망이다.

결론부터 말하자면 오픈소스 기반 DPI의 경우 성능 강화의 길이 다양하다. 성능 강화 방법은 대안을 찾아 연계하는 것이 하나 있고, 또 하나는 최신 멀티코어 프로세서의 힘을 빌리는 것이다.

먼저 대안을 통한 성능 향상 방안으로 netmap, PF_RING DNA, PacketShader 등의 활용이다. 이들은 스노트에서 패킷 캡처를 위해 사용하는 pcap의 성능 이슈를 극적으로 해결한 기술들이다. 이들은 pcap과 유사한 패킷 수신 인터페이스를 통한 패킷 송신 방법을 제공한다. 샌디브리지급 데스크톱에서 시험해 보면 64바이트 패킷의 경우 10~20Gbps 포워딩 성능을 어렵지 않게 얻을 수 있다. 더욱 높은 사양의 데스크톱을 쓸 경우 더 나은 성능을 이끌어 낼 수 있다.

다음으로 프로세서의 힘을 빌리는 방법이 있다. 네트워크 프로세서를 아는 독자라면 과거 목적에 따른 특수 설계 기반 프로세서가 주류를 이루던 것이 최근에는 범용적으로 다양한 제품 개발에 적용할 수 있는 프로세서가 대세가 되었다는 것을 잘 알 것이다. 네트워크 프로세서 업계의 대표 주자인 Cavium과 Tilela의 최근 행보를 보면 36개에서 48개까지 많은 수의 코어를 집적한 프로세서를 출시하고 있다. 낮은 클럭으로 동작해 전력 소모를 줄이는 동시에 코어 집적도를 높여 성능 부족을 메우는 것이 이들 업체의 공통적 전략이다.

이런 네트워크 프로세서들의 범용화, 고집적화, 저전력화는 오픈소스, 특히 스노트에 있어 성능 극대화의 새로운 가능성을 열어 주고 있다. Cavium과 Tilela 역시 자사의 프로세서 성능 평가 지표로 스노트를 올렸을 때 벤치마크 값을 제시하고 있다.

실제로 보안 장비 개발 업체에서는 Cavium과 Tilela의 프로세서 상에 스노트를 코어 마다 올려 병렬로 가동시켜 네트워크 입출력 성능을 끌어 올리고 있다. 개발사에서 할 일은 병렬화에 대한 최적화 작업을 잘 하면 그만이다. 그렇다면 어느 정도까지 성능이 개선될 것인가? 놀라지 마시길! 최근 스노트 스폰서 회사 중 한 곳에서 멀티 코어 장비에 스노트를 올린 Next-Generation IPS란 제품을 출시했는데 그 성능이 무려 40Gbps급에 이른다.

오픈소스 기반 DPI 성능 보장에 대한 긍정적 시그널은 네트워크 프로세서 업계뿐 아니라 인텔에서도 감지되고 있다. 인텔이 네트워크 프로세서 사업을 매각할 때만 해도 시장에서 완전히 손을 떼는 줄 알았다. 하지만 실상은 그게 아니었다. x86 프로세서 상에 모든 것을 다 담겠다는 의지를 가지고 관련 칩 통합부터 패킷 입출력을 위한 개발 킷, 써드파티 툴 보강까지 일사 분란하게 움직이며 화려한 귀환을 했다.

인텔의 경우 네트워크 프로세서 진영과 달리 2.0Ghz를 넘는 높은 클럭의 코어를 가진 프로세서를 사용하기 때문에 소비 전력이 높고 발열량 또한 많다. 반면에 보다 적은 수의 코어로 높은 성능을 낼 수 있다. 이는 분명한 장점이다. 일 할 때 사람이 늘수록 오버헤드가 커져 작업이 더뎌진다는 것을 떠올려 보면 코어 수가 많다고 무작정 좋지 많은 않다는 것을 유추해 볼 수 있다. 인텔 만의 장점이 무엇인지 쉽게 이해할 수 있다.

정리해 보자면 IDS/IPS 시장에서 보여 준 오픈소스 기반 솔루션들의 영향력은 DPI 분야까지 명백히 이어질 것이다. 앞서 언급한 바와 같이 DPI라는 높은 목표 아래 관련 오픈 소스들이 긴밀히 연계되며 하나의 모습을 보여주고 여기에 더해 프로세서 기술의 발전까지 더해진다면... 오픈소스 DPI가 시장의 주류가 될 것이란 것은 상상이 아니라 현실이 될 가능성도 높다.

이런 추이는 네트워크 및 보안 관련 고성능 장비 시장의 진입 장벽이 낮아지고 있는 것과도 연관시켜 볼 수 있다. 그 동안 네트워크 및 보안 관련 장비 성능 확보는 몇몇 선도 주자들이 아무에게도 알려주지 않는 레시피 같은 것이었다. 그러던 것이 이제 누구에게나 레시피가 공개되는 분위기다. 이런 시장의 변화 속에서 오픈 소스 기반 상용 제품들이 어느 정도 위력을 발휘하며 나름의 자리를 잡아 갈지 그 귀추가 주목된다.

 

 

 

 

출처 : http://www.zdnet.co.kr/column/column_view.asp?artice_id=20121015094059&type=det

 

 

 

 

 

 

 

신고

Comment +0

제 6회 블랙 덕 오픈 소스 올해의 루키(Black Duck Open Source Rookies of the Year)는 작년에 시작된 최고의 오픈소스 프로젝트들을 선정해 시상한다. 올해의 수상자들은 클라우드 컴퓨팅, 소프트웨어 가상화, 프라이버시, 소셜 미디어, 사물 인터넷 등이다. 수상자 선정은 블랙덕의 올로(Ohloh) 사이트에서 수집된 통계와 선도 오픈 소스 소프트웨어 디렉토리에 기반해 전체 커밋(commits)과 커미터(commiters), 커미터들에 걸친 커밋 배분, 소셜 미디어 트래픽 등을 기준으로 했다. editor@itworld.co.kr 

애피엄
애피엄(Appium, http://appium.io )은 네이티브와 하이브리드 모바일 앱을 위한 오픈 소스 테스트 자동화 프레임워크다. 애피엄은 웹드라이브(WebDriver) JSON 와이어 프로토콜을 통해 iOS와 안드로이드 앱을 구동시킨다. 모바일 앱이 우리의 운영 인프라 핵심이 되어감에 따라, 애자일 개발을 위한 자동화된 테스팅이 필요해졌다. 애피엄은 iOS와 안드로이드상의 네이티브와 하이브리드 모바일 앱 모두의 테스팅을 위한 광범위한 플랫폼을 제공한다. 기업은 그들의 증가하는 요구를 지원하기 위한 단일 테스팅 툴로 활용할 수 있다. 원래는 확장 가능하고 자동화된 테스트 환경을 구축하는 소스랩(SauceLabs)으로 시작했지만, 애피엄은 급속도로 확장하는 다양한 개발자 커뮤니티에서 새 활로를 모색해왔다.

다커
다커(Docker, https://www.docker.io)는 오픈소스 프로젝트 루키에게는 드문 유형의 흥분을 자아내왔다. 다커는 모든 애플리케이션의 경량, 이동형, 자족식 컨테이너의 손쉬운 생성을 가능하게 하는데 있다. 개발자가 노트북에서 구축하고 테스트한 동일 컨테이너를 확장해 VM, 베어 메탈(bare metal), 오픈스택(OpenStack) 클러스터, 공공 클라우드상에서 실행된다. 다커는 닷클라우드(dotCloud)라는 작은 기업이 시작했지만, 점점 기반이 튼튼해졌고 레드햇과 구글 등 대기업의 주목을 받았다. 다커를 이용하면 기업들이 다양하게 개발한 자체 앱에서 실행할 수 있고 동시에 개발자에게 언어와 툴 선택의 자유를 준다.

엑서시즘
엑서시즘(Exercism, http://exercism.io)은 프로그래밍 언어를 배우는 이들을 위한 협력적 교육 툴로, 학생들의 협동학습을 지원하기 위해 미국 콜로라도주의 작은 기술학교 강사인 카트리나 오웬가 시작한 이후 큰 성공을 거뒀다. 오웬은 이 툴을 통해 학생들의 프로그래밍 언어 이해가 크게 향상됐음을 바로 실감했다. 카트리나는 단지 가르치던 학생을 위해 엑서시즘을 시작했지만, 다른 학생들과 교육자들은 그 장점을 빠르게 알아보고 이 프로젝트를 활용함과 동시에 엑서시즘에 기여하기 시작했다. 엑서시즘은 현재 고(Go), 커피스크립트(CoffeeScript), 자바스크립트(JavaScript), 자바(Java), 러스트(Rust), 얼랑(Erlang)을 포함한 13가지 언어를 지원하며 앞으로 더 추가될 예정이다. GNU 아페로 제네럴 퍼블릭 라이선스(GNU Affero General Public License)에 따라 배포된다.

고스트
웹상에 콘텐츠를 퍼블리시한다는 한가지 목표만을 설정하고 있는 고스트(Ghost, https://ghost.org)는, 아름답게 설계되었고, 완벽히 커스터마이징 가능하며, 완전히 오픈소스다. 코스트는 사용자 스스로 블로그를 작성하고 포스트할 수 있게 해줘 이를 쉽고 심지어 재미있게 할 수 있게 만드는 툴을 제공한다. 단순하고, 우아하며, 블로그를 만드는데 소요되는 시간 낭비를 줄이고 블로그 활동에 더 시간을 쓸 수 있도록 설계됐다. 현재는 단일-사용자 블로깅에 한정되어 있지만, 이 플랫폼은 안정적이고 급속하게 성장하고 있다. 고스트는 MIT 라이선스하에 배포되고 있으며, 활용에 대한 제한이 가장 적은 편에 속한다.

인플럭스DB
인플럭스DB(InfluxDB, http://influxdb.org)는 시계열, 이벤트, 메트릭스 데이터베이스다. 고(Go)로 작성되었으며 외부 의존도가 없어서 한번 설치하면 더 이상 관리할 필요가 없다는 점에서 레디스(Redis), H베이스(Hbase) 등과 다르다. 분배와 수평적 확장을 염두에 두고 설계됐지만 단일 기기에서 실행해도 유용하다. 시계열과 분석과 함께 사용되도록 만들어진 SQL같은 쿼리 언어도 포함돼 있다. 인플럭스 DB는 2013년 9월 23일 처음 커밋을 시작해 이제 채 6개월이 안 된 신생 프로젝트다.

오픈데이라이트
오픈데이라이트(OpenDaylight, http://www.opendaylight.org)의 목표는 다른 요소 없이 직접적으로 배치할 수 있는 완전하게 기능적인 SDN 플랫폼을 제공하는 것이다. 다양한 생산 네트워크 환경 배치에 적합한 오픈, 표준-기반 SDN 컨트롤러 플랫폼을 구축하는데 초점이 맞춰져 있다. 모듈러 컨트롤러 프레임워크에 더해, 오픈데이라이트에는 수많은 표준과 이머징 SDN 프로토콜, 가상화와 서비스 추가 같은 네트워크 서비스, 잘 정의된 애플리케이션 API, 물리적 기기 인터페이스와 가상 스위치 향상 같은 데이터 플레인 요소 등에 대한 지원이 추가될 것으로 보인다.

오픈사물인터넷
오픈사물인터넷(OpenIoT, http://openiot.eu)는 유럽연합 집행위원회의 자금지원을 받은 연구 프로젝트로 클라우드 컴퓨팅 제공 모델을 활용하는 새로운 오픈, 대규모, 지능형 사물인터넷 애플리케이션을 새롭게 총체적으로 활성화하는 것이 목표다. 이 프로젝트는 인터넷-연결 대상(센서 네트워크)들의 모빌리티 측면에 초점을 맞춰 에너지 효율적인 센서 데이터 수집과 그 데이터의 클라우드로의 전송을 추구한다. 오픈사물인터넷은 다양한 객체들 사이의 시맨틱 상호작용과 정보처리 상호운용을 활성화하기 위해 존재론과 시맨틱 구조를 통합시켜, GSN과 어스파이어RFID(AspireRFID) 프로젝트가 제공했던 기존의 시맨틱 상호작용에 비해 중대한 발전을 제공한다.

서버스펙
서버스펙(Serverspec, http://serverspec.org)은 다른 모든 구성 관리 툴과 독립적으로 서버 구성을 테스트하는 단순한 접근방식을 제공한다. 서버스펙을 사용하면 서버 구성을 확인할 수 있는 R스펙(Rspec) 테스트를 작성할 수 있다. R스펙은 서버의 실제 상태를 SSH 접속을 통해 테스트하므로 서버에 에이전트 소프트웨어를 설치할 필요가 없다. 퍼펫(Puppet), 셰프(Chef), CF엔진(CFEngine) 등을 포함한 다른 유명 구성 관리 툴과도 조합해 사용할 수 있다. 현재 서버스펙은 레드햇-기반 운영체제, 데비안(Debian)-기반 운영체제, 젠투(Gentoo), 솔라리스(Solaris), 다윈(Darwin)-기반 운영체제들을 지원한다.

톡스
프로젝트 톡스(Tox, http://tox.im)는 AIM, 스카이프(Skype)등을 대체하기 위한 보안 IM과 영상채팅 애플리케이션이다. 미국 국가 안보국(NSA)의 프라이버시 침해 논란 이후 상당히 관심을 받았다. 톡스는 사용이 쉬운 올-인-원 소통 플랫폼으로 문자, 음성, 영상 채팅이 가능하고, 업계 최고 수준의 암호화를 사용해 완전한 프라이버시를 제공한다. 톡스는 광고나 기능 유료화로 사용자를 괴롭히지 않겠다고 약속했다.

X프라이버시
X프라이버시(Xprivacy, https://github.com/M66B/XPrivacy)는 애플리케이션을 통한 데이터 유출을 막기 위해 만들어졌다. 앱에 가짜 데이터를 피딩하거나 아예 데이터를 들이지 않는 방식으로 애플리케이션이 접속할 수 있는 데이터 카테고리를 제한시킨다. 예를 들어, 애플리케이션이 연락처에 접속하는 것을 제한하면, X프라이버시가 빈 연락처 목록을 앱에 보낼 것이다. X프라이버시는 인터넷과 SD카드같은 외장 스토리지 접속을 제외한 승인들은 철회하지 않아서, 애플리케이션의 접속을 완전히 차단하지 않고도 데이터 유출을 방지하는 훌륭한 솔루션이다.

선외 가작: 플라이트
플라이트(Flight, https://www.ohloh.net/p/flightjs)는 웹 애플리케이션에 데이터 렌더링이나 제공에 특정 접근방식을 규정하지 않는다는 점에서 다른 자바스크립트 프레임워크들과 다르다. 요청이 어떻게 보내지는지, 어떤 템플레이팅 언어를 사용하는지, 심지어 HTML을 클라이언트 혹은 서버에 렌더링하는지도 따지지 않는다. 몇몇 웹 프레임워크는 개발자가 그들의 코드를 규정된 모델 레이어에 맞춰 배치하도록 장려하지만, 플라이트는 기존 DOM 모델에 맞춰 DOM 노드에 직접적으로 기능성이 매핑되어 조직되어 있다. 플라이트는 앵귤러(Angular)나 엠버(Ember)같은 몇몇 인기 자바스크립트 프레임워크만큼 배우고 사용하기 쉽지 않지만, 아키텍쳐상으로 막대한 유연성을 제공해 더 복잡한 애플리케이션 작성에 적합하다.

 

 

출처 : http://www.itworld.co.kr/

 

신고

Comment +0

티스토리 툴바