728x90

DataBase 4

MongoDB Arbiter

MongoDB 에서 레플리카 셋 서버 구성을 한다고 했을 때, 각각의 마스터서버, 슬레이브 서버만 생각하기 마련이다. 하지만 여기서 추가적으로 '아비터 서버'라는 것이 구성될 수 있다. 각각의 서버들의 개념을 살펴보면 다음과 같다. 1. 마스터 서버(1개) : 메인 데이터베이스 서버, 사용자가 접속하는 대상 서버 2. 슬레이브 서버(n개) : 서브 형태의 서버, 마스터 서버와의 데이터를 동기화하는 서버 3. 아비터 서버(1개) : 감시용 서버, 문제가 생긴 서버를 대신해서 동작할 다른 서버를 지정하는 등의 역할을 하는 서버 마스터에 문제가 생겨 슬레이브 노드로 대체 한다고 했을 때 이것이 당연하게 이루어 지는게 아니라, 아비터 서버를 통해서 아비터 서버가 마스터에서 어떤 문제가 생기는지 감시하고 문제가 ..

DataBase/NoSQL 2022.04.01

DB 간단한 개념 정리

RDBMS (정확한 데이터 구조 / 명확한 스키마가 중요할때) 관계형데이터베이스 관리 시스템으로 관계형 모델을 기반으로 모든 데이터를 테이블 형태로 표현하는 데이터 베이스 → 관계를 나타내기 위해서 사용하는 키가 외래 키(FK) → 이 외래키로 테이블 간 Join이 가능함 정해진 스키마가 있어서 명확한 데이터 구조및 중복없이 저장 가능 테이블간 관계가 있어서 시스템이 커질 경우에는 Join이 많아질 수 있어서 복잡한 쿼리가 만들어질 수 있고, 성능이슈가 있을 수 있다. → Scale-up을 통해 해결하면 되지만. 비용이 만만치 않다. NoSQL (정확한 데이터 구조를 알 수 없고 / 데이터 변경 및 확장이 될 수 있을 때) RDB형태의 관계형이 아니라 다른 형태의 데이터를 저장할 수 있는 기술로 관계를 ..

DataBase/RDBMS 2022.04.01

Cannot add or update a child row: a foreign key constraint fails

Cannot add or update a child row: a foreign key constraint fails 구성되어있는 테이블에서 외래키를 추가 하다 발생한 에러 -> 테이블 안에서 값이 이미 존재하여, 외래키로 선언 하려는 컬럼의 값과 참조하는 테이블의 값이 존재하더라도 존재하지 않을 수 있기에 발생할 수 있음 해결법 : 구성된 테이블의 내용 비우고 다시 시도해야 한다. 기존 테이블 데이터는 백업을 받아놓고 비운 뒤에 외래키 추가 후 다시 삽입 하면 해결 할 수 있음

DataBase/RDBMS 2022.03.03
728x90
반응형