목록분류 전체보기 (40)
serendipity

DB , Database란 ? "다수의 사용자가 사용하는 데이터들의 공유와 운영을 위해 저장해 놓는 공간" 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체 사용하는 이유 프로그램을 개발할 때 프로그램 사용자들에 의해 생성된 데이터, 프로그래머가 필요에 의해 프로그램에 넣어놓은 데이터 등 많은 데이터들이 생성된다. 데이터베이스를 사용하지 않으면 이 데이터들은 프로그램을 종료하는 순간 전부 날아가게 되어서 이를 방지하기 위해 데이터들을 데이터베이스에 넣고 보관하는 방법을 사용한다. 관계형 DB (SQL) *SQL : StructuredQueryLanguage의 약자로 ..

HBase 란? 하둡 플랫폼을 위한 공개 비관계형 분산 데이터베이스 하둡의 분산 파일 시스템인 HDFS위에서 동작한다. 사용자는 Hbase나 HDFS에 직접 데이터를 저장하고 읽고 접근하는 것은 Hbase를 통한 임의접근을 이용할 수 있다. 분석 컬럼 기반 지향의 NoSQL DB으로, * NoSQL DB는 데이터 키값 형식으로 단순하게 구조화 대신 고성능의 쓰기/읽기가 가능하도록 만든 DB -> HBase 경우 특히 쓰기 성능에 최적화되어 있고 대용량 처리가 필요한 대규모 NoSQL 아키텍처 구성에 활용된다. " 대규모 데이터 셋에서 실시간으로 읽고 쓰는 랜덤 액세스가 필요할 때 사용" 특징) - 실제 인덱스가 없다 (row는 순차적으로 저장되고 각 로우별 칼럼도 순차적으로 저장) - 선형 확장성이 있다..

맵리듀스란 ? 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작해 2004년 발표한 sw 프레임워크 간단히 설명해보자면 한명이 3주 작업할 일을 3명이 나눠 1주에 다 끝내는 것! 하둡에서 사용하는 병렬처리 개념이며, 3명의 작업자를 클러스터라고 한다. 하둡에서는 계산시 큰 파일을 블럭단위로 나누고 모든 블럭은 같은 Map 작업을 수행하고 Reduce 작업을 수행한다. [ Input -> Splitting -> Mapping -> Shuffling -> Reducing -> Final Result ] 흩어져있는 데이터를 수직화 -> 데이터를 각각의 종류별로 모음(Map) -> 정렬, 필터링을 거쳐 데이터를 추출(Reduce) 분산형 파일시스템에서 수행되는 ① MapReduc..

* 자바 클래스 파일(*.java)에 public 클래스(class)가 존재하면 , 소스 파일의 이름은 반드시 해당 public 클래스의 이름과 같아야 합니다 !! 이러한 public 클래스는 자바 클래스 파일마다 단 한개만 가질 수 있습니다. 기본 구조 자바 프로그램은 한 개 이상의 클래스(class)로 구성되고, 이러한 클래스는 한 개 이상의 필드(field)나 메소드(method)로 구성됩니다. class 클래스이름 { 필드의 선언 ... 메소드의 선언 ... } main() 메소드 자바 프로그램이 실행되면 맨 먼저 main() 메소드를 찾아 그 안의 모든 명령문을 차례대로 실행합니다. * main() 메소드는 반드시 public static void로 선언되어야 합니다. public static ..

JAVA 자바(Java)는 C++과는 달리 처음부터 객체 지향 언어로 개발된 프로그래밍 언어 현재 자바는 전 세계에서 가장 많이 사용하는 프로그래밍 언어 중 하나다. 자바의 특징 장점) 1. 운영체제와는 독립적으로 실행할 수 있다 2. 불필요한 기능을 과감히 제거하여 다른 언어에 비해 배우기가 쉽다. 3. 자동 메모리 관리 등을 지원하여 다른 언어에 비해 안정성이 높다 4. 연산자 오버로딩을 금지하고 제네릭을 도입함으로써 코드의 가독성을 높였다. 단점) 1. 실행을 위해 자바 가상 머신을 거쳐야 하므로, 다른 언어에 비해 실행 속도가 느리다. 2. 예외 처리가 잘 되어 있지만, 개발자가 일일이 처리를 지정해 줘야 한다는 불편함이 있다. 3. 다른 언어에 비해 작성해야 하는 코드의 길이가 긴 편이다. 프로..

ZOOKEEPER 주키퍼 : 분산 코디네이션 서비스를 제공하는 오픈소스 프로젝트 > 분산 시스템에서 시스템 간의 정보 공유, 서버들 간의 동기화를 위한 lock(락), 상태 체크 등을 처리해주는 서비스 ' 안정적이고 가용성 높은 znode 데이터 시스템을 제공하는 클러스터 서버' - 네임 서비스를 통해 분산해서 각각 클라이언트들이 동시 작업할 수 있도록 지원해줘서 부하를 분산시킨다. - 락(lock)을 통해 하나의 서버에서 처리된 결과가 다른 서버들과 동기화할 수 있게 해준다. Architecture : Leader Follower로 구성되는 Master-Slave 아키텍처를 기반으로 구성 여러(3대 이상의) 주키퍼 서버를 하나의 클러스터로 구성한 앙상블(ENSEMBLE) , 앙상블 데이터의 불일치를 방..

Kafka MOM (message oriented Middleware 메시지성 데이터 처리)에 최적화되어 있는 소프트웨어 중 하나로 대규모로 발생하는 메시지성 데이터를 비동기 방식으로 중계하는 역할을 하며 실시간 처리에 사용된다. Topic : broker에서 데이터의 발행/ 소비 처리를 위한 저장소 기능 수행. 이때, 이를 파일시스템에 비유하면 토픽은 폴더와 유사하며 토픽 안의 이벤트는 폴더안의 파일과 유사. 토픽에 저장된 이벤트는 필요한만큼 다시 읽을 수 있다. Broker : topic 컨트롤러로 kafka에서 server를 담당하며 한 클러스터 내에서 kafka server를 여러 대 띄울 수 있다. Provider : broker의 특정 topic에 데이터를 전송하는 역할 Consumer : 데..

Flume 대용량의 로그 데이터를 효율적으로 수집 및 이동할 수 있는 안정적인 분산 서비스 Source : 수집한 데이터를 channel로 전달 Channel : source & sink를 연결, data를 버퍼링, 메모리 & 파일 유를 channel의 저장소로 활용 Sink : channel로부터 받은 데이터를 최종 목적지에 저장 -> hdfs, hive 등에 제공 Interceptor : source와 channel 사이에서 데이터 필터링 및 가공 Agent : source -> interceptor -> channel -> sink -> component 순으로 구성된 작업 단위 활용) 클러스터에 있는 장치로부터 로그 파일들을 수집 후 HDFS와 같은 중앙 저장소에 저장하는 로깅 시스템을 구축할 때..

하둡 에코시스템이란? 하둡과 관련된 프레임워크들로, 하둡 코어 프로젝트 & 하둡 서브 프로젝트로 구성된다. 1) 분산 코디네이터 -Zookeeper 분산 환경에서 서버 간 상호 조정이 필요한 다양한 서비스를 제공하는 시스템이다. 분산 동기화를 제공하고 그룹 서비스를 제공하는 중앙 집중식 서비스로 적절한 분산처리 및 환경을 구성하는 서버 설정을 통합적으로 관리한다. 2) 분산 리소스관리 -YARN 작업 스케줄링 및 클러스터 리소스 관리를 위한 프레임워크다. (맵리듀스, 하이브, 임팔리, 스파크 등 다양한 애플리케이션들은 yarn에서 작업을 실행) -Mesos :클라우드 환경에 대한 리소스 관리 Linux 커널과 동일한 원칙을 사용하며, 컴퓨터에 API를 제공 (API는 ex. hadoop,kafka,spa..

동계 알고리즘 특강이란? 삼성 SDS에서 대학생 및 졸업생들을 대상으로 2주간 진행하는 알고리즘 특강으로, 2주간 교육을 80% 이상 출석하고 시험을 보면 수료증을 받을 수 있으며, 시험을 통해 삼성 sds pro 등급을 취득할 기회를 얻을 수 있다. 가장 중요한 것은, Pro 시험 합격자에 대해선 채용시에 혜택을 부여! 3학년이 지원하면 대상자가 될 수 없으니 필히 4학년 재학생 or 졸업자만 지원할 것! 2주동안 80시간, 고급 알고리즘 기법을 이해하고 문제를 풀며 훌륭한 강사진분들의 설명을 들을 수 있다. 이번 특강은 이전과 달리 언어에 따라 차수를 나눠서 뽑았습니다. 1차수 : c++ / 2차수 : java 입과 대상자를 선정하기 위해 5문제 사전 테스트를 진행하였습니다. 문제 난이도는 어려운것은..