[Database] 분산 데이터베이스의 목표와 장단점

[Database] 분산 데이터베이스의 목표와 장단점

분산 데이터 베이스

네트워크를 통해 여러 개의 컴퓨터에 분산한 데이터 베이스를 하나의 논리적 시스템을 구성하는 데어터베이스


분산 데이터베이스의 목표

투명성  : 실제로는 DB가 여러개가 연결되어 있지만, 사용자 입장에서는 마치 하나의 데이터베이스에 모인것처럼 보이는것

위치 투명성 (Location Transparency)

액세스하려는 데이터베이스의 실제 위치를 알 필요없이 단지 데이터베이스의 논리적인 명칭만으로 엑세스 할 수 있음
(쿼리 명령을 주면 어디서 오는지는 중요하지 않다.)

중복 투명성 (Replication Transparency)

동일 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용하고, 시스템은 자동으로 여러 자료에 대한 작업을 수행 함
(DB를 여러개로 중복해서 복사해두면, 2명이 동시에 DB에 접근을할 때 병행제어를 할 필요가 없다.)

병행 투명성 (Concurrency Transparency)

분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실현되더라도 그 트랜잭션의 결과는 영향을 받지 않음
(DB가 여러개기 있기 때문에, 하나의 DB에 여러 사람이 들어가서 작업해도 이상 무)

장애 투명성 (Failure Transparency)

트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션을 정확하게 처리 함
(하나가 망가지면 다른 쪽으로 옮겨서 사용 할 수 있도록 함)



장점

  • 분산되어 있는 데이터를 효과적으로 이용 및 처리할 수 있으므로 공용성과 가용성이 뛰어남
  • 추가와 폐쇄가 용이하므로 점증적으로 시스템 확장이 용이하고 적응성과 확장성이 뛰어남
  • 다원적으로 변경이 용이하므로 신뢰성을 증진할 수 있다.
  • 각 지역의 특색에 맞는 자원을 활용하여 하드웨어나 소프트웨어를 구축 할 수 있다.


단점

  • 필요로 하는 장비가 많으므로 구축이 복잡하며 구축 비용이 많이 든다.
  • 소프트웨어 개발이 복잡하고 개발 비용이 비싸다
  • 통신망(인터넷, 네트워크)에 따른 제약사항이 있다.




출처


댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?