목록전체 글 (216)
Practice makes perfect
하둡(Hadoop)이란 ? : 2003년 구글의 파일 시스템이 모태가 돼서 만들어진 것이 HDFS이고, 2004년에 구글이 발표한 맵리듀스(mapreduce)를 적용하여 하둡에 구현이 되어서 2009년에 발표가 되었습니다.하둡의 창시자가 2005년에 검색엔진 프로젝트를 진행하면서 하둡 프로젝트가 시작되었습니다. 구글의 알고리즘을 통해서 완성되었는데 그 당시 구글의 주 핵심기능이 검색 기술이었기 때문에 가능했다고 합니다.(빠른 처리) 하둡(Hadoop)의 특징 1) 하둡은 여러 개의 저렴한 컴퓨터를 마치 하나인 것처럼 묶어 대용량 데이터를 처리하는 기술입니다. 2) 하둡을 황용하여 빅데이터 분석에 들어가는 초기 비용을 줄이면서 데이터 시스템과의 호환 문제도 쉽게 해결할 수 있습니다. 3) 하둡은 수천 대의..
주키퍼(ZOOKEEPER)란? : 분산 코디네이션 서비스를 제공하는 오픈소스 프로젝트로, 일관적으로 관리 해주는 프로그램 입니다. 주키퍼(ZOOKEEPER) 홈페이지 : zookeeper.apache.org/ 주키퍼(ZOOKEEPER)역할 1) 네임서비스를 통해 하나의 서버만 서비스를 수행하지 않고 알맞게 분산해 각각의 클라이언트들이 동시 작업할 수 있도록 지원하여 부하를 분산시킵니다. 2) 락(lock)을 통해 하나의 서버에서 처리된 결과가 또 다른 서버들과 동기화할 수 있도록 합니다. - 결국 주키퍼는 안정적이고 가용성 높은 znode 데이터 시스템을 제공하는 클러스터 서버라고 해도 과언이 아닙니다. 주키퍼(ZOOKEEPER) 주요 구성 요소 Client : 주키퍼 ZNode에 담긴 데이터에 대한 쓰..
카프카(Kafka)란? MOM(Message Oriented Middleware – 메시지성 데이터 처리에 최적화되어 있는 middleware, 비정형성) 소프트웨어 중 하나로 대규모로 발생하는 메시지성 데이터를 비동기 방식으로 중계하는 역할을 하며 실시간 처리에 사용합니다. 실시간 데이터 피드를 관리하기 위해 통일된, 높은 처리량, 낮은 지연시간을 지닌 플랫폼을 제공하는 것을 목표로 합니다. 링크드인에서 2011년에 개발되어 그 해 6월에 아파치 인큐베이터에 등록됐고, 2012년 10월 에 아파치 최상위 프로젝트로 승격되었습니다. Kafka의 기능 : 원천 시스템으로부터 대규모 트랜잭션 데이터가 발생했을 때 중간에 데이터를 버퍼링하면서 타깃 시스템에 안정적으로 전송해 주는 강력한 기능과 아키텍처를 제공..
플럼(Flume)이란? Apache Flume(이하 플룸)은 클라우데라에서 처음 개발 돼, 2011년 클라우데라를 통해 처음 소개 되어서 아파치 소프트웨어 프로젝트에 기증되어 최상위 프로젝트로 격상되어 사용중입니다. 다양한 수집 요구 사항들을 해결하기 위해 기능으로 구성된 소프트웨어이며, 로그데이터를 깔끔하게 수집하는 데 이만한 게 없으며, 많은 기업들에서 실제 서비스 로그데이터 관리를 위해 사용하고 있습니다. Apache Flume 프로젝트는 공식 홈페이지는 https://flume.apache.org/ 입니다. Flume의 특징 1) 시스템 신뢰성 (Reliability) - 장애가 발생시 로그의 유실없이 전송할 수 있는 기능입니다. 2) 시스템 확장성 (Scalability) - Agent의 추가 ..
브라우저에 들어가면 어떤 사이트이든 소스를 통해서 보기 좋게 우리에게 보여줍니다. 도메인의 맵핑을 통해서 입력한 도메인 서비스에 요청을 통해서 ip주소를 통해서 브라우저에 전달 받는 것입니다. 하나씩 그 코드를 알아가겠습니다. Html /html: 화면을 구성하는 뼈대를 만듭니다. head /head: 정보와 함께 title의 내용을 정리합니다. title /title: 도메인창 위의 이름이 나옵니다 Body /body: 화면 구성을 이룹니다. Meta: 설정, 구성요소의 정보 등을 이야기 합니다. - 파일에 대한 정보(UTF-8로 바꾼 이유: 한글폰트만 있다고 하면 전세계에 어디에 있던 간에 깨지지 않습니다.) 주석문을 사용할 때는 java와 동일한 버튼으로 ctrl + shift + / 를 눌러서 주..
아파치 톰캣(Apache Tomcat)은 아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 애플리케이션 서버입니다. 톰캣은 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여 자바서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있습니다. 톰캣은 관리툴을 통해 설정을 변경할 수 있지만, XML 파일을 편집하여 설정할 수도 있습니다 그리고, 톰캣은 HTTP 서버도 자체 내장하기도 합니다. Apache Tomcat® - Welcome! The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Languag..
빅데이터란? : 오늘날 정보통신 분야에서의 화두는 단연 빅데이터입니다. 1) 빅데이터는 기존 데이터보다 너무 방대하여 기존의 방법이나 도구로 수집/저장/분석 등이 어려운 정형 및 비정형 데이터들을 의미합니다. 2) 어떤 그룹에서는 빅데이터를 테라바이트 이상의 데이터라고 정의하기도 하며 대용량 데이터를 처리하는 아키텍처라고 정의하기도 합니다(서버 한대로 처리할 수 없는 규모의 데이터, 기존의 소프트웨어로 처리할 수 없는 규모의 데이터). 빅데이터의 특징 : 빅데이터의 특징으로는 크기(Volume), 속도(Velocity), 다양성(Variety)을 들 수 있습니다. 크기(Volume) : 크기는 일반적으로 수십 테라 바이트 혹은 수십 페타바이트 이상 규모의 데이터 속성을 의미합니다. 속도(Velocity)..
DAO (Data Access Object) : 데이터 접근 객체 - sql문을 사용하여 DataBase와 연동 할 때 마다 갹체를 지정해줘야하는 것은 불편한 과정입니다. 이러한 불편하고 비효율적인 과정을 줄이기 위해서 고안한 방법이 DAO 입니다. DAO는 DB의 데이터를 다루기 위해 만들어진 객체입니다. 장점 - DataBase에서 효율적으로 쿼리를 받아드릴 수 있습니다. - DBMS를 변동하거나 수정사항이 있을 때, 소스를 통째로 고쳐야 한다면 번거로울 수 있습니다. 따라서 유지보수를 편하게 하기 위해 사용하도록 해줍니다. - DataSoure에 정보의 저장, 변경, 삭제, 검색 기능을 제공하기 위한 메소드가 선언이 가능합니다. public class DAO { //BasicDataSource ds..