레디스(Redis)의 개요 레디스(Remote Directory System, Redis)는 비정형 데이터를 저장하고 관리하기 위한 키-밸류(Key-Value) 데이터베이스로 오픈소스 기반의 비관계형 데이터베이스 관리 시스템입니다. Key-Value 데이터베이스이기 때문에 NoSQL로 분류되며, 2015년부터는 RedisLab co.에서 만들어진 상용 버전과 누구나 무료로 사용할 수 있는 오픈소스 버전으로 나뉘어져 있습니다. 레디스의 역사는 2009년 Antirez라는 별명을 사용한 Salvatore Sanfilippo(2020년에 현재는 Redis에서 물러난 상태)에 의해서 처음 만들어졌습니다. 그는 이탈리아 스타트업의 확장성을 개선하기 위해서 실시간 웹 로그 분석기를 개발하게 되었고 Redis 프로젝..
트랜잭션(Transaction)의 개요 트랜잭션의 개념 - 한번에 수행되어야 할 데이터베이스의 일련의 Read, Write 연산을 수행하는 단위 - 하나의 논리적 기능을 수행하기 위한 데이터베이스 처리작업의 단위 - 데이터베이스의 일관된 상태를 다른 일관된 상태로 변화시킴 트랜잭션의 특징(ACID) 원자성(Atomicity) - 트랜잭션은 분해가 불가능한 최소의 단위로 연산 전체가 처리 되거나 처리 되지 않아야 됨 (All or Nothing) - Commit/Rollback 연산 일관성(Consistency) - 일관성 있는 데이터베이스 상태를 보존함 - 트랜잭션 실행이 성공적으로 완료된 상태면, 데이터베이스는 모순이 없이 일관된 데이터 상태를 유지 고립성(Isolation) - 트랜잭션이 실행 중에 ..
연결함정(Connection Trap) 연결함정의 개념 - 관계형 데이터베이스에서 데이터간에 관계가 모호해져서 원하는 결과를 얻을 수 없거나 업무 처리시 영향을 주는 ER모델의 문제점 연결함정의 유형 부채꼴 함정(Fan Trap) - 개체 집합(Entity Set) 사이에 관계성 집합(Relation set)이 정의되어 있지만 관계성이 모호한 경우 부채꼴 함정이라 한다 균열 함정(Chasm Trap) - 개체 집합 사이에 관계성 집합이 정의되어 있지만 일부 개체집합과 개체집합 사이에 관계성이 존재하지 않는 경우 균열 함정이라 한다. 부채꼴은 관계성이 모호한 것이고, 균열은 일부 개체의 관계성이 존재하지 않는 경우이다 부채꼴 함정의 사례 및 해결 방법 부채꼴 함정의 사례 유재석이라는 교수 경우 상경대학인것..
사회기반구조의 데이터베이스 1990년대 사회의 전 부분의 정보화가 정부부처 중심으로 무역, 통관, 물류, 조세, 국세, 조달 등 사회간접자본(Social Overhead Capital, SOC) 차원에서 전자문서교환(Electronic Data Interchange, EDI) 활용이 본격화되고 부가가치통신망(Value Added Network, VAN)을 통한 정보망이 구축되기 시작하였다. 1995년 조세전산망, 1996년 조달,국방,물류종합망,의료정보망,산업정보망이 착수되었으며 중공업이나 유통 분야를 중심으로 빠르게 확산되었다. 2000년대에는 지리, 교통부문의 데이터베이스(Database)는 보다 고도화되었고, 의료,교육,행정 등 사회 각 부문으로 공공 DB의 구축 이용이 확대되었다. 분야별 사회기반..
데이터베이스의 용어의 등장 연혁을 왜 이해해야 하며, 다양한 기관에서 정의한 데이터베이스의 정의들을 왜 외워야 하는지 1도 모르겠지만, 기출문제 등에서 저런 쓰잘대기 없는 내용들이 출제되니 지루하더라도 년도랑 어떤 기관에서 저런 말을 했는지 외우도록 해보자. 마지막 데이터베이스의 다양한 측면의 특징은 정말 가관인 것 같다. 저정도를 모르는 사람이 공부를 한다고 하여 ADP와 같은 고급 자격증을 주는 것이 말이나 되는건지.. 데이터베이스의 용어의 등장 해외 1950년대 미국 정부의 자국 군대의 군비 상황을 집중 관리하기 위해서 컴퓨터를 활용한 도서관의 개념으로 등장, 데이터의 기지(Base)라는 뜻의 의미 1963년 6월 미국 SDC(System Development Corporation)에서 개최한 "컴..
조인연산(Join Operation) 이란? - SQL 명령문에 의해서 여러 테이블에 저장된 데이터를 한번에 조회할 수 있게 하는 DBMS의 기능- 두 집합(테이블) 간의 곱으로 데이터를 연결하는 가장 대표적인 데이터 연결 방법- 대표적인 종류로 Nested-Loop Join, Sort-Merge Join, Hash Join 등이 존재함 ※ 조인연산은 옵티마이저(Optimizer)의 성능 및 DBMS의 고유의 성능, 그리고 조인연산의 알고리즘에 의해서 속도 등의 차이가 있을 수 있으나, 결과집합은 동일함 Nested Loop Join 가. Nested Loop의 개념- 2개 이상의 테이블에서 하나의 집합을 기준으로 순차적으로 상대방 Row를 결합하여 원하는 결과를 조합하는 방식- 먼저 선행 테이블의 처리..
1. 전사아키텍처 프레임워크 개념- 전사아키텍처 활동에서 얻어지는 산출물을 분류하고 조직화, 이를 유지 관리하기 위한 전체적인 틀을 정의- 여러 선진 모델 존재함, 기관이나 기업은 참조하거나 독자적으로 만들 수 있음 2. 전사아키텍처 프레임워크 구성 - 전사아키텍처 정책/정보/관리 3가지 영역 구분 가. 전사아키텍처 정책- EA 구축 전에 우선 구축 목적과 방향 정의 필요 1) 아키텍처 매트릭스- 뷰(View)와 관점(Perspective)의 두가지의 차원으로 나눠서 매트릭스를 생성하고 산출물 정의- 비즈니스 아키텍처, 어플리케이션 아키텍처, 데이터 아키텍처, 기술 아키텍처는 뷰(View)- 계획자, 설계자, 개발자 등으로 분류하는 것을 관점(Perspective)이라고 함 2) 전사아키텍처 비전- EA..
오라클에도 존재하듯, MySQL에도 SUBSTRING 기능이 존재한다. 이 SUBSTRING은 거의 모든 언어나 DBMS에 자체적으로 내장이 되어 있고, 사용방법도 비슷하다. SUBSTR이라고 써도 되고, SUBSTRING으로 써도 된다. 둘은 완전히 동일하다. 사용방법SUBSTR(str,pos), SUBSTR(str FROM pos), SUBSTR(str,pos,len), SUBSTR(str FROM pos FOR len) 1. 인자값 설명 str 원본 문자열 pos 시작 위치값 len 가져올 길이값 2. 사용사례 SUBSTR(str, pos) SELECT SUBSTR('동해물과백두산이',5); 결과) 백두산이 해석) 5번째 문자열부터 읽으시오. SUBSTR(str FROM pos) SELECT SUB..
MariaDB란 MySQL과 자매버전으로 불리우는 오픈소스 DB이다. MySQL과 자매버전으로 불리우는 이유가 존재하는데 그 내용을 알면 꽤 흥미진진하다. MySQL을 만든 개발자인 Michael Widenius(Monty 라고 불리움)는 SUN 마이크로 시스템에 MySQL AB 회사를 인수하고, 다시 SUN 마이크로시스템이 오라클에 인수되면서 Monty는 오라클에 넘어간 자기의 자식을 걱정하며, Monty AB라는 회사를 차리게 된다. - 로고마저, MySQL과 Maria는 서로 닮아있다.(돌고래, 물개) 왜냐하면, 오라클이라는 업체는 IT계에서도 유명한 보수 업체이고, 이렇다 보니 그동안구글 vs 오라클, MySQL vs Oracle 등 개방 vs 폐쇄 라는 싸움이 많이 나기도 하였다. 내가 Mont..