ETL(Extraction, Transformation, Loading)
ETL이란 데이터 웨어하우스(DW, Data Warehouse) 구축 시 데이터를 운영 시스템에서 추출하여 가공(변환, 정제)한 후 데이터 웨어하우스에 적재하는 모든 과정을 말한다.
일반적으로 발생하는 데이터 변환에는 필터링, 정렬, 집계, 데이터 조인, 데이터 정리, 중복 제거 및 데이터 유효성 검사 등의 다양한 작업이 포함된다.
데이터웨어하우스(DW, Data Warehouse)
Raw Data를 통한 분석자료를 제공하여 조직내 의사결정을 지원하는 정보관리 시스템
DW 4가지 특성
- 주제지향(Subject Oriented): data를 categorizing하여 End User에게 이해하기 쉬운 형태 제공
- 통합(Integrated): raw data를 일관적인 포맷으로 변환하여 저장
- 시계열(Time Variant): DW내의 data는 일정기간동안 정확성을 나타낸다.
- 비휘발성(Nonvolatile): DW에 적재 후 일괄처리(batch) 작업에 의한 갱신 이외에는 삽입, 삭제 등의 변경이 수행되지 않는다.
AWS는 DW를 아래의 3가지 티어로 나누고 있다.
- 하단티어: DB Server
- 중간티어: data를 액세스하고 분석하는 데 사용되는 분석 엔진으로 구성
- 상단티어: 통계, 분석, 데이터 마이닝 및 AI를 통해 결과를 제시하는 프론트엔드
DW의 이점
- 더 나은 의사 결정
- 여러 소스로부터의 데이터 통합
- 데이터 품질, 일관성 및 정확성
- 인텔리전스 기록
- 분석 처리프로세스를 트랜잭션 데이터베이스로부터 분리하여 두 시스템의 성능을 모두 향상시킴
카카오의 DW 운영 예시(Slide p5, OLAP-OnLine Analysis Processing)
- A 기사를 본 사용자들의 연령대 비율 - 30대 90%
- IT 카테고리 기사 中 가장 인기있는 기사 - A기사
- A기사를 본 User가 같이 많이 보는 기사 - B, C기사
- 아이폰7에 관심있는 User는? N명, Ryan
참고
https://aws.amazon.com/ko/data-warehouse/
https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0_%EC%9B%A8%EC%96%B4%ED%95%98%EC%9A%B0%EC%8A%A4
https://www.slideshare.net/deview/236-67609108
https://docs.microsoft.com/ko-kr/azure/architecture/data-guide/relational-data/etl
http://21flowers.tistory.com/entry/ETL%EC%9D%B4%EB%9E%80
출처: https://pizzaplanet.tistory.com/entry/Data-Warehouse-ETL-간략-개념-정리 [pizzaplanet]... 더보기
- 전체 8 건 (1/1페이지)
EAI (Enterprise Application Integration)
EAI 개념과 필요성
전사적 엔터프라이즈 통합으로 진화하는 EAI
EAI 시장에 대한 낙관적인 전망을 반영하듯 최근에는 금융권을 중심으로 EAI 도입을 검토중인 기업들이 점차 늘고 있다. 이는 기업들의 패키지 애플리케이션과 웹 시스템 통합뿐 아니라 데이터 연동의 수요가 빠르게 증가할 것으로 기대되는 가운데, EAI에 대한 관심도 점차 높아지고 있기 때문이다. 이에 EAI 개념과 필요성은 무엇이며, EAI 시스템을 구성하는 핵심 요소와 EAI 지향점들에 대해 짚어봤다.
EAI의 개념과 필요성
EAI(Enterprise Application Integration)란 기업과 기업 내부의 다양한 시스템과 애플리케이션을 통합하며, 다양한 애플리케이션간의 관계와 비즈니스 프로세스의 근간을 이루는 트랜잭션 네트워크를 관리해주는 개념이다.
은행의 경우를 예로 들어 설명하면 EAI의 필요성은 더욱 분명해진다. ▲ 예금 업무, 대출, 상품 등의 정보를 관리하는 계정계 ▲ 영업지원정보와 유동성 관리 업무를 담당하는 정보계 ▲ 입금, 출금, 이체 업무를 담당하는 인터넷뱅킹 ▲ 환전, 송금 투자 등의 업무를 맡고 있는 대외계와 이 밖에도 고객 관리를 위한 CRM 등 일반적으로 은행에서는 상당히 복잡하고 다양한 업무가 혼재하고 있다. 하지만 이들 업무는 상호 긴밀한 연관을 가지고 있으며, 서로 다른 업무간 정보의 공유와 통신이 가능해야 전체적인 은행 업무가 진행될 수 있다.
이런 이유로 최근에는 은행권에서도 계정계와 정보계 업무를 통합하기 위해 EAI 도입을 활발하게 추진하고 있다. 특히 올 하반기에는 EAI 업체들의 대 금융권 수주가 가시화될 전망이다. 이처럼 국내 은행들이 EAI를 도입하는 것은 일반적으로 메인프레임과 단위 업무용 서버 데이터간의 통신을 보장하기 위해서다.
실제로 금융 업계에서는 메인프레임 상에서 수행되던 계정계 업무와 수십대에 달하는 유닉스, NT 서버 등 이기종 시스템을 사용하는 다양한 업무를 통합 관리하기 위해 EAI 도입의 필요성이 제기되고 있다.
뿐만 아니라 EAI는 점차 B2B나 e-마켓플레이스 분야로 확산되고 있다. 기업의 내·외부에서 운용되고 있는 다양한 패키지 애플리케이션의 도입이 점차 늘어나면서 자연스럽게 이들 상호간 연동의 필요성이 대두되고 있기 때문이다.
EAI가 구성되지 않은 B2B, e-마켓플레이스에서는 기업의 기간 업무간 연동이 어렵고, 자동화된 서비스를 제공할 수 없으며, 실시간으로 서비스를 제공하기 어렵다는 것이 EAI 업체들의 설명이다.
EAI 업체의 특명, 커뮤니케이션 수단을 보장하라
EAI가 기업들의 복잡하고 다양한 애플리케이션과 데이터를 통합하기 위해서 다음의 세 가지 기능을 수행하고 있다. ①이기종 시스템(애플리케이션)간 통신 ②어댑터 기능 ③데이터 통합 ④기업내, 기업간 비즈니스 프로세스 통합. EAI 시장에는 일반적으로 앞의 기능들을 제공하는 데이터웨어하우스, 미들웨어, 워크플로우 업체들이 포진해 있다.
엔터프라이즈 애플리케이션 제공 업체 ERP, SCM, CRM 등과 같은 엔터프라이즈 솔루션 제공업체들이 자사 솔루션과 레거시 시스템과 합을 가능케 하는 어댑터를 제공한다 .
데이터웨어하우스 업체 기업내, 기업간 데이터의 교환 및 공유, 통합을 가능케 하는 데이터해석(translation), 전환(transformation) 툴을 제공한다 .
애플리케이션 개발툴 업체 EAI 는 80 년대의 CASE 툴, 90 년대의 객체지향개발툴, 2000 년대의 컴포넌트 기반 개발 (component-based development, CBD) 와 개발 배경과 최종 목적이 같다 .
인프라스트럭처 제공 업체 하드웨어, OS, 프로토콜 등을 제공하는 업체도 이 기종 시스템과의 통합을 위해, 기존 제공하던 미들웨어에 EAI에 필요한 부가 기능을 탑재한 솔루션을 제공하고 있다 .
순수 미들웨어 업체
기능①, 이기종 시스템과 애플리케이션간 중계
윈도우에서 운영되고 있는 애플리케이션을 유닉스 시스템에서 운영하려면 아마 응용프로그램 자체 소스 코드를 전면 수정하거나 처음부터 다시 개발해야 할 것이다.
이런 이유로 기업들에게는 플랫폼의 제한없이 이기종 시스템이 상호 통신하기 위한 새로운 개방형 인터페이스와 기업이 보유한 다양한 애플리케이션이 이기종 플랫폼에서도 운영될 수 있도록 해주는 단일 인터페이스의 필요성이 대두되기 시작했다.
이는 대부분의 애플리케이션의 경우 특정 플랫폼만을 지원하며, 윈도우 NT, 유닉스, 리눅스 등은 서로 다른 응용프로그램과 독특한 인터페이스를 제공하기 때문이다.
EAI에서는 이런 문제를 해결하기 위해 미들웨어 개념을 이용해 기업내에서 운용하는 다양한 애플리케이션간의 통신을 원활하게 보장해주는 중간 매개체의 역할을 수행한다.
미들웨어란 서로 다른 통신 프로토콜, 시스템 아키텍처, 운영체제, 데이터베이스 등 다양한 애플리케이션 서비스를 지원하기 위해서 네트워크를 통해 하드웨어에 독립적으로 연결해주는 소프트웨어를 의미한다.
한 예로 중대형 시스템의 경우 오라클, 인포믹스, 사이베이스 등의 데이터베이스들이 읽을 수 있는 형태로 변환하기 위해 MOM이 사용되기도 한다. 기본적인 데이터 교환과 트랜잭션 처리하기 위해 일반적으로 MOM 계열의 BMQ(BEA MessageQ) 또는 MQSeries와 같은 솔루션을 사용되기도 하며, 이들은 좀더 강력한 성능을 발휘하는 턱시도(Tuxedo)와 같은 트랜잭션 미들웨어로 발전하게 된다.
이처럼 EAI에서는 애플리케이션을 통해 발생하는 데이터들을 표준 인터페이스를 제공해 상호 운영할 수 있도록 하고 있다. EAI는 이기종간의 플랫폼을 통합하기 위해 일반적으로 미들웨어 기반의 형식을 취하고 있으며, 이런 이유로 '미들웨어 플랫폼'으로 불리기도 한다.
특히 자바 진영의 EAI 벤더들은 사용자의 브라우저와 엔터프라이즈 데이터베이스 및 레거시 정보 시스템 중간에 엔터프라이즈 애플리케이션을 구축하기 위해 주로 J2EE 플랫폼을 지원하고 있다. EAI 벤더들이 J2EE를 전략적으로 지원하고 있는 이유는 J2EE 플랫폼은 웹 기반 엔터프라이즈 애플리케이션을 구축하기 쉽고, 기업내의 정보 자원을 하나로 묶어낼 수 있도록 데이터베이스와 트랜잭션, 메시징 등의 다양한 인터페이스들을 지원해주기 때문이다.
기능②, 벤더의 애플리케이션 엮어내는「어댑터」
기존의 기업들은 애플리케이션을 시스템에 연동시킬 때 일반적으로 직접 애플리케이션 코드를 개발해 연결 운용해 왔지만, EAI에서는 어댑터라는 표준 인터페이스로 다양한 애플리케이션이나 시스템이 상호 일관되고 유연성을 가지고 연동될 수 있도록 하고 있다.
EAI가 구성되지 않은 B2B, e-마켓플레이스에서는 기업의 기간 업무간 연동이 어렵고, 자동화된 서비스를 제공할 수 없으며, 실시간으로 서비스를 제공하기 어렵다는 것이 EAI 업체들의 설명이다.
예를 들어 서로 다른 기간 시스템에서 오라클 DB를 SAP나 자바 등과 연동하기 위해 기업들은 오라클 DB의 소스를 직접 수정하거나 데이터를 변형시켜 SAP와 연동해야 했다. 하지만 EAI에서는 연동 팩을 사용해 단순히 플랫폼에 접속하는 것만으로도 오라클 DB와 SAP가 연동될 수 있도록 해준다.
EAI에서는 이렇게 다양한 벤더가 제공하는 데이터베이스, ERP, 애플리케이션 등을 변형하거나 수정하지 않고도 서로 연결할 수 있도록 해주는 어댑터를 제공한다. 따라서 기업들은 애플리케이션을 추가할 때마다 하나의 어댑터를 추가하는 것만으로 데이터 통합 시스템 완성할 수 있으며, 애플리케이션의 개수와 상관없이 추가할 수 있게 된다.
즉 어댑터는 특정 데이터베이스에 접근하기 위해 작성된 프로그램이 다른 데이터베이스에도 접근할 수 있도록 하는 미들웨어 개념의 대표적인 기능을 수행하고 있는 셈이다.
일반적으로 사용되고 있는 어댑터의 종류에는 크게 ▲ 오라클, SAP 등을 연동시켜주는 ERP 관련 어댑터와 ▲ 시벨, Clarify 등의 CRM 관련 어댑터 등의 패키지 애플리케이션을 연동하기 위한 어댑터가 제공되고 있다. 이밖에도 ▲ IBM 메인프레임과의 연동을 위해 SNA(Systems Network Architecture) 나 TCP/IP 통신을 이용하거나, CICS(Customer Information Control System), IMS 등의 애플리케이션을 이용해 웹이나 개방형 시스템에 연결하기도 한다.
또한 EAI 업체가 모든 애플리케이션에 적합한 어댑터를 공급할 수 없으므로 고객이 해당 애플리케이션과 연동할 수 있는 어댑터를 개발해 사용할 수 있도록 개발킷을 제공하기도 한다.
기능③, 흩어진 데이터를 조직화
오늘날의 기업들은 다양한 시스템이나 애플리케이션에서 쏟아져 나오는 고객 정보, 판매 정보, 제고 관리 정보 등의 다양한 데이터를 통합해야 할 필요성이 대두되고 있다. 데이터의 종류에 따라 각각 포맷과 형식이 다를 뿐더러 이기종에서 호환성이 보장되지 않는다면 정보의 통합 운영이 불가능하기 때문이다.
EAI에서는 이런 문제를 해결하기 위해 기업 내부 시스템 상호간, 기업과 기업간 데이터 교환을 원활하게 하기 위해 이기종 시스템과 애플리케이션에서 생성된 데이터의 포맷과 변환을 관리해주는 데이터브로커(Data Broker)를 제공한다. 데이터베이스간 데이터의 추출, 변경, 전송을 가능케 해주는 솔루션으로는 인포믹스의 아르덴트, 오라클의 찰스톤, 스마트 DB 등과 같은 제품이 있다.
이처럼 EAI에서는 데이터브로커를 통해 데이터를 통합하고 해당 데이터를 다양한 애플리케이션에서 활용할 수 있도록 하고 있으며, 최근에는 이를 기술하고 구현하기 위한 개방형 언어로 XML과 ebXML 등이 주목받고 있다.
기능④ 기업내 분산된 작업 프로세스 통합
데이터 통합뿐 아니라 기업 내부와 기업간에 분산돼있는 다양한 업무 프로세스 역시 통합의 대상이 되고 있다. 이는 업무에 따라 시스템이 다르고 사용하는 애플리케이션도 다양해 업무 프로세스가 하나의 단일 플랫폼에서 일괄적으로 처리될 수 없을 뿐 아니라, 비효율적일 수밖에 없기 때문이다. 더구나 e비즈니스와 인터넷 기술이 성장·발전하면서 이같은 업무 프로세스는 애플리케이션별로 더욱 복잡해지고 있는 추세다.
비즈니스 워크플로우 엔진과 연동되는 시스템, 애플리케이션은 실로 복잡하고 다양하기 때문에 작업 효율을 극대화하기 위해 기업들은 분산된 업무 프로세스를 단일 플랫폼으로 통합해야 할 필요성이 대두되기 시작했다.
프로세스 통합을 위해 최근 비즈니스 워크플로우 엔진은 J2EE나 XML 등의 표준을 기반으로 발전하고 있다. EAI에서는 워크플로우 솔루션을 통해 비즈니스 프로세스 설계, 운용, 모니터 기능 등의 기능을 제공한다. 여기에는 hp의 '체인지엔진(ChangeEngine), BEA의 WPI(WebLogic Process Integrator) 등 다양한 솔루션 등이 있으며, 벤더 중심에서 점차 표준을 지향하는 쪽으로 발전해 나갈 전망이다.
「벤더」중심에서「표준」지향으로
애플리케이션과 시스템 구조가 복잡해짐에 따라 개발비와 유지 보수비 등의 비용은 점차 늘어날 것이기 때문에 앞으로 기업들의 애플리케이션과 시스템은 거대한 단일 인터페이스로의 통합 과정을 밟아 진화해 나갈 것으로 보인다. EAI 기반이 없는 e마켓플레이스나 B2B는 앞으로 고객들이 요구하는 다양한 서비스를 제공하기 어려울 뿐 아니라 효율적인 e비즈니스를 수행하기 어렵기 때문이다.
엔터프라이즈 통합 환경에서 새로운 웹 시스템을 독자적으로 사용한다면 다양한 기업들과 e비즈니스를 연동할 수 없을 뿐만 아니라, 기업과 기업간 업무 연계성이 부족해 실시간으로 e비즈니스에 필요한 데이터를 상호 교환할 수 없게돼 급변하는 e비즈니스 환경에서 유연하게 대응하기 어렵다. 이런 이유로 최근 기업들은 기존의 ERP, SCM, CRM 등의 다양한 패키지 애플리케이션 통합까지도 고려하고 있는 것이 현실이다.
국내에서는 현재 ERP와 같은 패키지 연동이 EAI의 가장 대표적인 예라 할 수 있으며, 일반적으로 메인프레임과 개방형 시스템에서 운용되고 있는 애플리케이션 연동이 국내 EAI 초기 단계에서 적용되고 있다.
하지만 일부에서는 EAI 도입을 고려하고 있는 기업들이 주로 대기업이나 한정된 고객 집단에 국한돼있어 기대보다 EAI 시장이 크지 않을 것이라는 조심스런 예측도 나오고 있다. 많은 기업들이 EAI의 필요성은 인식하고 있는 것이 사실이지만 아직까지 레퍼런스가 미비하고, 실제로 투자대비 도입 효과에 대해서는 기업 전반에 확실하게 어필하지 못하고 있기 때문이기도 하다.
BEA시스템즈코리아 최택진 차장은 "국내에서도 업무 효율성 측면에서 많은 기업들이 EAI 적용을 고려하고 있으나, 실제 구축 사례가 부족하며, 특히 메인프레임과의 연동 등에 한정적으로 접근하고 있는 상황"이라며, "일부 금융권과 재벌 관계사를 중심으로 EAI 구축에 대한 파일럿 프로젝트를 추진해 성공 여부에 따라 EAI를 전체 시스템으로 확산하려고 하고 있다"고 설명했다. 또한 최차장은 "이런 프로젝트가 완료되는 시점은 내년 정도로 보고있으며, 추후 EAI를 적용하려는 업체들이 급속도로 증가할 것"이라고 낙관했다.
EAI는 기업내부와 기업과 기업간에 산재하고 있는 다양한 시스템과 애플리케이션을 연동함으로써 업무 프로세스의 자동화 역할 뿐 아니라, B2C와 연계하기 위해 웹 애플리케이션을 묶어내는 통합 솔루션으로 발전하고 있다.
EAI 솔루션이 등장한 것은 불과 10년 전이다. EAI 기술은 미들웨어, 데이터웨어하우스, 워크플로우 어댑터 등 다양하고 복잡한 정보 기술을 기반으로 하고 있기 때문에 앞으로도 기술적으로 지속적인 안정화 단계를 밟아나가야 진정한 엔터프라이즈 통합 기술로 군림할 수 있을 것이다.
자료출처 : ZDnet... 더보기
데브옵스 [ DevOps ]
소프트웨어 개발 방법론의 하나로, 개발(development)과 운영(operation)을 결합한 혼성어이다. 개발 담당자와 운영 담당자가 연계하여 협력하는 개발 방법론을 말한다.
시스템 개발자와 운영을 담당하는 정보기술 전문가 사이의 소통, 협업, 통합 및 자동화를 강조하는 소프트웨어 개발 방법론을 말한다. 정확한 정의가 존재하지 않는 추상적 개념에 해당하지만, 소프트웨어 제품이나 서비스를 알맞은 시기에 출시하기 위해서 개발과 운영이 상호의존적으로 대응해야 한다는 의미로 통용된다.
이러한 데브옵스의 개념은 애자일 소프트웨어(agile software) 개발과 지속적 통합(continuous integration) 등의 개념과도 관련이 있다. 애자일 소프트웨어 개발 방법은 계획과 문서를 기반으로 개발 모형이나 모델에 따라 앞을 예측하며 개발하는 것이 아니라, 실질적인 코딩을 기반으로 일정한 주기에 따라 계속적으로 프로토타입을 형성하고 필요한 요구 사항을 파악하며 이에 따라 즉시 수정사항을 적용하여 결과적으로 하나의 큰 소프트웨어를 개발하는 적응형(adaptive style) 개발 방법이다.
지속적 통합이란 개발 당시의 코드(baseline code)와 개발 완료 후의 차이가 극심하여 통합시 다양한 변화와 의존성 문제 해결에 개발 시간보다 더 많은 시간이 소요되는 문제를 해결하기 위해, 통합 작업을 초기부터 계속적으로 자주 수행하여 지속적으로 소프트웨어의 품질 제어를 적용하고자 하는 것이다.
애자일 소프트웨어 개발에서는 작은 변경을 자주 출시하기 때문에 개발 담당자와 운영 담당자의 협업이 긴밀해야 하며, 이러한 개발 방법의 보급과 함께 데브옵스에 대한 개념도 널리 보편화되었다.
데브옵스라는 용어는 2008년 애자일 컨퍼런스에서 앤드루 클레이 쉐이퍼(Andrew Clay Shafer)와 패트릭 드부와(Patrick Debois)가 "애자일 인프라스트럭처"에 대해 논의하며 처음으로 사용되었다. 이 용어는 그 후 2009년 벨기에에서 열리기 시작한 "데브옵스 데이(DevOps Day)"를 통해 대중화되었다.
데브옵스는 개발 프로세스에 대한 철학이자 이러한 방법론을 실현시키는 플랫폼과 툴셋을 모두 포함하는 개념으로, 데브옵스를 더욱 쉽게 실천하기 위해서 셰프(Chef)나 퍼펫(Puppet)과 같은 인프라 구성관리 자동화 툴을 사용할 수 있다. 이러한 데브옵스 툴을 사용하는 경우 자동화된 테스팅 실시가 가능하며 자동화된 구성관리(CM:Configuration Management)를 통해 서버 설정을 자동화할 수 있기 때문에 투입 리소스를 절감할 수 있는 효과를 가져온다.
[네이버 지식백과] 데브옵스 [DevOps] (두산백과)... 더보기
Development와 Operations의 합성어로 시스템 개발과 운영을 병행 및 협업하는 방식. 개발 부문, 운영 부문, 품질 관리 부서 사이의 통합, 커뮤니케이션, 협업을 위한 일련의 방법 및 시스템으로 적기에 소프트웨어 제품이나 서비스 출시를 목표로 하는 조직의 속성상 개발과 운영은 상호 의존을 해야 한다는 의미를 갖고 있다. 소프트웨어 개발과 운영관리 간의 협업과 통합을 담당하며 빅데이터 비즈니스가 각광을 받으면서 한 분야의 뛰어난 능력을 보유한 인력뿐만 아니라 통계, 프로그래밍, 개발, 오퍼레이션과 같이 융합적인 능력에 대한 요구가 증가하고 있다.
[네이버 지식백과] 디봅스 [Devops] (IT용어사전, 한국정보통신기술협회)... 더보기
톰캣 [ Tomcat ]
아파치 소프트웨어 파운데이션(Apache Software Foundation)에서 서버인 자바(Java)를 움직이게 하기 위해 개발한 AP서버.
웹서버에서 서블릿(servlet), JSP, 빈즈와 같은 자바 코드를 이해하기 위해서는 톰캣 같은 자바를 이해하는 엔진이 있어야 한다. 비용이나 성능면에서는 자바 기반 웹서버를 구성할 때 리눅스(Linux), 아파치, 톰캣 조합을 많이 사용한다.
웹프로그램은 순수한 프로그램 언어로만 이루어진 것이 아니라 클라이언트 언어인 HTML이 혼용되었는데, 톰캣은 자바 파일만 해석할 수 있다. HTML과 혼용된 경우 컴파일 과정을 거친다. JSP페이지는 서블릿 형태로 일단 변형되어 완벽한 자바 파일로 변형된 뒤 컴파일된다.
자바 서블릿과 JSP 규격의 '참조용 구현'으로 평가되고 있는 톰캣은, 개발자들의 개방적 협력 작업의 산물로 아파치 웹사이트에서 받을 수 있다. 톰캣을 실행시키기 위해서는 JRE1.1 이상에 부합되는 자바 런타임 환경이 필요하다.
[네이버 지식백과] 톰캣 [Tomcat] (두산백과)... 더보기
IT Governance
IT자원을 통해 조직의 경영목표를 충족시킬 수 있는 계획을 수립하고
통제하는 것 또는 그러한 프로세스라고 정의할 수 있습니다.
일래스틱서치 검색 엔진, Elasticsearch
출처 : 최신 ICT 시사상식 2017
‘아파치 루신(Apache Lucene)’ 기반의 검색 엔진이다. 실시간 검색을 제공한다. 검색 기능뿐만 아니라 강력한 집계 기능을 제공해 실시간 분석 엔진으로도 활용 가능하다.
‘일래스틱서치(Elasticsearch)’ 검색 엔진은 데이터를 저장할 수 있어 NoSQL 저장소로도 활용할 수 있다. 웹 서버나 데이터베이스(DB) 서버에 수정·삭제를 요청하고 결과를 받을 수 있는 응용 프로그래밍 인터페이스(API)를 지원한다. 일래스틱서치에서 데이터를 가져오는 방법은 다양하지만, ‘키바나(Kibana)’를 통해 가져오는 것이 가장 쉽고 편리하다. 키바나는 일래스틱 서치의 대시보드 애플리케이션이다. 키바나를 통해 데이터를 가져오려면 우선 키바나 쿼리를 이용해 원하는 데이터를 화면에 표시한다. 화면에 표시된 데이터가 실시간일 필요가 없는 경우 CSV로 데이터를 내보낸다. 또한 실시간 데이터를 분석할 경우에는 현재 데이터를 볼 수 있는 쿼리(query DSL)를 생성해 일래스틱서치에 직접 데이터를 요청하면 된다. 일래스틱서치는 ‘위키피디아’, ‘넷플릭스’, ‘스택오버플로’ 등 여러 글로벌 기업이 도입했다. ‘아마존 웹 서비스(AWS)’도 일래스틱 서치를 클라우드 서비스에 활용한다. 국내에서는 T커머스 사업자인 ‘KTH’, 소셜커머스 ‘위메프’가 검색 서비스에 일래스틱 서치를 적용했는데, 일래스틱서치 스케일 아웃 분산 시스템으로 서버 가용성을 확보할 수 있기 때문이다. ‘스케일 아웃(Scale Out)’은 접속 서버 수를 늘려 처리 능력을 향상하는 기술이다. 물리적 서버 내부에 가상의 복수 서버를 구현한다. KTH는 2016년 4월 3일 일래스틱서치 기반의 ‘데이지(DAISY) 검색엔진’을 출시했다. 대용량 데이터 실시간 분석·추천 솔루션에 검색 기능을 추가했다. 해당 솔루션은 검색과 추천 기능을 동시에 구현한다. 커머스 사업에 필요한 상품, 지식 사전, 형태소 분석을 제공한다. 부하 분산, 클라우드 서비스, 빅데이터 등 검색 엔진의 최신 기술을 수용해 안정성과 우수성을 확보했다. KTH는 쇼핑몰, 콘텐츠 마켓, 앱, 모바일게임, 광고기획사, 온라인 여행사, 언론사 등에 데이지를 공급할 계획이다.... 더보기
마이크로서비스 아키텍처, MicroService Architecture, MSA
대규모 소프트웨어 개발에 적용하기 위한 것으로 단독으로 실행 가능하고 독립적으로 배치될 수 있는 작은 단위(모듈)로 기능을 분해하여 서비스 하는 아키텍처. 작은 단위로 기능을 분할할 때 수평 방향의 계층별 절단이 아니라, 수직 방향의 기능별로 절단한다. 절단된 독립적인 작은 모듈을 마이크로서비스라 한다. 각 마이크로서비스는 공유나 프로세스 간 통신이 없이도 독립적으로 실행되며 운영 관리된다. 마이크로서비스 간 연결은 응용 프로그래밍 인터페이스(API: Application Programming Service)를 이용한다. 마이크로서비스는 자원 표현이나 데이터 관리 등에 있어서 기능적으로 완전해야 한다.
마이크로서비스 아키텍처는 레고 블록을 조립하여 원하는 모양으로 만드는 것에 비유할 수 있다. 마이크로서비스 아키텍처 사용으로 개발자들이 클라우드 망을 통해 공유하고 협업하여 자유롭게 소프트웨어를 개발할 수 있으며, 개발 및 유지보수에 드는 시간과 비용이 절감할 수 있다. 단일 서비스로 개발하는 기존 모놀리식(monolithic) 방식과는 반대되며, 서비스 지향 아키텍처(SOA: Service-Oriented Architecture) 방식보다 더 세분화되어 있다.... 더보기
TTA 정보통신용어사전
TTA는 정보통신 기술 발전과 타분야와의 기술 융합에 따라 무수히 생성되는 정보통신용어를 해설하고 표준화하여, 전문가뿐만 아니라 일반인들이 올바르게 활용할 수 있도록 보급하기 위해 정보통신용어사전을 서비스하고 있습니다.
정보통신용어사전은 PC 또는 스마트폰에서 용어사전 홈페이지로 접속하거나, 모바일 앱 마켓에서 정보통신용어사전 앱을 내려받아 이용하실 수 있습니다. 정보통신용어 제안은 일반인 누구나 할 수 있으며, 제안된 용어는 내부 절차를 통해 정보통신용어사전에 수록됩니다. |
- 공지사항이 없습니다.
- EAI (Enterprise Application Integra.. (2019.04.29 필승 , 댓글 1)
- 데브옵스 [ DevOps ] 소프트웨어 개발 방법론의 하나로,.. (2017.03.10 필승 , 댓글 1)