Cache FAQ
Cache 및 인터시스템즈에 관하여
Q: Cache가 무엇입니까?
A: Cache는 포스트 관계형 데이터베이스 관리
시스템으로 고성능, 높은 확장성의 웹 및 클라이언트/서버
어플리케이션의 빠른 개발 및 전개(deployment)에 최적화되어
있습니다.
Q: 왜제품 이름을 "Cache"라고 붙였습니까?
A: Cache라는 이름은 다음과 같은 이유로 정해졌는데, 이 이름이
데이터베이스의 높은 성능에 기여하는 고급 캐싱(caching) 테크닉을
생각나게도 하고, 또 현재 사용가능한 최고의 데이터베이스 기술을
사용하는 개발자들에게서 "인정(cachet)"을 받았다는 의미를 떠올리기도
하기 때문입니다.
Q: 회사에 관한 짧은 소개로 "엘리베이터 스피치"를 한다면
어떻겠습니까?
A: 인터시스템즈 코퍼레이션(www.intersystemskorea.co.kr)은 웹 및 클라이언트/서버
어플리케이션을 위한 고성능 데이터베이스 시스템을 선도적으로
공급하는 회사로서, 전세계 4백만 이상의 사용자가 사용하고 있습니다.
인터시스템즈의 대표적 제품인 Cache는 독특하게도 세가지의 방법으로
동시에 데이터에 액세스할 수 있도록 해 주는데, 오브젝트, SQL, 그리고
다차원 배열이 그것입니다. 더군다나, Cache는 놀랍도록 빠른 개발
기술을 확장성이 뛰어난 웹 및 클라이언트/서버 어플리케이션 개발에
지원하는 특징을 가지고 있습니다.
Q: 왜 Cache가 웹 개발에 적합합니까?
A: 경쟁이 심한 전자상거래(e-commerce)의 세계에서는
어플리케이션의 확장성과 빠르게 개발하는 것이 높은 성능 만큼이나
중요합니다. 포스트 관계형 데이터베이스인 인터시스템즈 Cache는
뛰어난 확장성과 높은 성능의 데이터베이스가 세계적 웹 기술과 짝을
이루어 복잡한 e-어플리케이션을 빠르개 생성할 수 있게
해줍니다.
Q: Cache는 오직 웹 개발에만 사용됩니까?
A: 아닙니다. 포스트 관계형 데이터베이스인 Cache의 성능 및 뛰어난
확장성은 특히 고성능의 트랜잭션 처리를 필요로 하는 클라이언트/서버
어플리케이션에도 탁월한 선택입니다. 그리고 Cache는 개방된
시스템으로, 다양한 어플리케이션 개발 툴 및 기술과 함께 사용되어 질
수 있어서 개발자들이 익숙한 환경에서 빠른 어플리케이션을 구축할 수
있습니다.
포스트 관계형 기술
Q: "포스트 관계형" 데이터베이스란 무엇을
말합니까?
A: "포스트 관계형(post-relational)"이란 용어는 데이터를
극단적으로 단순화한 2차원 모델로 강제하는 옛 스타일의 관계형
데이터베이스와 Cache를 구별하기 위해 사용합니다. Cache는 데이터를
다차원 구조로 저장하기 때문에 실세계 데이터를 표현하는데 나을 뿐만
아니라 더욱 빠르게 액세스할 수 있습니다. Cache는 데이터에
액세스하는데 3가지 방법을 제공합니다: 1) SQL; 2) 오브젝트
데이터베이스 액세스; 그리고 3) 데이터 배열에 대한 다차원 액세스가
그것들입니다. 세가지 액세스 모두 동일한 데이터에 완전한 병렬성을
가지고 동시에 사용되어질 수 있습니다. 이 두요인들, 즉 다차원 데이터
구조와 데이터 액세스의 여러 방법들이 포스트 관계형 기술의
핵심입니다.
Q: 그렇다면 데이터 구조를 새로 설계해야만
합니까?
A: 아닙니다. Cache 데이터베이스에 있는 모든 데이터는 하나의
효율적인 다차원 형태로 저장되어 있지만, 데이터 접근에 세가지 방법을
제공하므로, 테이블, 오브젝트 또는 다차원 배열 중 어떠한 방식으로
데이터를 생각하여도 좋습니다. Cache는 유일하게 "통합 데이터
아키텍처(Unified Data Architecture)"를 제공하는데, 이는 처음에
데이터를 오브젝트나 관계형 테이블로서 정의를 해두면 어떠한
방법으로도 접근할 수 있습니다. 개발자는 데이터를 일단 오브젝트나
혹은 테이블로 정의하고 그 데이터를 오브젝트, 관계형 또는 다차원 중
어떠한 형태로든 사용할 수 있습니다. 이것은 특히 개발자들이 레거시
관계형 데이터 형태로 부터 옮겨올 때 매우 유용한데, 이는 이미
데이터를 정의해 두었기 때문에 Cache로 포팅해 오기 위해서 재정의 할
필요가 없기 때문입니다.
Q: 포스트 관계형 기술이 관계형 보다 나은 점은
무엇입니까?
A: 더 나은 성능은 큰 장점입니다. 실세계 데이터는 주로
복잡하지만, 관계형 기술의 구식 기술로는 개발자들이 데이터를
극단적으로 단순한 행과 열로 모델해야하는 제약을 받습니다. 이런
복잡성은 어플리케이션 로직에도 옮겨가서 많은 "테이블 호핑(table
hopping)" 및 많은 조인(joins)을 매 트랜잭션 때마다 수행하게 합니다.
처리에 드는 오버헤드가 엄청나서, 관계형 어플리케이션이 느려질 수도
있습니다.
이와는 반대로, Cache의 다차원 데이터 구조는 훨씬더 풍부한 환경을
제공하여 실세계 데이터를 표현할 수 있게 해 줍니다. Cache 기반
어플리케이션은 조각난 테이블들에서 부터 데이터를 재조립할 필요가
없습니다. 모든 처리에 드는 오버헤드가 없어져서, 어플리케이션이 더욱
빨리 수행되어 Cache 고객들에 의하면 20배까지 빠른 경우도 있다고
합니다..
다른 Cache장점은 대용량 확장성 및 빠른 어플리케이션
개발입니다.
Q: "뛰어난 확장성"은 과연 얼마나 확장이
됩니까?
A: 여기에 몇가지 예베가 있습니다: 어메리트레이드(Ameritrade)는
온라인 증권사로서, Cache를 오피스 어플리케이션에 사용하여 회사에서
매일 처리하는 업무의 75%를 담당하고 있습니다. 하지만, 이 Cache
어플리케이션은 단지 어메리트레이드사의 IT 25%사용하고 있을
뿐입니다. 그리고 파트너스 헬스케어(Partner's Healthcare)는 세계에서
가장 큰 통합 클라이언트/서버 네트워크인 30,000 이상의 클라이언트의
모든 주요 어플리케이션을 Cache에 기반해서 운영하고 있습니다..
Q: Cache가 확장성이 뛰어난 이유는 무엇입니까?
A: 명백하게, 성능 및 확장성은 상호보완적입니다. Cache는
트랜잭션을 더 빠르게 수행하므로, 더 많은 트랜잭션을 처리할 수 있게
되고 더 많은 동시 사용자를 서비스할 수 있습니다. 그리고 Cache는
전형적인 관계형 데이터베이스보다 공간 효율적이어서, 디스크 공간을
더 효율적으로 사용하여 성장을 위한 많은 공간을 허용해
줍니다.
Q: Cache는 어떻게 빠른 개발을 가능하게 합니까?
A: 개방성은 Cache의 빠른 개발 기능의 핵심입니다. 개발자들은
친숙한 환경에서 일할 수 있고, 이미 알고 있는 툴을 이용할 수
있습니다. 관계형 시스템에 익숙한 개발자들은 데이터를 테이블 처럼
모델링할 수 있고, 임베디드 SQL을 이용하여 액세스 할 수 있습니다.
오브젝트 모델링을 선호하는 사람들은 오브젝트 모델링을 할 수가
있는데, Cache 오브젝트는 자바, ActiveX 및 C++ 오브젝트로 나타내어
사용하는 기술에 맞는 툴에 사용될 수 있습니다.
게다가, Cache의 통합 데이터 아키텍처는 자동으로 모든 데이터가
테이블 및 오브젝트로 접근가능하도록 해 줍니다. 예를 들어, DDL
파일을 Cache로 가져올 수 있고 그 테이블 정의는 즉시 자바나 다른
객체지향 기술에 사용될 수 있는 오브젝트로 접근가능해 집니다.
유사하게, 모든 오브젝트는 자동으로 SQL로 액세스할 수 있는 테이블이
됩니다. 이것은 데이터 정의가 편집되거나 어플리케이션이 발전함에
따라 확장되더라도 여전히 가능합니다.
Q: Cache는 "오브젝트/관계형l" 데이터베이스(ORDB)와 어떻게
다릅니까?
A: 소위 오브젝트/관계형 데이터베이스는 본질적으로 개발자들에게
구 관계형 데이터베이스에 여전히 액세스하면서, 오브젝트 프로그래밍
기술을 이용할 수 있게 해 주는 하나의 "패치(patch)" 입니다. 관계형
테이블에 있는 행과 열에 대한 오브젝트 "랩퍼(wrappers)"를 제공하는
것입니다. 그 결과 사용자와 데이터 사이에 또다른 프로세싱 레이어를
추가하게 되어 오브젝트/관계형 데이터베이스의 성능이 문제가 될 수
있습니다. 게다가, 대부분 오브젝트/관계형 데이터베이스는 오브젝트
모델을 완벽히 구현하고 있지 않으므로, 그 유용성을 제대로 누릴 수
없습니다.
Cache는 완전한 오브젝트 모델을 포함하고 있으며, 상용 오브젝트
모델링 툴인 래셔널 로즈(Rational Rose) 등과 인터페이스 할 수
있습니다. 더 중요한 것은, Cache의 세가지 데이터 액세스
모드(오브젝트, SQL 및 다차원 액세스) 모두가 Cache 데이터를 직접
다룬다는 것입니다. 성능을 저하시키는 불필요한 추가 레이어가
없습니다.
Q: Cache가 "순수" 오브젝트 DBMS 보다 나은 점은
무엇입니까?
A: Cache는 전통적인 객체지향 DBMS 제품이 빠뜨려온 상용 수준의
또는 엔터프라이즈급 트랜잭션 시스템 구축에 필수적인 크리티컬한
성능, 확장성, 안정성 및 생산성의 차원을 제공해 줍니다. OO DBMS
시스템에 대한 초기의 광풍같은 관심이 있었지만, 시장에서 직속적인
성공의 부재는 그들 기술적인 결점이 상당하다는 것에 의심할 여지가
없게합니다.
Cache 웹 기술
Q: 왜 웹 개발에 최적화된 포스트 관계형 데이터베이스가
필요한 것입니까?
A: 웹을 통한 비즈니스에 필요한 새로운 요구는 어플리케이션을
개발하는 면모를 급격하게 바꾸어 왔습니다. 갑자기, 확장성의 의미가
몇 유저에 뿐만 아니라 몇 백만 유저에 대해서도 뛰어난 성능을
제공하는 것이 되었습니다. 그리고 어플리케이션은 다양한 웹
사용자들의 끊임없이 변하는 요구를 만족시킬 수 있도록 빠르게
적용되고 만들어 져야만 합니다. Cache와 같은 포스트 관계형
데이터베이스는 e-어플리케이션의 특수한 요구를 만족할 수 있도록
설계되어 있습니다.
Q: Cache는 웹 개발을 위해 어떻게 최적화 되어
있습니까?
A: Cache의 고성능 및 광대한 확장성은 확실히 e-어플리케이션을
구축하기 위한 선택을 하기에 매력적입니다. 하지만 그것만이 전부가
아닙니다. Cache는 자체적으로 웹 액세스를 가지는데, 빠른 웹 서버
API를 사용해, 브라우저가 Cache 데이터 서버에서 동작하는
어플리케이션에 접속할 수 있습니다. 게다가, Cache는세션 관리를
간소화시켜주고, 익숙한 웹 페이지 개발 툴을 개발 환경으로 사용할 수
있게 해 줌으로써 빠른 웹 개발을 고무해 줍니다.
Q: "내장된(built-in)" 웹 액세스에 관해 보다 자세히 설명해
주십시오.
A: Cache는 서버 페이지 개념을 사용하는데, 이것은 페이지가
브라우저의 요청 시에 데이터와 함께 "곧바로(on-the-fly)"생성되고
채워진다는 것입니다. 하지만, 다른 웹 아키텍처와 다르게, Cache 서버
페이지는 Cache 데이터 서버 위에서 사용되는 데이터와 가까이에서
수행됩니다. Cache 서버 페이지는 데이터베이스와 빠른 프로세스 통신을
하기 때문에 성능이 향상됩니다. 그리고 확장성도 향상되는데, 이는 웹
서버가 더 이상 많은 자원소모형 프로세싱으로 인해 꼼짝 달싹 못하는
일을 겪지 않아도 되기 때문입니다. 게다가, 모든 어플리케이션 코드가
데이터 서버에 존재하므로, Cache 기반 e-어플리케이션은 변경 및
관리가 쉽습니다.
Q: Cache 서버 페이지는 작성하기 어렵습니까?
A: Cache 서버 페이지는 표준 HTML 또는 XML을 포함하고 있으므로,
어떤 최신 웹 페이지 생성 툴 또는 선호하는 텍스트 편집기를
이용해서도 쉽게 작성되고 수정될 수 있습니다. 기능은 Cache
어플리케이션 태그(CAT) 혹은 하이퍼 이벤트를 사용하여 추가될 수
있습니다.
Cache 어플리케이션 태그는 HTML 태그처럼 동작하나, 텍스트를
포맷팅하는 것 대신에 Cache데이터 서버나 브라우저에서 기능을
수행시킨다는 점이 다릅니다. 확장이 가능하므로, 개발자는
어플리케이션의 필요에 맞추어 자신만의 태그를 만들 수도
있습니다.
하이퍼 이벤트(Hyper-Events)는 브라우저에서 일어나는
이벤트(마우스 이동, 입력 값 변경 등)가 데이터베이스 오퍼레이션을
페이지가 서브밋(submit)되는 것을 기다리지 않고도 호출할 수 있게 해
줌으로써 보다 반응성이 뛰어난 e-어플리케이션이 되게 해 줍니다.
Q: 세션 관리에 대해 보다 자세히 설명해
주십시오?
A: Cache는 세션관리에 빈번하게 반복되는 단조로운일들을 맡아
주는데, 이는 모든 시스템레벨 코드를 Cache 세션 오브젝트로
캡슐화(encapsulating)해 줌으로써 가능합니다. 세션 관리 오브젝트는
HTTP 와 (보안 트랜잭션을 위한)HTTPS에 대해 모두 동작합니다.
Q: 성능과 확장성 이외에, Cache서버 페이지를 통해 얻을 수
있는 장점은 어떤 것이 있습니까?
A: 빠른 e-어플리케이션 개발이 가장 큰 장점입니다. 세션 관리는
간편해 졌습니다. 모든 코드가 한 장소에 모여 있고, 개발자들은 익숙한
툴을 이용하여 작업할 수 있습니다. 더욱 좋은 것은, 웹 디자이너는
그것들을 사용하기 위해 Cache 어플리케이션 태그가 어떻게 동작하는지
구지 알 필요가 없다는 것입니다. 이로써 공동 개발(collaborative
development)이 가능해 집니다 - 몇몇 개발자들이 어플리케이션에
필요한 Cache 어플리케이션 태그들을 만들고, 다른 사람들이 그 CAT
태그들을 이용하여 정교한 웹 어플리케이션을 구축할 수 있을 것입니다.
트랜잭션 처리와 웹 디자인에 있어서 모두 잘 알아야 하는 "수퍼
개발자"가 더이상 필요로 하지 않게 됩니다.
Q: Cache는 자바와 잘 동작합니까?
A: 예. Cache는 완벽한 오브젝트 모델을 지원하는데, 이는
캡슐화(encapsulation),다형성(polymorphism), 다중 상속, 컬렉션,
그리고 BLOB 등을 포함합니다. 그리고 모든 Cache 오브젝트는 자바
오브젝트로 나타내어 웹 개발에 사용될 수 있습니다.
Q: 그 외에도 무엇이 Cache가 e-어플리케이션 개발에 적합하게
합니까?
A: Cache가 모든 트랜잭션 처리 어플리케이션들에 적합한 이유와
동일합니다.모든 Cache의 웹 기능들은 빠르고 확장성 뛰어난 Cache
포스트 관계형 데이터베이스에 의해 뒷받침 됩니다.
Cache의 구매자는 누구며 무엇 때문에 구매합니까?
Q: Cache를 사야 하는 이유가 무엇입니까?
A: 우리는 Cache가 고성능 웹 기반 트랜잭션 처리 어플리케이션을
구축하고 전개하기 위한 새로운 전략적 플랫폼의 표현이라고 믿고
있습니다. 우리의 새로운 고객들은 크게 두가지로 분류되는 것을
발견했는데, 그것은 관계형 데이터베이스로 성능의 한계에 부딪힌
개발자들과 새로운 웹 어플리케이션 개발자들 입니다.
Q: 회사들이 정말로 관계형 데이터베이스를 Cache
데이터베이스로 교체하고 있습니까?
A: 예, 왜냐하면 Cache가 제공하는 성능을 필요로 하기 때문입니다.
그리고 Cache는 그 마이그레이션 과정을 가능한 단순화 해 줍니다. 많은
경우에, 회사들은 대부분의 기존 코드를 Cache의 SQL 데이터 액세스를
활용하여 남겨둘 수 있습니다. 기존의 (자주 무기력하게 느려지는)
관계형 시스템에 빠른 속도를 보충할 수 있는 이와같은 능력이 많은
회사들에 강하게 어필하고 있습니다.
관계형 데이터베이스를 사용하는 많은 사람들은 성능의 "벽"에
부닥쳤습니다 - 시스템이 해야할 일을 그냥 멈추는 것입니다. 더많은
사람들이 그 벽에 가까이 가 있으며 어느날 그 벽에 부닥치게 될
것입니다. 성능에 대한 웹의 놀라운 요구는 이 벽에 더욱 가깝게 하고
있습니다.
개발자들은 그 어플리케이션을 다시 고치지 않고서 빠르게 시스템의
성능을 크게 향상시켜 줄 방법을 찾고 있습니다. 그들은 다른 많은
복잡한 시스템 관리에 불만족스러워 하고 있을지도 모릅니다. 하지만,
저조한 성능은 보통 그들로 하여금 새로운 대안을 찾도록 부추깁니다.
많은 예전 관계형 고객들이 오라클, 사이베이스, 인포믹스 및 SQL
서버로 부터 우리에게 오고 있습니다.
Q: 현재 관계형 데이터베이스로 한계에 도달했습니다. 이제
인터시스템즈의 기술을 어떻게 사용하면 됩니까?
A: 우리는 어플리케이션 코드를 유지하면서 관계형 데이터베이스를
단순히 Cache 로 대체하여 SQL 액세스를 이용하게 해 줌으로써 즉각적인
성능의 커다란 향상 및 뛰어난 확장성을 누릴 수 있게 해 줍니다.
그러므로, 새로 추가되는 어플리케이션을 구축할 때 SQL 또는 오브젝트
기술 같은 더욱 풍성한 새로운 기술들을 선택하실 수 있습니다. 따라서,
컨버전(conversion)은 오브젝트 기술 및 웹을 사용하여 더 쉽게
여러분의 어플리케이션을 만들기 위한 준비의 첫걸음이 될 수
있습니다.
Q: 사람들이 어플리케이션을 개발하면서 Cache의 어느 부분을
가장 가치있게 평가합니까?
A: 어플리케이션 성능과 개발 생산성의 문제가 최고로 여겨집니다.
오브젝트 기술을 이용하는 것은 특별히 중요합니다. 이로 인해 데이터,
프로그래머 생산성 및 사람들이 추구하는 빠른 시장에 진출할 수 있도록
하는 데에 큰 발전을 제공해 줍니다.
한가지 문제는 사람들이 오브젝트 기술을 원하는 반면, 소위 "순수"
오브젝트 데이터베이스를 원하지 않을 것이라는 점입니다. 비록 새로
개발하고 있는 어플리케이션이 있더라도, 기존에 있던 관계형
데이터베이스에 있는 데이터에 액세스할 필요가 있는 것이 보통입니다.
바로 이 점이 Cache가 빛나는 부분입니다. 비즈니스 로직이 여러 DBMS
시스템에 액세스 할 수 있도록 해 주기 때문입니다. 더군다나, Cache의
통합 데이터 아키텍처로 인해 관계형 및 오브젝트 데이터 구조 간에
맵핑이 필요 없어집니다.
Q: Cache가 새로운 웹 기반 어플리케이션을 개발하려는
사람에게 장점은 무엇입니까?
A: 새로운 e-어플리케이션을 만드는 것은 많은 기회를 제공해
주지만, 최소한 많은 새로운 도전을 가져오기도 합니다. 예를 들어,
확장성이 중대한 이슈로 드러납니다. 전통적인 클라이언트/서버
전개에서는, 트랜잭션 로드는 네트워크에 피지컬하게 연결되어 있는
클라이언트의 수로 한정되어 있습니다. 웹에서는, 통제할 수 없을
정도로 많은 볼륨의 트랜잭션 집중 현상이 드문 일이 아니고,
본질적으로 시스템의 잠재 사용자 수가 무한정입니다. 또한, 빠르게
개발하여 시장에 곧바로 진출하는 것이 웹 기반 어플리케이션 개발에는
중요합니다. Cache는 특히 e-어플리케이션의 필요에 맞게 설계
되었습니다.
Q: Cache 데이터베이스의 가장 매력적인 기능은
무엇입니까?
A: Cache사용자들은 다양한 주요 기능들로 부터 혜택을 받지만,
새로운 고객들로부터 가장 많이 언급되는 것들은 다음과 같은데, 성능,
빠른 시장 진출, 확실히 저렴한 유지보수 비용, 확장성, 지속적인 운영
및 신나는 개발 환경 등이 그것 입니다. 게다가, 인터시스템즈는
고객들을 진정한 파트너로 대하면서 세계적인 지원을 제공하고
있습니다.
Q: Cache를 사도록 만드는 중요한 성능 상의 이유가 무엇
입니까?
A: 많은 사람들에게 있어 중요한 이유는 기존 SQL기반
어플리케이션의 성능 문제입니다. 필요한 성능의 근처에 어떻게 해 봐도
도달할 수 없는 것입니다. 많은 대형 기업들이 수백 수천 사용자로
확장했을때 성능이 현저하게 떨어지는 것을 불만으로 생각합니다. 더
작은 기업은 적은 사용자 수에도 불구하고 적절한 성능의 기대치를
맞추기 위하여 높은 하드웨어 요구사양을 필요로 한다는 것이
불만입니다. 어플리케이션 개발 협력사들은 이와 같은 이유들이
시장에서의 극도의 한계를 가지도록 만든다는 것을 발견하고 있는데,
이는 작은 데에서 큰 고객층 까지 넓은 시장을 수익성있게 서비스하는데
심각한 영향을 주게 되기 때문입니다.
Q: 보통 빠른 시장진출이 데이터베이스의 이슈라고 생각지는
못했는데, 이 장점을 얻기 위해 고객들이 Cache를 찾게 되는 이유는
무엇입니까?
A: 명백히 빠른 시장진출은 개발자 생산성의 주요 파생물입니다.
하지만, 웹 어플리케이션의 필요성이 크게 증대될때, 빠른 시장진출의
문제는 정보서비스(IS) 기관에 있어서 주요 중심점이 됩니다. 간단한 웹
어플리케이션은 빨리 구현될수 있지만, 더욱 복잡한 어플리케이션의
경우 훨씬 더 도전적인 것으로 알려져 있으며, 시장진출 시간이
심각하게 느려지는 결과를 낳습니다. Cache의 빠른 개발 기능과 함께
데이터 구조의 풍부함은 많은 경우에 개발에 소요되는 시간에 중대한
향상을 가져다 줍니다. 어플리케이션 데이터의 복잡성이 더 커지면
커질수록, Cache 안에서 더 높아지는 생산성의 향상을 발견할 수 있게
됩니다.
이와같은 시장진출에 있어서의 향상은 고객들에게 있어서는 중요하며
어플리케이션 개발 협력사에 있어서는 결정적입니다.
Q: 고객들이 새로운 전략적 데이터베이스 기술의 선택 시에
어떻게 진행합니까?
A: 우리는 개발자 자신들이 선택의 과정에 중대한 역할을 하는
것으로 믿고 있습니다. 이전 데이터베이스 기술에서 제기되는 문제들과
새로운 기술, 특히 오브젝트 기술에서 사용가능한 발전들은
개발자들에게 직접적으로 매일 영향을 끼치게 됩니다. 그러므로, 어떤
데이터베이스를 사용해야하느냐에 대해여 매우 높은 관심을 가지며
민감하게 느끼게 됩니다.
매니저는 개발자들의 선호를 인가해 줄 것이 분명 합니다. 직원들이
반대하는 기술을 선택하려는 매니저는 드물기 때문입니다. 그러므로,
다른 데이터베이스 회사들이 회사의 최고위 레벨에 초점을 맞추어
팔아서 그들 제품을 개발자들에게 사용하도록 푸쉬하려는 것과 다르게,
우리는 개발자 자신들에게서 먼저 길을 찾으려고 합니다. 우리는
개발자들이 일단 Cache에 손을 대서 그 파워와 성능을 경험하고
나면그냥 떠나 보내려고 하지 않는 다는 것을 압니다. 이와같은 "증명을
통한" 개발자 구매자들은 Cache의 빠른 개발, 데이터 모델의 풍부함,
비교할 수 없는 높은 성능 및 확장성을 사랑할 수 밖에 없게
됩니다.
Q: 확장성에 그렇게 많은 강조를 하는 이유는
무엇입니까?
A: 최종 사용자는 대부분의 시스템이 한번 설치되고 나면, 기대보다
훨씬 크게 성장하는 경향이 있으므로 확장성에 대해 무척 고심하고
있습니다. 웹 어플리케이션의 등장으로 이와 같은 성장가능성은
급격하게 증가하고 있습니다.
협력사 개발자들에게 있어서는, 확장성이 그들 비즈니스에 매우
중요해 질 수 있습니다. 추구하고 있는 상업적 성공을 이루기 위해서,
개발자들은 그들이 만든 어플리케이션이 쉽게 작은 사용자 환경에서
전개될 수 있고, 또 매우 큰 고객 사이트에서도 탁월해 지기를
원합니다. 데이터베이스 시스템의 확장성은 협력사의 시장의 크기를
좌우합니다.
Q: 저렴한 비용이라는 약속을 어떻게 수행할 수
있습니까?
A: 우리는 하드웨어 비용 및 인건비에서 중대한 절약을 가져다
줍니다. Cache 사용자들은 컴퓨팅 하드웨어 비용, 서버 크기, 요구되는
서버의 수, 및 요구되는 디스크 저장공간에서 일관되게 훨씬 저렴한
비용을 알려 옵니다. 개발 생산성이 타시스템에 비해 훨씬 높으며,
어플리케이션 개발의 비용 및 시간이 급격하게 줄어들 수 있습니다.
또한 많은 시스템에 있어서 보통 매우 높은 비용을 숨기고 있는, 시스템
유지보수의 비용을 놀랍도록 줄여줍니다.
Q: 지속적인 운영의 장점이란 무엇입니까?
A: Cache는 기존 관계형 데이터베이스 기술로는 거친 도전이란 것이
알려진 가장 까다로운 요구사항으로 지속적인 7*24 운영 환경에서 가장
탁월합니다. Cache의 장점 한가지는 완전 운영 중인 시스템에서
데이터베이스 및 어플리케이션 서버의 재배치(repartitioning) 중에도
중단없는 온라인 프로덕션 시스템을 포함하는 시스템 관리에서 비교될
수 없는 능력을 제공해 준다는 것입니다.
사고싶은 마음이 듭니다 - 어떻게 하면 될까요.
Q: Cache를 사용하기 시작하려면 얼마나 배워야
합니까?
A: Cache를 다른 기술로 부터 구별해 주는 것은 얼마나 빨리
여러분이 그 장점을 인지할 수 있느냐에 있습니다. SQL, 비주얼 베이직,
델파이 또는 이미 알고 있는 다른 기술을 사용하는 것만큼 간단해 질 수
있습니다. 물론, 대부분의 개발자들은 그렇게 되면 오브젝트 기술로
옮기고 싶어 하지만, 시간이 허락할때를 봐서 오브젝트의 장점을
깨닫도록 옮기기만 하면 됩니다.
Q: Cache를 시작하는 방법을 알고 싶습니다?
A: 개발자들은 Cache의 학습 곡선(learning curve)은 다른 현대 고급
기술들 보다 급격하게 빠르다고 일관되게 알려지고 있습니다.
인터시스템즈는 프로그래머를 위한 전체 훈련과정(full training) 및
업계 최고의 지원 서비스를 제공합니다. SQL, Visual Basic, C++ 그리고
자바 같은 표준 및 레가시 기술이 Cache와 함께 사용될 수 있으므로,
많은 기존 기술 및 경험을 보존할 수 있습니다. Cache의 오브젝트
액세스는 빠르고 쉽게 모듈화하고 쉽게 배워서 풍부한 데이터 구조를
재사용할 수 있는 코드로 전개할 수 있게 해 줍니다.
많은 사용자들은 단순히 기존 관계형 데이터베이스를 들어내고
Cache를 대체하는 것만으로, 즉각적인 성능과 확장성의 특혜를 누릴 수
있다는 것을 발견합니다. 다른 일반적인 접근 방식은 고성능에 확장성이
뛰어난 웹 어플리케이션을 배치하여 기존 레가시 어플리케이션과
데이터를 보완하게 하는 것입니다. 어떤 접근방식을 선택하더라도, 그
속도로 인해 깨달을 수 있는 Cache의 장점은 과히 놀랄만한
것입니다.
Q: Cache를 이용하여 GUI 어플리케이션을 만드려면 얼마나
많이 배워야 합니까?
A: 아마도 여러분은 곧바로 GUI 및 웹 어플리케이션을 만들기
시작하는 법을 이미 알고 있을 것입니다. Cache는 대부분의 널리
사용되는 개발 환경과 연동됩니다. 비주얼 베이직이나 델파이 같은 GUI
개발 툴에 이미 익숙하다면, Cache 기반 어플리케이션을 즉시 만들기
시작할 수 있습니다.
Q: 제3의 툴을 사용할 수 있습니까?
A: Cache 데이터 구조는 ODBC 또는 COM 인터페이스를 사용하는 어떤
툴과도 호환이 됩니다. (비주얼 베이직은 COM 인터페이스를 사용하는
툴의 예제입니다) 게다가, 오브젝트 서버를 통해 Cache 오브젝트는
ActiveX, 자바, 그리고 C++과 호환이 됩니다.
Q: 레가시 데이터는 어떻게 다룰 수 있습니까?
A: 레가시 관계형 데이터는 Cache SQL을 이용하여 액세스할 수
있습니다. 다른 레가시 시스템을 위해서는 레가시 데이터를 Cache
오브젝트 또는 다차원 데이터 구조로 마이그레이션할 수 있습니다.
Q: Cache를 이용한 새로운 어플리케이션은 어떻게 만들 수
있습니까?
A: 요즘에는, 거의 모든 새로운 어플리케이션이 오브젝트 기술을
이용하여 만들어집니다. 개발 과정은 보통 반복되는 다음의 사이클을
따릅니다: A) 오브젝트 클래스 설계; B) 오브젝트 클래스 생성시
비즈니스 로직을 구현하는 method의 코딩을 포함; C) 사용자 인터페이스
생성(또는 웹 인터페이스); D) 필요에 따라 어플리케이션을 세부
구현하는 과정을 반복.
많은 개발자들은 오브젝트 클래스를 연필과 종이를 이용하여 그려낼
것입니다. 보다 구조화된 접근법을 선호하는 분들을 위해
Cache는인기있는 오브젝트 모델링 툴인 래셔널 로즈(Rational Rose)와의
양방향 연결을 제공합니다.
Cache 오브젝트 클래스는 Cache 오브젝트 아키텍트를 이용하여 만들
수 있습니다.아키텍터의 GUI 인터페이스를 이용하여 클래스를 생성하는
방법 이외에도, Cache는 로즈(Rose), (레가시 관계형 테이블에 부합하는
클래스의 생성을 위해) DDL 파일, 또는 CDL 파일로 부터 입력을 받을 수
있습니다. (CDL은 Cache Description Language로서 Cache 클래스의
텍스트 디스크립션을 포함합니다) Cache 클래스 안에 있는 method들은
Cache 오브젝트스크립트를 이용하여 코딩할 수 있는데, 이는 강력한
스크립트 언어입니다. 15개 정도의 핵심 명령어 집합을 제공하여, Cache
오브젝트스크립트는 매우 배우기 쉬우며, 임베디드 SQL 및 임베디드
HTML을 지원합니다.
Cache의 오브젝트 서버는 Cache 오브젝트가 ActiveX, 자바, 그리고
C++을 지원하는 툴과 함께 사용될 수 있게 해주어, 개발자들이 좋아하는
환경에서 사용자 인터페이스를 만들 수 있도록 해줍니다. Cache 서버
페이지는 인기있는 웹 페이지 저작 툴로 만들 수 있으므로, 빠른
e-어플리케이션 개발에 사용됩니다.
Q: Cache를 운영할 수 있는 플랫폼에는 어떤 것들이
있습니까?
A: Cache는 트랜잭션 시스템을 위해 많이 사용되는 플랫폼들, 가령
윈도우 및 윈도우 NT, 대부분의 UNIX 시스템, OpenVMS, 그리고
리눅스에서 운영할 수 있습니다.
Q: 데이터베이스를 선택하는 일은 큰 결정입니다. Cacheㄹㄹ
"시운전" 해보는 것이 가능합니까?
A: 예. 인터시스템즈 웹사이트(www.intersystems.com)에서 무료 싱글 유저 라이센스를 다운로드
하실 수 있습니다.
|