1. 모든 속성을 만족할 수 없다는 CAP 이론

가. CAP(Consistency, Availability, Partitioning)이론이란?
- 2002년 버클리 대학의 Eric Brewer 교수에 의해서 발표된 분산 컴퓨팅 이론으로, 분산 컴퓨팅 환경은 Consistency, Availability, Partitioning 3가지 특징을 가지고 있으며, 이중 두 가지만 만족할 수 있다는 (Pick two) 이론

- 분산 컴퓨팅 시스템이 보장해야 할 3가지 특징(일관성,가용성,부분 결함허용)을 정의하고,분산 시스템은 3가지 중 2가지만 보장할 수 있고(Pick two), 3가지 모두를 보장하는 것은 불가능 하다는 이론

CAP 이론 모형 C·A·P 설명
Consistency (일관성) - 모든 사용자는 동시에 항상 같은 데
이터를 조회 한다
Availability (가용성) - 모든 사용자는 항상 read/write 할 수 있다
- 몇몇 노드 장애 시에도 다른 노드들은
작동해야 한다
Partition Tolerance (부분 결함허용) - 물리적 네트워크 분할(Partition)에도
시스템은 정상 동작 해야 한다
Pick Two - CAP중 2가지만 선택 가능

 

2. CAP 이론 측면에서 RDB와 NoSQL DB

가. CAP 이론과 DBMS의 관계

 - 트위터와 같이 하루에 올라가는 수천만 건의 글을 감당할 수 있는 분산형 데이터베이스가 필요 하면서, ROI높고 성능 좋은 DBMS 필요

 - 일반적으로 NoSQL시스템은 관계형을 포기하거나 트랜잭션 구조를 느슨하게 함으로써 수평 확장이 가능하도록 하는데 주요 목적을 가짐

DBMS 설명 적용 사례
RDB - Consistency + Availability 선택 - 금융 서비스: 미션 크리티컬한 트랜잭션 보장
NoSQL DB - Consistency + Availability 포기

- 분산 확장성을 보장

- 트랜잭션 ACID를 느슨하게 유지
- C + P 형: 대용량 분산파일시스템 à 성능 보장형
(Bigtable, Hypertable, Hbase

- A + P 형: 비동기식 서비스, SNS 서비스
(Dynamo: Amazon, Apache Cassandra: Twitter

 - NoSQL DB 제품은 CAP 중에서 C 또는 A를 일부 포기함으로써 분산 확장을 택함

나. CAP 이론 측면에서 RDB와 NoSQL DB 비교

구분 RDB NoSQL
특징 - JOIN
- ACID 트랜잭션
- 고정된 스키마
- Update/Delete 잘 사용되지 않음 -> Insert로 대체
- 강한 Consistency 불 필요
- 노드의 추가/삭제, 데이터 분산에 유연
- 모델링(Key-value, 계층형/그래프 데이터 등)
- Query 유연
장단점 - 데이터 무결성, 정합성 보장
- 정규화된 Table, 작은 크기의 트랜잭션
- Web 환경의 다양한 정보 검색 및 저장에 강함
단점 - 확장성 한계
- 클라우드 분산 환경에 적합하지 않음
- 데이터 무결성, 정합성 보장하지 않음

 

3. 클라우드 컴퓨팅 환경에서 NoSQL DB 필요성 (RDB 제약) 

가. NoSQL DB(Not Only SQL DB)의 개념
 - 관계 데이터베이스(RDB) 한계를 극복하기 위해, Join이 없고, 고정된 스키마를 갖지 않는 새로운 형태의 데이터 저장소

 

나. 클라우드 환경에서 NoSQL DB 필요성(RDB 제약)
 - 클라우드 컴퓨팅/웹 환경의 대량의 데이터를 저비용으로 처리할 수 있는 DB 필요
 - 네트워크 발전으로 인해 발생하는 많은 양의 데이터를 처리하기 위해 클라우드 컴퓨팅 등 분산 처리 시스템이 도입되면서 기존 RDB의 확장성 한계로 인해 NoSQL DB가 대안으로 대두되고 있음

'1. IT Story > Basic Studies' 카테고리의 다른 글

데이터 품질관리의 Data Profiling  (0) 2020.12.24
MMDB(Main Memory Data Base)  (0) 2020.12.24
DB 샤딩(Sharding)  (0) 2020.12.24
CI(Continuous Integration)  (0) 2019.11.21
테스트자동화  (0) 2019.09.22
V&V(Verification & Validation)  (0) 2019.09.20
빅데이터(Big Data)  (0) 2019.09.19
3D프린팅  (0) 2019.09.17
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

 디비버(DBeaver) Tool은 다양해지고 있는 DBMS(Oracle/MySQL/PostgreSQL), NOSQL/Big DATA DB 들에 하나의 SW로 접근하여 개발시에 편리하게 질의를 수행할 수 있도록 도와주는 SW이다.  

 DB의 종류가 달라질때마다 해당되는 SW를 다운로드하여 사용하는 불편함을 디비버는 해결해주고 있으며 가볍고 간단한 사용방법으로 많은 IT종사자들이 사용중인 것으로 알고 있다. 디비버는 커뮤니티 버전과 엔터프라이즈 버전이 존재하며 무료로 커뮤니티 버전을 제공함으로써 많은 사람들에게 열려있고 SW의 패치도 활발하여 빠르게 성장하는 SW이다.

 커뮤니티 버전에 경우에는 튐김현상이나 세션이 자동으로 끊어졌을때 재연결하는 부분등 불편한 부분이 남아있고 DB에 접근할수 있는 항목들이 제한적인 부분과 UI나 데이터 추출 및 확인시에 불편한점이 존재하는데 엔터프라이즈 버전에서는 이러한 부분을 추가적으로 제공하여 더욱 편리하게 사용할 수 있도록 하고 있다.

 엔터프라이즈 버전은 유료로 달러로 금액을 지불해야 다운로드가 가능한데 해외 사이트에서 해당 SW를 크렉하여 무료로 사용할수 있도록 제공하여 소개하려한다.

 

디비버 엔터프라이즈 무료사용방법 (DBeaver Enterprise Free Download)

 

1. 설치파일 다운로드

 - 디비버 Community Edition은 아래 공식사이트를 통하여 무료로 받아 사용할수 있다. 

dbeaver.io/download/

 - 디비버 Enterprise Edition은 Community Edition보다 더 다양한 NoSQL, BigDATA DB에 접근하여 사용이 가능하며 데이터 뷰나 수정, ERD등의 추가적인 기능을 제공한다.

 - 디비버 Enterprise Edition 유로로 다운로드하여 사용할 수 있는 SW인데 크렉을 통하여 무료로 사용가능하도록 제공하는 사이트가 존재한다. 아래 절차대로 다운로드하여 사용하면 된다.                                                           

getintopc.com/softwares/management/dbeaver-enterprise-free-download/

해당 프로그램에 대한 최소 스펙정보가 있으니 참고하여 설치가 필요
위 이미지 절차대로 수행하면 불필요한 광고 없이 다운로드 가능

 

2. 설치 파일 실행 및 설치 완료

 - 다운로드가 완료되면 아래와 같이 패스워드(123)을 입력하여 압축을 풀어준다. 그후에 32비트/64비트에 맞는 설치 파일을 수행하여 설치를 진행한다.

설치 파일확인, Readme에 세팅 방법참고
설치 진행시 설치경로를 기록해 두어야 crack 작업시 수월함

 

3. DBeaver Enterprise 사용인증(crack)

 - 설치 경로 확인 (C:\Users\Invest\AppData\Local\DBeaverEE)

 - 설치파일에 있던 Crack폴더의 dbeaver-agent.jar 파일을 설치 경로로 복사 붙여넣기 한다.

 - 해당 설치경로의 dbeaver.ini 파일을 열어 dbeaver-agent.jar이 위치하고 있는 경로와 파일명을 지정하여 넣고 저장한다.

 - dbeaver.exe 실행파일을 실행하여 SW를 사용한다.

dbeaver-agent.jar 파일을 복사 붙여넣기
dbeaver.ini 파일을 수정
dbeaver 파일 실행

 

해당 설치 파일은 DBeaver Enterprise 6.3 버전으로 최신 버전보다는 낮은 버전이지만 사용하는데 큰 문제는 없는 것 같다.

 

#DBeaver Enterprise

#How to use Debugger Enterprise for free

Oracle
MySQL
PostgreSQL
Ms-SQL
MongoDB
Cassandra
InfluxDB
Redis
Amazon DynamoDB
Google Bigtable
Couchbase
CouchDB

 

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

Conversational platforms - 대화형 플랫폼 



1. Conversational platforms의 개요

 1-1. 정의

   - 사용자가 컴퓨터의 언어를 습득하지 않아도 컴퓨터가 사람의 언어를 이해할 수 있도록 도와 사용자의 부담을 줄여주며, 사용자가 자연어를 활용해 기술과 상호작용할 수 있도록 함

   - 대화형 플랫폼 시장은 가상개인비서(VPA), 가상고객비서(VCA), 가상직원비서(VEA), 챗봇



2. Conversational platforms의 구성도, 주요기술

 2-1. Conversational platforms의 구성도

 - 참고자료: 가트너의 2018 IT 트렌드 전망


 2-2. Conversational platforms의 주요기술

  1) 패턴 인식 (Pattern Recognition)

   - 기계에 의하여 도형, 문자, 음성 등을 식별시키는 것


  2) 자연어 처리 (Natural Language)

   - 인간이 보통 쓰는 언어를 컴퓨터에 인식시켜서 처리하는 과정  

   - 정보검색, 질의응답 시스템, 자동변역 및 통역 등이 포함


  3) 시맨틱 웹 (Semantic Web)

   - 컴퓨터가 정보자원의 뜻을 이해하고 논리적 추론까지 할 수 있는 차세대 지능형 웹


  4) 텍스트 마이닝(Text Mining)

   - 비정형 텍스트 데이터에서 새롭고 유용한 정보를 찾아내는 과정 또는 기술


  5) 상황인식컴퓨팅(Context Aware Computing)

   - 가상공간에서 현실의 상황을 정보화하고 이를 활용하여 사용하는 중심의 지능화된 서비스를 제공하는 기술


3. Conversational platforms의 고려사항

  - 현재 상용화된 대화형 플랫폼은 사용자의 의도를 파악하는 능력이 제한적이기 때문에  간단한 질문과 대화 정도를 처리하는 경우가 많다.

  - 대화형 인공지능 기술을 기반으로 구축되는 ‘통합 대화형 플랫폼’이 필요 (가상개인비서(VPA), 가상고객비서(VCA), 가상직원비서(VEA), 챗봇)

  - 애플의 시리, 마이크로소프트의 코타나, 아마존의 알렉사, 구글 어시스턴트, 바이두의 두어OS(DuerOS), IBM의 왓슨


[참고자료]


'1. IT Story > Basic Studies' 카테고리의 다른 글

라즈베리파이 (Raspberry Pi)  (0) 2019.01.31
NTP 보안 (Network Time Protocol)  (0) 2019.01.31
PoE (Power over Ethernet)  (0) 2019.01.30
CASB(Cloud Access Security Broker)  (0) 2019.01.30
SDN(Software-Defined Network)  (0) 2019.01.28
V2X(Vehicle to everything)  (0) 2019.01.27
몰입 경험(Immersive Experience)  (0) 2019.01.25
OTT (Over The Top)  (0) 2019.01.24
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,