- 전체
- Sample DB
- database modeling
- [표준 SQL] Standard SQL
- G-SQL
- 10-Min
- ORACLE
- MS SQLserver
- MySQL
- SQLite
- postgreSQL
- 데이터아키텍처전문가 - 국가공인자격
- 데이터 분석 전문가 [ADP]
- [국가공인] SQL 개발자/전문가
- NoSQL
- hadoop
- hadoop eco system
- big data (빅데이터)
- stat(통계) R 언어
- XML DB & XQuery
- spark
- DataBase Tool
- 데이터분석 & 데이터사이언스
- Engineer Quality Management
- [기계학습] machine learning
- 데이터 수집 및 전처리
- 국가기술자격 빅데이터분석기사
- 암호화폐 (비트코인, cryptocurrency, bitcoin)
데이터아키텍처전문가 - 국가공인자격 데이터베이스 선정에는 비밀이 있다 - 3부
2015.01.15 19:03
| 제목 | 데이터베이스 선정에는 비밀이 있다 - 3부 | ||
|---|---|---|---|
| 조회수 | 3291 | 작성일자 | 2013.10.13 |
|
데이터베이스를 구축하는 과정에서 우리는 고려해야 하는 많은 부분을 놓치는 것 같다.
이렇게 무심코 놓치는 부분이 추후 우리에게는 크나큰 악 영향으로 다가온다는 것을 아는가?
많은 사이트에서 데이터베이스 선정의 비밀을 이해하지 못하는 것 같다. 분명한 것은
데이터베이스의 선정에는 비밀이 있다는 것이다. 지난 호에 이어 데이터베이스 선정의 비밀을 알아
보자. 프로젝트를 수행하다 보면 대부분의 프로젝트에서 데이터베이스를 도입하지 않을 수는 없게 된다.
어느 회의에서 회의를 진행 중에 누군가가 왜 데이터를 관리하기 위해 데이터베이스를 사용하는지 모르겠다며 디스크에 파일로 관리하면
되지 않느냐고 주장하는 것을 경험한 적이 있다. 이는 하나만 알고 둘은 모르는 말일 것이다. 여기서 데이터베이스를 왜 사용하는지를 말하고 싶지는 않다.
데이터의 효과적인 관리와 성능을 위해 우리는 데이터베이스를 사용하게 된다.
따라서, 데이터베이스에 대한 우리의 목표를 달성하기 위해 현명하게 데이터베이스를 선택해야
할 것이다. 대부분 담당자들은 데이터베이스를 선정하는 절차를 잘 알고 있을 것이다. 보통의 경우 데이터베이스를 선정하는 절차에는 가용성,
확장성, 호환성, 성능 및 기술 지원 등에
초점을 두고 있다. 이는 우리가 데이터베이스를 선정함에 있어 반드시 확인해야 하는 항목임에는
틀림없다. 하지만 우리는 이러한 데이터베이스 선정의 각 항목에 숨겨져 있는 비밀을 잊고 있는 것
같다. 지난 호에서는 데이터베이스 선정에 있어 가용성과 성능에 숨겨져 있는 비밀을 확인해
보았다. 이번 호에서는 호환성, 비용 및 기술 지원에
숨겨진 비밀을 알아보자. 호환성에는 궁합의 비밀이
숨겨져 있다. 우리가 자신의 PC에 프로그램을 설치하고자 하는 경우 어떤 절차를 수행하는가? 우선 PC에 설치하고자 하는 프로그램이 존재할 것이다. 그리고 가장 먼저 해야 할 일은 프로그램을 다운 받아야 한다는 것이다.
프로그램을 다운 받을 때 우리는 무엇을 먼저 확인하는가? 바로 우리의 PC 사양에 맞는 프로그램을 확인해야 한다. 이것은 무엇을
의미하는가? 동일 프로그램이어도 어떤 환경에서는 설치가 되지만 어떤 환경에서는 설치가 안 된다는
것이다. 그렇기 때문에 사양에 맞는 설치 파일을 다운 받아야 할 것이다. 사양을 고려하지 않는다면 프로그램 설치에 실패할 것이다. 우리가
사용하는 PC도 이처럼 호환성이라는 것이 존재하는데 하물며 대용량의 데이터를 관리하는 유닉스 또는
윈도우 서버들은 더더욱 호환성을 강조하게 될 것이다. 호환성에는 의도적인 호환성 문제와 의도적이지
않은 호환성 문제가 존재한다.
첫
번째로 의도적인 호환성 문제를 확인해 보자. 데이터베이스도 우리
PC에 설치되는 프로그램과 별반 다르지 않다. 어떤 데이터베이스는 윈도우 서버에는
설치하지 못하는 데이터베이스도 존재하며 어떤 데이터베이스는 유닉스 서버에 설치하지 못하는 데이터베이스가 존재한다.
이와 같이 특정 사양에 맞추어 소프트웨어를 개발한 것이 의도적인 호환성의 문제이다.
이러한 호환성은 다른 소프트웨어와 마찬가지??게 된다. 또한, 데이터베이스 선정의 담당자들은 이러한 문서를 참고하게 된다.
이러한 의도적인 호환성 문제는 데이터베이스를 만드는 업체에서 의도한 것이기 때문에 매우 자명한 현상이다. 특정 데이터베이스를 선정한 후 해당 데이터베이스 업체에서는 해당 데이터베이스는 다른 데이터베이스와 호환성을 가지고 있지 않다는
문서를 제공하였다. 그럼에도 불구하고 담당자가 해당 데이터베이스와 다른 데이터베이스를 연동하려고
한다면 이는 실패할 것이다. 그렇다면 이는 누구의 잘못인가?
데이터베이스 업체에서 이미 의도적으로 호환성을 제공하지 않았음에도 불구하고 이와 같은 기능을 사용하고자 하는 담당자의 문제일
것이다. 이는 아마도 데이터베이스 선정에 실패한 것은 아닐까?
이처럼 의도적인 호환성 문제는 이미 데이터베이스 업체에서 모든 항목이 문서화되어 있고 공지되어 있기 때문에 조금만 주의하면 의도적인
호환성 문제때문에 우리가 어려움을 격지는 않을 것이다.
두
번째로 의도적이지 않은 호환성 문제를 확인해 보자. 다른 많은 소프트웨어들도 그렇지만 데이터베이스는
궁합이라는 호환성을 가지고 있다. 궁합은 과학이 아니다.
하지만 궁합이 때로는 맞는 경우를 보았을 것이다. 인간사에 존재하는 궁합이라는
것이 21세이 최첨단 사업이라는 IT 쪽에서도 존재한다는
것이 재미있지 않은가? 필자가 초기에 데이터베이스를 도입하는 과정에서 해당 데이터베이스는 A 유닉스와는 궁합이
잘 맞는 다는 이야기를 들었었다. 하지만 필자는 이러한 궁합이라는 것 보다는 문서 또는 과학을 더
믿었기 때문에 이러한 것을 무시한 적이 있었다. 그래서 해당 데이터베이스는 궁합이 좋지
않다는 B 유닉스와 같이 사용하게 되었다. 그 이후로 원이
모를 장애들이 몇 번 발생하는 경험을 했었다. 이런 경험을 했다고 필자가 서버와 데이터베이스의 궁합을
믿는 것은 아니다. 원인 없는 결과가 존재할 수 없는 곳이
IT라고 믿기 때문이다. 하지만 이러한 궁합을 완전히 무시할 수도 없는 것이 현실인 것
같다. 데이터베이스와 운영 체제 또는 다른 소프트웨어와의 궁합도 필자는 과학이라고 생각한다.
데이터베이스를 만들 때 모든 운영 체제와 다른 모든 소프트웨어를 고려할 수는 없는 것이 현실이다.
가장 일반적인 환경에서 데이터베이스를 개발하게 된다. 그렇기 때문에 어떤 운영 체제에서는
발생하지 않는 문제가 다른 운영 체제에서는 발생할 수 있다. 호환성의 비밀은 바로 의도적이지 않은
호환성의 문제를 의미한다. 데이터베이스 업체에서 제공하는 호환성만을 참조하지 말아야 할
것이다. 데이터베이스 업체에서도 모든 환경에서 해당 데이터베이스를 테스트해보는 것은 아니다. 그렇기 때문에 많은 곳에서 호환성에 대한 데이터를 수집해야 할 것이다.
동일 환경으로 업무를 서비스하는 사이트를 확인하여 해당 사이트에 자문을 구하는 것도 좋은 방법일 것이다. 호환성의 비밀은 데이터베이스가 해당 시스템에 설치되느냐 아니냐의 문제가 아니다. 설치의
문제는 매우 기본적인 단계의 호환성일 것이다. 호환성의 비밀은 데이터베이스를 계속 사용할 수 있느냐
아니면 다른 데이터베이스로 교체해야 하는가의 문제이다. 호환성은 해당 데이터베이스를 이용하여 업무를
서비스하는 모든 부분에서 문제가 발생하지 않아야 할 것이다. 그렇기 때문에 많은 곳에서 동일 환경에
대한 호환성을 확인해야 할 것이다. 단지, 데이터베이스
업체에서 보내오는 문서만을 책상에서 확인하여 데이터베이스 선정 항목 중 하나인 호환성을 확인하지 말고 직접 찾아 다니고 눈으로 확인하는 것이
필요할 것이다. 많이 사용되는 데이터베이스는 이러한 호환성을 확인할 수 있는 사이트가 많이 존재하지만 사용하기 시작한지 얼마되지 않은 데이터베이스는
참조할 만한 사이트가 없을 수도 있을 것이다. 그렇다면 충분한 시간을 가지고 운영과 동일한 환경을
구축하여 면밀한 테스트를 수행해야 할 것이다. 호환성의 비밀은 데이터베이스와 다른 소프트웨어와의 궁합을 의미한다. 여기서 말하는 궁합은
미신이 아니라 과학이다. 그렇기 때문에 동일한 환경의 다른 사이트에서 발생한 데이터베이스와 다른
소프트웨어와의 호환성 문제는 반드시 우리 사이트에서도 발생하게 된다. 이러한 호환성의 비밀에 의해
영향을 받지 않기 위해서는 동일 환경의 사이트를 찾아서 비교 분석하여 이를 데이터베이스 선정 과정에 포함시켜야 한다. 비록, 시간이 많이 소요되고 힘들 수 있지만 이와 같이 선정한
데이터베이스는 우리의 업무를 더욱 안정적으로 서비스할 수 있을 것이다. 순간의 선택이 평생을
좌우하듯이 귀찮다는 생각에 그냥 지나치게 되면 언젠가는 그로 인해 발생하는 문제를 우리가 책임져야 할 것이다. | |||
[출처] http://www.dbguide.net/knowledge.db?cmd=specialist_view&boardUid=174938&boardConfigUid=83&boardStep=0&categoryUid=
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 오라클 기본 샘플 데이터베이스 | 졸리운_곰 | 2014.01.02 | 86121 |
| 공지 | [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE | 가을의 곰을... | 2013.02.10 | 78628 |
| 공지 | [G_SQL] Sample Database | 가을의 곰을... | 2012.05.20 | 95342 |
| 2 |
[빅데이터분석기사 실기] 빅데이터분석기사 3회 실기 문제 복원 (기출) + 시험공부 팁
| 졸리운_곰 | 2022.02.07 | 2012 |
| 1 |
[빅데이터분석기사] 실기 : 시험 후기, [자격증] 빅데이터분석기사 실기 합격 후기 (비전공자 문과)
| 졸리운_곰 | 2022.02.04 | 1783 |

