본문 바로가기

728x90
반응형

데이터베이스

(5)
[데이터베이스] MySQL Replication Database Replication 하나의 DB만 사용하지 않고 주 Database를 다른 Database에 복제하는 방법입니다. 물론 DB 를 구성할 때 하나의 DB 로도 구성할 수 있지만, 안정성을 위해 여러개의 DB 를 두어 운용을 하는 경우가 많습니다. 이 때 역할에 따라 주 Database 를 Master DB(source), 복제해가는 Database를 Slave DB(replica)라고 부릅니다. 역할에 따라서 진행되는 replication 이라는 작업을 통해 DB 가 장애와 같은 상황에서 더 안정적으로 동작하도록 해줍니다. Master 와 Slave 의 역할 Master 다른 노드(Slave)에 데이터를 복제해주는 쪽으로, 일반적으로 읽기 외에 insert, update 와 같이 데이터가..
[데이터베이스] SQL 튜닝 - 드라이빙 테이블 데이터베이스를 통해 데이터를 가져올 때 테이블의 엑세스 순서에 따라서 성능이 좌지우지 되는 경우가 있습니다. 특히 데이터가 많은 경우에는 이러한 성능을 개선해주는 튜닝이 중요해지게 됩니다. 이번 글에서는 이 DB튜닝에서 사용되는 드라이빙 테이블에 대해서 알아보겠습니다. 드라이빙 테이블이란 드라이빙 테이블은 join시에 먼저 엑세스 되는 테이블을 의미합니다. 반대로 나중에 엑세스되는 테이블은 드리븐 테이블, 혹은 이너 테이블이라고 합니다. 이 때 드라이빙 테이블이 될 것인지, 즉 어떤 테이블을 먼저 엑세스 할 것인지가 중요합니다. 예시로 아래의 상황을 들 수 있습니다. 만약 찾고자 하는 조건에 맞는 행이 A테이블에 5000만건, B테이블에 1000만건이 있을 때 where A.no = B.no 를 수행한다..
[데이터베이스] ERD 설계하기 (1) - 기본과 용어 데이터베이스를 설계 할 때, 데이터베이스를 물리적으로 만들기 전에 어떠한 구조를 가지고 만들 것인지 설계도를 그리는 작업을 해야합니다. 이러한 것을 conceptual database design(개념적 DB 설계)라고 합니다. conceptual database를 디자인 하는 방법은 ERD, EERD 등 다양한 방법이 있습니다. 이번 시간에는 ER(Entity Relationship) Diagram, 즉 ERD가 무엇인지, 또 어떻게 그리는지에 대해서 다뤄보고자합니다. ER Model의 기본 우선 ER Model을 만들기 전에, 기본적인 용어를 알아두어야합니다. Entities 엔티티는 ER 모델의 기본적인 개념입니다. DB에 저장되는 객체 하나하나를 entity라고 부릅니다. 예를 들어서 사원 rel..
[데이터베이스] 데이터베이스 유저와 역사 우리는 데이터베이스와 관련된 이해관계자들을 '데이터베이스 유저'라고 부릅니다. 데이터베이스 유저는 크게 다음과 같이 나눌 수 있습니다. - DB 컨텐츠를 실제로 사용하며 제어하거나, DB application을 설계, 개발, 유지관리 하는 유저 (Actors on the Scene) - DBMS 소프트웨어와 관련 도구를 설계 및 개발하며, 컴퓨터 시스템을 운영하는 유저 (Workers Behind the Scene) 이번 시간에는, 해당 유저 타입이 어떻게 더 세분화되고, 각 유저들이 어떻게 데이터베이스와 연관되어있는지, 더불어 데이터베이스의 역사가 어떻게 흘러왔는지에 대해서 알아보도록 하겠습니다. Actors on the Scene Actors on the Scene은, 다음과 같이 나눌 수 있습니다...
[데이터베이스] 데이터베이스의 기본 개념 서론 데이터베이스는 여러 사람들이 데이터를 공유하고 사용하기 위해서 만들어진 데이터의 집합입니다. 하지만 단순히 데이터를 저장하는 것에서 그치지 않고, 내용을 저장하는 방식 및 구조를 달리함에 따라서 검색과 갱신에 있어서의 효율성을 높일 수 있습니다. 따라서 데이터베이스를 잘 이해하여 구조를 만들고, 설계하는 것은 굉장히 중요합니다. 이번 카테고리에서는 데이터베이스가 무엇인지, 어떻게 효율적으로 DB의 구조를 설계할 수 있는지에 대해서 배워보는 시간을 갖고자 합니다. 데이터베이스의 Basic Definitions 데이터베이스에 대해서 알아보기 전, 데이터베이스에 대한 간단한 정의를 해봅시다. - Database(DB) : 연관된 데이터, 즉 자료들의 집합 - Data : 기록할 수 있으며, 암묵적인 의미..

728x90
반응형