'graph'에 해당되는 글 1건

최초 작성일 : 2013/01/31 14:58 


Big Data : 

기존 데이터베이스 관리도구의 데이터 수집·저장·관리·분석의 역량을 넘어서는 대량의 정형 또는 비정형 데이터 세트 및 이러한 데이터로부터 가치를 추출하고 결과를 분석하는 기술...

데이터 양(Volume),
데이터 속도(Velocity),
그리고 데이터 다양성(Variety) 등
세 가지 요소의 복합적인 변화를 그 특징으로 한다.

Big Data 분석 기법 :

  • Text Mining(Text mining) : 텍스트 마이닝은 비/반정형 텍스트 데이터에서 자연 언어 처리 기술에 기반하여 유용한 정보를 추출, 가공하는 것을 목적으로 하는 기술이다.
  • 평판 분석 (Opinion mining) : 오피니언 마이닝은 소셜미디어 등의 정형/비정형 텍스트의 긍정, 부정, 중립의 선호도를 판별하는 기술이다.
  • 소셜 네트워크 분석 (Social network analysis) : 소셜 네트워크 분석은 소셜 네트워크 연결구조 및 연결강도 등을 바탕으로 사용자의 명성 및 영향력을 측정하는 기술이다.
  • 군집 분석 (Cluster Analysis) : 군집 분석은 비슷한 특성을 가진 개체를 합쳐가면서 최종적으로 유사 특성의 군을 발굴하는데 사용된다.

  • R (프로그래밍 언어) : 

    통계 계산과 그래픽을 위한 프로그래밍 언어이자 소프트웨어 환경이다.
    ...
    R은 통계 소프트웨어 개발과 자료 분석에 널리 사용되고 있으며, 패키지 개발이 용이하여 통계학자들 사이에서 통계 소프트웨어 개발에 많이 쓰이고 있다.

    Hadoop (하둡) :

    대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 자유 자바 소프트웨어 프레임워크이다. 원래 너치의 분산처리를 지원하기 위해 개발된 것으로, 아파치 루씬의 하부 프로젝트이다. 분산처리 시스템인 구글 파일 시스템을 대체할 수 있는 하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System)과맵리듀스를 구현한 것이다.

    MapReduce :

    구글에서 분산 컴퓨팅을 지원하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어 프레임워크다. 이 프레임워크는 페타바이트 이상의 대용량 데이터를 신뢰할 수 없는 컴퓨터로 구성된 클러스터 환경에서 병렬 처리를 지원하기 위해서 개발되었다. 이 프레임워크는 함수형 프로그래밍에서 일반적으로 사용되는 Map과 Reduce라는 함수 기반으로 주로 구성된다.

    현재 MapReduce는 Java와 C++, 그리고 기타 언어에서 적용이 가능하도록 작성되었다.






    YARN :

    MapReduce 2.0의 다른 이름

    Google file system (GFS) :

    Google 에서 개발 한 독점적인 분산 파일 시스템. 이것은 상품화된 하드웨어의 대형 클러스터를 사용하여 데이터에 효율적이고 안정적으로 액세스엑세스 할 수 있도록 설계되었다. 구글 파일 시스템의 새 버전의 코드명은 Colouss이다.

    분산 파일 시스템 (Distributed file system, DFS)
    네트워크 파일 시스템 (Network file system) :

    컴퓨터 네트워크를 통해 공유하는 여러 호스트 컴퓨터의 파일에 접근할 수 있게 하는 파일 시스템이다.

    NoSQL (Not only SQL) :

    NoSQL은 널리 사용되는 관계형 데이터베이스 관리 시스템(RDBMS) 모델을 따르지 않는 데이터베이스

    관리 시스템의 광범위한 클래스이다. NoSQL은 테이블을 생성하지 않으며 데이터 조작을 위해 SQL을 사용하지

    않는다.


    NoSQL 시스템은 대체로 데이터의 검색과 추가에 매우 최적화 되어 있으며 흔히 다음 세대의 저장 장치

    (예를 들면 key-value 저장)에 대한 몇가지 기능을 제공한다.


    full SQL 시스템에 비히 감소된 실행타임의 유연성은 특정 데이터 모델에 대한 확장성과 성능으로

    확실한 보상이 될 수 있다.


    요컨대 NoSQL 데이터베이스 시스템은 데이터의 성격상 데이터간의 관계를 필요로 하지 않는

    방대한 양의 데이터를 처리할 때 유용하다.


    데이터는 구조화 될 수 있겠지만 진짜 NoSQL이 필요한 경우는 요소들 사이에 관계가 없는 방대한

    양의 데이터를 저장하고 검색하는 능력이 요구되는 때이다. 예를 들면 수백만 건의 key-value 쌍을

    하나 혹은 연관된 여러개의 배열에 저장하거나 혹은  수백만 건의 데이터 레코드를 저장하는 경우를

    들 수 있겠다.


    최근의 기업들의 입장에서 보자면 특히 점점 증가하는 요소들의 통계핵적인 분석이나 혹은 실시간 분석에

    유용할 것이다.(예를 들면 커다란 그룹의 사용자들이 올리는 트위터의 글들이라든가 서버상의 로그들이 그런 것이다.)


    일반적으로 NoSQL 데이터베이스는 데이터를 저장하는 방식에 따라 Key-Value Store,

    BigTable 이행, 문서 저장 데이터베이스(Document store database), 그리고

    graph 데이터 베이스의 하위 영역으로 카테고리가 나누어진다.


    - (영문판 위키피디아 발번역...-.-)


    Graph :

    이 형태의 데이터베이스는 데이터들간의 관계를 그래프로 잘 표현 할 수 있도록
    디자인 되었다. (각 요소들은 상호간에 불확실한 수의 관계로 연결되어있다)

    이런 류의 데이터에는 사회적 관계(Social Relations), 대중 교통 시설의 연결,
    도로 지도나 네트워크 topology 등을 예로 들 수 있다.

    Key-Value Store :

    스키마없는 방식으로 데이터를 저장 할 수 있다.
    데이터는 프로그래밍 언어의 데이터 타입이나 객체 형태로 저장될 수 있다.
    이 때문에 고정 된 데이터 모델이 필요 없다.

    Key-Value Stoer의 종류

    Eventually‐consistent key‐value store

    Hierarchical key–value store

    Hosted services

    Key–value cache in RAM

    Key–value stores on solid state or rotating disk

    Ordered key–value stores

    Multivalue databases

    Object database

    RDF database

    Tabular

    Tuple store


     [출처 : 위키백과]

    블로그 이미지

    마즈다

    이제 반백이 되었지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^

    댓글을 달아 주세요