IT/Database 썸네일형 리스트형 [NoSQL] MongoDB (문서, 콜렉션 ,데이터베이스) 1. 문서(Document) : 하나의 레코드 : 몽고 DB의 핵심은 정렬된 키와 연결된 값의 집합으로 이루어진 문서 ; 문서는 RDBMS에서는 테이블의 하나의 행(JSON)이라고 생각하면 됨 Ex1) { "userid" : "idkhs04"} Ex2) { "userid" : "idkhs04", "username" : "김아무개", "country" :"South Korea" "tags" : ["mongo", "db"] } 위의 예를 보면 그냥 일반적인 JSON 데이터 일 뿐입니다. 하지만 아래의 경우는 몇가지 규칙이 있으니 천천히 살펴 보셔야 겠습니다. 가. 문서의 키-쌍은 정렬 되어 있으므로 아래의 문서는 다른 문서임 - {"userid" : "idkhs04", "username" : "김아무개"} .. 더보기 [NoSQL] Mongo DB 설치 법입니다 MONGO DB 윈도우 설치 1. 다운로드 - http://www.mongodb.org/downloads - 본인의 운영체제(OS) 에 맞는 버전을 선택 및 다운로드 한다 + 참고로 몽고DB는 윈도우64비트에서 운영 하는 것이 좋다. + 32비트는 메모리가 4기가만 인식 하고, 시스템이 2기가를 벌써 점유하기 때문에 몽고 DB만의 성능을 보장하지 못함. + 물론 테스트는 상관없을 듯하다. 저도 32bit라...32bit 설치 했음. >> 64비트를 설치했을 때는 아래의 절차들이 많이 사라지더군요 2. 압축 풀기(해제) - 아마도 용량이 110메가 정도 됨. - 압축을 푸시면 나면 아래의 경로(데이터베이스 폴더 지정) 로 복사 혹은 이동 3. 데이터베이스 폴더 지정 - C:\mongodb\data (이렇게.. 더보기 [DB] 데이터모델링이란 다음의 두 이야기를 보자. 컴퓨터라는 것이 없는 시대의 편의점을 생각해보자. 편의점에서 쌀 1가마를 구입한다. 우리의 고객은 쌀 1가마에 해당되는 돈을 지불할 것이고, 거스름 돈을 고객에게 줄 것이며, 쌀 가게 주인은 장부에 기록을 할 것이다. 주인은 가게를 닫고 그 날의 쌀의 입고량과 출고량을 비교하여 재고를 파악할 것이다. 또한 수입이 얼마인가 지출은 또 얼마인가 열심히 주판을 튕길 것이다. 재고량 계산과 수입과 같은 일은 매일 매일 반복되는 작업일 것이다. 그럼 컴퓨터가 있는 시대의 편의점을 생각해보자. 우리의 고객은 쌀 1가마를 구입한다. 주인은 바코드 인식기를 들고 찍을 것이다. 그럼 컴퓨터에 의해 지불된 돈과 쌀 1가마의 가격의 차이를 계산하여 거스름 돈이 얼마인가를 보여줄 것이다. 또한 그날.. 더보기 [DB] 개발방법론과 정보공학 개발방법론이란, 소프트웨어 공학의 원리를 소프트웨어 라이프 사이클에 적용한 개념으로 소프트웨어 개발을 위해 작업활동, 절차, 산출물, 기법등을 체계적으로 정리한 것이다. 일부 서적에서는 개발방법론이라는 것 자체를 혐오하는 글도 본 적이 있다. 혐오의 이유는 개발방법론이 정해진 절차나 기법을 이용하여 소프트웨어를 개발하기 때문에 사람의 생각 자체가 없어지는 것이 가장 큰 이유라고 한다. 어쨌든 개발방법론은 성공적인 프로젝트를 위한 하나의 로드맵이다. 개발방법론이 새로운 것이 아니라면 이미 많은 프로젝트에서 적용되고 성공이 어느 정도 검증된 것이므로 이를 참고하여 프로젝트가 처한 현실에 맞게 커스터마이징하여 사용하는 것은 나쁘지 않으리라 생각한다. 개발방법론은 다음과 같은 구성요소를 가진다. 작업절차 (단계.. 더보기 [DB] 소프트웨어 개발 프로세스 소프트웨어 공학이란 클라이언트의 요구사항을 만족시키는 결함이 없는 소프트웨어를 주어진 시간과 예산 범위내에서 생성하는 것을 목적으로 하는 학문 분야. 고전적인 소프트웨어 개발방법으로 '폭포수 모델'이다. 폭포수 모델은 마치 각각의 과정이 폭포수 처럼 흘러내리는 것에 비유하여 붙여진 이름이다. 고전적인 방법이라고 해서 나쁜 것은 아니다. 이보다 더 단순한 모델은 없으며, 중/소규모의 프로젝트에는 아직까지 매우 쓸만하다. 하지만 폭포수 모델은 매우 큰 단점이 존재한다. 전 단계들의 산출물에 현 단계가 너무 큰 영향받는 것이 그것이다. 특히, 요구사항 조사/분석과정에서 사용자의 요구사항을 조사/분석가가 제대로 얻어내지 못하면 프로젝트가 큰 어려움을 격게 된다. 다음과 같은 장/단점이 존재한다. 장점 가장 오래.. 더보기 [DB] 집합적사고방식 집합적 사고방식은 우선 2가지로 분류하여 살펴볼 수 있다. 그 2가지는 아래와 같다. SQL 작성시 집합적 사고방식 DB모델링시 집합적 사고방식 우선 SQL작성시 필요한 개념은 ‘2차원배열 단위로 처리된다고 생각’ 이다. 일반적인 C프로그래밍에서의 2차원 배열을 생각해보자. 데이터를 2차원 테이블형태(타일모양)으로 화면에 그려준다고 생각해보자. 그러면 일단 이중 For문을 돌면서 배열의 데이터를 가져올 것이다. 아마도 머리속에서는 난리가 날 것이다. ‘일단 변수를 하나 만들어서 초기값을 세팅하고, 처음 For문의 루틴에서는 배열을 끝까지 돌면서 데이터를 가져오고 .... ‘ 상당히 복잡하다. 그러면 SQL작성시는? 그냥 ‘A집합(Set, 2차원 배열의 데이터)을 보여줘’ 라고 하면 끝이다. 그렇다면 진짜.. 더보기 [DB] 3단계스키마구조 스키마란, 데이터베이스의 기술이다. 네이버 용어사전에는 다음과 같이 정의되어 있다. 데이터 시스템 언어 회의(CODASYL) 데이터베이스를 기술하기 위해 사용하기 시작한 개념. 데이터베이스의 구조에 관해서 이용자가 보았을 때의 논리 구조와 컴퓨터가 보았을 때의 물리 구조에 대해 기술하고 있다. 데이터 전체의 구조를 정의하는 개념 스키마, 실제로 이용자가 취급하는 데이터 구조를 정의하는 외부 스키마 및 데이터 구조의 형식을 구체적으로 정의하는 내부 스키마가 있다. 데이터베이스는 현재 다음과 같은 논리적인 모델이 있다. 계층형 모델 네트워크형 모델 관계형 모델 객체형 모델 객체-관계형 모델 '논리적'이라는 말은 위의 논리적인 모델에서 정의된 논리에 맞게 기술하는 것을 말한다. 즉, 계층형 모델의 논리에 맞게.. 더보기 [DB] 데이터베이스 시스템 데이터베이스 시스템을 크게 2가지 관점에서 바라 볼 수 있다. 데이터 모델 관점 데이터베이스 관리 시스템(DBMS) 관점 이 글에서는 각각의 관점에서 데이터베이스 시스템이 무엇인가 살펴볼 것이다. 관점이 2가지가 있지만 모델 관점에서 데이터베이스 시스템을 바라보는 것이 중요하다. 왜냐하면 우리는 DBMS를 직접 개발하지 않기 때문이다. Oracle사의 Oracle, Microsoft사의 SQL Server, IBM의 DB2 등 이미 여러 상용 DBMS 제품들이 있다. 이 제품들은 데이터베이스 이론을 토대로 만들어졌다. 그러므로 데이터베이스 관리 시스템(DBMS) 관점은 DBMS 제품에 대한 공부를 하면서 충분히 살펴볼 수 있니 이 문서에서는 데이터 모델 관점을 설명하는 것에 집중하도록 하겠다. 앞서 데이.. 더보기 [DB] 데이터의 중복과 고립화 데이터의 중복과 고립화를 없애는 일은 데이터베이스로 밥벌이 하는 주요 수단이다. 그러므로 이 부분을 잘 이해해야 하는데, 그게 쉽지 않다. 왜냐하면 제대로 설명하려면 책 한 권 가지고도 부족하기 때문이다. 앞서 데이터베이스의 정의에서 ‘최소한의 중복’이라는 글을 보았을 것이다. 무분별한 데이터의 중복을 없애고 정당화된 데이터의 중복이 필요하다. 여기에서는 데이터의 중복과 고립화가 왜 문제가 되는지만 정확하게 알면 된다. Data federation은 여러 데이터 저장소에 존재하는 데이터의 물리적 요소를 추상화하여, 단일 액세스 채널을 통해 조회하고 메모리 상에서 통합하는 가상적 통합하는 방식(Gartner)을 말한다. 데이터를 액세스하는 사용자는 가상환경에서 표준화된 단일 뷰(single view)를 제.. 더보기 [DB] 데이터베이스의 정의 데이터베이스가 무엇이냐고 필자에게 묻는다면 '데이터를 잘 꺼내보고, 잘 저장하기 위한 개념과 논리' 라고 하겠다. 여기에 '여러 명의 사용자' 또는 '고도로 구조화'와 같은 여러 가지 옵션들이 붙지만 '데이터를 잘 꺼내보고, 잘 저장하기 위한'에 포함이 된다. 여기서 논란의 여지가 있는 것은 역시 '잘'이란 부사이다. 데이터를 '잘' 꺼내보고, '잘' 저장하는 것이 데이터베이스의 지식영역의 전부(데이터 분석과 관련된 통계, 마이닝 분야는 데이터를 관리하는 것이 아닌 데이터 자체에 대한 해석의 영역이므로 데이터베이스의 지식영역에서는 제외한다)라고 봐도 된다. 데이터를 잘 꺼내보고 잘 저장하기 위한 일련의 작업들 중에서 가장 중요한 단계는 누가 뭐라고 해도 데이터 모델링과 설계 단계다. 나머지는 DBMS 제.. 더보기 이전 1 2 3 4 다음