• “NoSQL부터 FaaS까지” 현대적인 데이터 아키텍처를 위한 7가지 핵심 기술"을 읽어보자

    2018. 2. 27. 15:01

    by. 위지원

    http://www.itworld.co.kr/news/108319?page=0,0


    정보처리기사 실기에서 신기술동향이런거 물어본다길래 찾아보다가;;;

    이런글이 있었다. 여기에 나온 단어에대해서 살짝 훑어보면 어떨까해서 가볍게 검색해보았다.


    1. NoSQL(Not Only Sql)


    MySql처럼 우리에게 익숙한 RDBMS가 아닌 다른 형태의 제품을 뜻한다.블로그에서는 nosql 기반 hbase를 한번 공부했었다. 이론뿐이 못했지만 http://weejw.tistory.com/58


    1-1.특징으로는

    1) schema가 존재하지 않고

    2) join과 트랜잭션을 지원하지 않음( 분산 처리 시스템에서 효율적 제공이 어려움 )

    3) 대부분의 NoSQL 데이터베이스는 분산처리 기능이 목적이며 오픈소스

    4) 저장/검색에 특화


    1-2.등장 배경은

    대용량 데이터의 분산처리를 효율적으로 하기 위해서 등장하였으며 등장 초기에도 관계DB가 편의성때문에 (SQL 언어가있으니..) RDBMS가 인기였는데 후에 점점 많아지고 다양해지는 데이터들 탓에 비정형 데이터를 저장/처리 할 수 있는 NoSQL이 인기가 생기기 시작했다고 한다.


    1-3.종류로는

    1) key-value DB

    2) Wide Colummar DB

    3) Graph DB

    etc.


    출처:http://jwprogramming.tistory.com/70




    2. 실시간 스트리밍 플랫폼


    블로그에서도 몇번 했었던 spark(어려워서 눈물이 찔끔 ㅠ)...를 포함

    http://weejw.tistory.com/search/spark


    그 외에도

    1) 아파치 스톰

    2) Sama(카프카와 얀을 기반으로 하는 분산 스트림 처리 프레임 워크)

    3) 아마존의 Kinesis(클라우드에서 실시간으로 스트리밍 데이터를 처리)

    등을 소개해주고 있다. 자세한건 좌측 링크에서..→ https://www.xplenty.com/blog/5-real-time-streaming-platforms-big-data/




    3. 도커와 컨테이너


    도커도 블로그 초반에 다뤘었다. http://weejw.tistory.com/2?category=776733우분투가 생을 마감하는 바람에 앗.아아.. 이러면서 찾다가 보니 발견한게 도커였다. 참 편리한 친구지만 도커 세미나 들을때 머리가 너무 어질할정도로 세부내용을 들어가면 굉장히 어려웠던 친구

    뉴스 기사에서 말하길 컨테이너 기술의 가장 큰 장점은 " 새로운 종류의 인프라 격리를 생성할 수 있음 " 이였다.




    4. 컨테이너 저장소


    기사에 따르면 컨테이너 저장소는 민첩성 확보에 아주 중요한 역할을 한다.컨테이너 이미지를 구축하기 위한 '데브옵스 프로세스'와 이들을 저장하기 위한 저장소가 없다면 컨테이너가 구동될 기기마다 각 컨테이너를 일일이 만들어야 하기때문이다.


    여기서 데브옵스 프로세스가 뭘까. 아마존 사이트에서는 아래와 같이 말하고 있다.


    "데브옵스는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합입니다. 기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있습니다. 이러한 빠른 속도를 통해 조직은 고객을 더 잘 지원하고 시장에서 좀 더 효과적으로 경쟁할 수 있습니다." (https://aws.amazon.com/ko/devops/what-is-devops/)



    저장소가 생기면 저장소로부터 구독이 가능하도록 설정된 어느 머신이든 컨테이너 이미지를 실행할 수 있으며 데이터센터가 각각 구축된 경우에는 저장소를 미러링하는것이라한다.




    5. 컨테이너 오케스트레이션


    이전에 http://weejw.tistory.com/search/swarm 여기서 docker swarm을 하려다가 실패했을 때 오케스트레이션을 본 적 있다.


    컨테이너 배포관리를 오케스트레이션이라고 하며 kubemetes같은 오케스트레이션 툴을 이용하여 컨테이너 실행/제거/이동등의 행위가 아주 쉬워진다고 한다. http://www.mantech.co.kr/container_orchestration/ 이 게시글에 따르면 내가 알아보았던 도커 오케스트레이션 말고도 구글이나 아파치에서도 오케스트레이션이 존재한다.




    5. 마이크로 서비스


    NoSQL,이벤트 스트리밍, 컨테이너 오케스트레이션 등의 기술이 수천개의 마이크로서비스를 생성하며 확장한다. 핵심은 민첩성!

    마이크로 서비스는 소규모 작업만을 담으며 다른 마이크로 서비스와 분리되어있어 업그레이드에 장애물이 거의 없다고 한다.




    6. FaaS(Function as a service)


    기사에서 설명하는 내용은 나에겐 너무 어렵다 Faas가 뭔지 알아보기나 하자. https://www.tigiminsight.com/faas_lambda/ 이분이 열심히 설명해주셨다. 이분 말에 따르면 " 시스템 구성은 모르겠고, 간단한 서버-사이드 서비스가 필요한 사람에게 간단하게 제공 " 


    상용 서비스로는 AWS Lambda,MS Azura Function,구글 Functions가 있다고 한다.




    '2018년 > DataBase' 카테고리의 다른 글

    험난한 HBASE 설치기  (0) 2018.07.17
    데이터마이닝 개념과 기법 개요  (2) 2018.03.15
    join sum() 중복문제  (0) 2018.01.08
    데이터 베이스 Advanced2  (0) 2018.01.05
    데이터 베이스 Advanced  (0) 2018.01.03