패러독스 (데이터베이스)

패러독스(Paradox)는 현재 코렐 코퍼레이션에서 발행하는 관계형 데이터베이스 관리 시스템이다.

이 소프트웨어는 원래 Ansa 소프트웨어에서 MS-DOS용으로 출시되었고, 그 회사를 인수한 볼랜드에서 업데이트했다. 1991년 중반, 볼랜드는 애슈턴-테이트와 경쟁 DBASE 제품군을 인수하는 절차를 시작했다. 윈도우 버전은 1992년 볼랜드에서 출시될 예정이었으나, 마이크로소프트의 윈도우용 액세스가 출시될 때까지인 1993년 1월로 연기되었다. 마지막 업데이트는 2009년이었다.

 DOS용 패러독스 
DOS용 패러독스는 리처드 슈워츠와 로버트 쇼스탁이 처음 작성하여 1985년 그들의 벨몬트 캘리포니아 기반 회사 Ansa 소프트웨어에서 출시한 관계형 데이터베이스 관리 시스템이다.

뉴욕 타임스는 이 소프트웨어를 "인공지능 기술을 광범위하게 사용하는 떠오르는 소프트웨어 세대 중 하나"로 묘사했으며, 패러독스가 경쟁사인 애슈턴 테이트의 DBASE 파일을 읽을 수 있다는 점을 언급했다.

1987년 9월, 볼랜드는 Paradox/DOS 2.0 소프트웨어를 포함한 Ansa 소프트웨어를 인수했다. 주목할 만한 고전 버전은 3.5와 4.5였다. 3.5 버전까지는 1.0의 진화형이었다. 4.0 및 4.5 버전은 볼랜드 C++ 윈도잉 툴킷으로 재정비되었고 다른 연속 확장 메모리 접근 방식을 사용했다.

Paradox/DOS는 1980년대 후반과 1990년대 초반에 성공적인 DOS 기반 데이터베이스였다. 그 당시에는 DBASE와 그 xBase 클론 (폭스프로, 클리퍼)이 시장을 지배했다. 다른 주목할 만한 경쟁자로는 클라리온, DataEase, R:Base, DataFlex가 있었다.

Paradox/DOS를 구별하는 특징은 다음과 같다.
 AI 엔진이 휴리스틱, 동적 질의 최적화를 지원하는 쿼리 바이 이그잼플의 향상된 설계 및 구현.
 기존, 확장, 중첩 메모리의 효과적인 사용 – 특히 인덱스 데이터 테이블을 캐싱하여 xBase 성능 최적화에 필요한 명시적 기술과 달리 Paradox가 작업을 매우 빠르게 실행하도록 만들었다.
 로터스 1-2-3 매크로 기록과 매우 유사하게 키보드 동작으로 기록될 수 있는 읽기 가능하고 강력한 혁신적인 프로그래밍 언어인 Paradox Application Language (PAL).
 로터스와 유사한 텍스트 메뉴 및 창으로, 기본 인터페이스였다 (메뉴가 위에 겹쳐진 명령줄 인터페이스를 가진 DBASE와 대조적).
 특히 Paradox 1.0 및 2.0에서 사용자 및 프로그래밍 매뉴얼은 가독성 상을 수상했다. – 풍부하게 삽화가 삽입되었고, 잘 구성되었으며, 설명은 일반 영어로 작성되었다.

MS-DOS 에뮬레이터로는 dbDOS (유료 제품)와 https://www.vdos.info/ (프리웨어 옵션 제공)가 있으며, 둘 다 Windows Vista 이상 64비트 운영 체제에서 DOS용 Paradox 애플리케이션 (예: DOS용 Paradox 4.5)을 실행할 수 있는 기능을 제공한다.

 윈도우용 패러독스 
섬네일|253px|윈도우용 Paradox에서 설계된 조인 포함 QBE 질의 예시

윈도우용 패러독스는 DOS용 패러독스와 명확히 다르며, 다른 프로그래머 팀에 의해 제작되었다. 윈도우용 패러독스 애플리케이션은 ObjectPAL이라는 다른 프로그래밍 언어로 프로그래밍된다. DOS 제품의 핵심 기능인 QBE와 데이터베이스 엔진은 DOS 코드를 유지한 포트였지만, PAL에서 ObjectPAL로의 호환성이 크게 깨졌고, 양식 및 보고서의 GUI 디자인 메타포로 전환되었다. ObjectPAL 변경은 논란이 많았지만, PAL이 윈도우에는 해당되지 않는 키 입력 기록 동작을 기반으로 했기 때문에 강제되었다. 키 입력 기록 대신 하이퍼카드의 아이디어를 기반으로 한 객체 기반 언어가 사용되었다. 양식 및 보고서 디자이너는 상세한 레이아웃을 위해 확대/축소 모드에서 작업할 수 있는 기능을 포함하여 장치 독립적인 크기 조절을 사용했다. 마우스 오른쪽 클릭은 제록스 알토와 스몰토크에서 영감을 받아 현재 거의 모든 윈도우 프로그램에서 보편적으로 사용되는 방식으로 양식 및 보고서 속성에 접근하는 데 사용되었다. ObjectPAL은 (하이퍼카드처럼) 시각적 객체와 관련되어 있었으며, 오른쪽 클릭으로도 드러났다. 속성 검사 및 레이아웃 도구는 NeXT에서 빌려온 아이디어로 "고정"되어 화면에 유지될 수 있었으며, 현재 윈도우에서 꽤 널리 채택되었다.

개발 초기 약 1년 동안 객체 지향 코드는 매크로의 도움을 받아 C로 작성되었고, 터보 C++가 출시되면서 나머지 코드 부분은 C++로 작성되었다. 버전 1.0 출시 전까지 제품 관리자는 조 던컨이었다. 개발 및 QA 팀은 총 약 30명이었다.

윈도우용 패러독스와 밀접하게 관련된 프로젝트인 윈도우용 쿼트로 프로는 모두 1990년 봄, 윈도우 3.0의 베타 버전에서 개발을 시작했다. 윈도우용 패러독스는 원래 계획보다 약 1년 지연되어 1993년 초에 출시되었다. 그 이유는 많았지만, 본질적으로 첫 번째 버전 운영 체제에서 새로운 도구를 사용하여 GUI 패러다임으로 전환하는 대규모 재작성에 객체 지향 언어를 사용하는 것은 전혀 놀라운 일이 아니었다. 그럼에도 불구하고 이는 회사에 큰 문제였고, 마이크로소프트는 윈도우용 패러독스보다 몇 달 먼저 Access를 출시하여 마이크로소프트에 큰 마케팅 승리를 안겨주었다.

1990년, 볼랜드는 어셈블러로 작성된 DOS 및 윈도우용 내부 DBASE 클론 개발을 시작했으며, 이는 1992년에 출시될 예정이었다. 1992년 초, 애슈턴-테이트가 제품의 윈도우 버전 개발에 어려움을 겪고 있다는 것이 분명해졌고, 볼랜드는 계획을 변경하여 회사를 인수하고 내부 프로젝트를 공식적인 후속작으로 지정했다. 애슈턴-테이트 인수에는 인터베이스 rdbms가 포함되었고, Paradox/W가 Paradox 엔진뿐만 아니라 InterBase와도 함께 작동할 수 있어야 한다고 결정되었으며, 이는 InterBase를 중심으로 하는 IDAPI 엔진의 탄생으로 이어졌다.

인수는 또한 초점을 바꾸었다. 패러독스는 역사적으로 일부 시장에서 DBASE와 경쟁했으며, Paradox/W는 원래 개발자 중심 시장에서 경쟁력을 향상시키기 위해 설계되었다. DBASE가 인수된 후, 이는 더 이상 바람직하지 않았고, 사용 용이성 시장으로 초점이 전환되었다. 그러나 제품은 그 늦은 단계에서 이러한 초점에 맞게 변경될 수 없었으므로 (이는 이후 릴리스에서 발생했다) 제품이 초급 시장에는 다소 과도하게 복잡해졌다.

마이크로소프트의 첫 번째 데스크톱 데이터베이스 프로그램인 마이크로소프트 액세스는 동일한 시장을 잘 공략했으며, 1992년 11월 COMDEX에서 첫 선을 보였을 때 먼저 출시되었다. 볼랜드의 애슈턴-테이트 인수에 대응하여 마이크로소프트는 폭스프로를 인수하고 그 Rushmore 기술을 Access Jet Engine에 통합하여 성능을 크게 향상시켰다.

마이크로소프트 액세스는 최종 사용자 및 개발자가 구현하기 더 쉬운 많은 기능을 제공했다. 여기에는 QBE에서 Paradox의 필드 텍스트 태그 지정 대신 Windows의 필드 간 링크를 사용하는 더 직관적인 질의 인터페이스와 ObjectPAL보다 PAL과 더 유사한 Access Basic 프로그래밍 언어가 포함되었다. Access와 Paradox는 질의 결과 표시 방식에서 크게 달랐다. Access는 질의가 완료되기 전에도 레코드를 표시했고 출력 테이블 생성에 따른 오버헤드가 없었다. Paradox는 모든 레코드가 검색되고 ANSWER 테이블이 생성된 후에만 결과를 표시했다. 이러한 성능 차이는 대규모 데이터 세트에서 중요했으며 Paradox/W에 부정적인 영향을 미쳤다.

볼랜드의 저가형 쿼트로 프로 스프레드시트가 마이크로소프트 엑셀에 대항하여 출시된 것을 본받아,
마이크로소프트 액세스는 99달러 가격으로 첫 선을 보였다. 이는 Paradox DOS, Paradox Windows, DBASE의 전통적인 DBMS 가격인 약 799달러를 밑돌았으며, 이는 다른 어떤 회사보다 볼랜드에 부정적인 영향을 미쳤다.

볼랜드 경영진은 데스크톱 데이터베이스 시장의 85% 점유율을 가지고 있었음에도 불구하고 마이크로소프트와 마이크로소프트 액세스의 위협을 심각하게 과소평가했다. 그럼에도 불구하고 Paradox/W는 한동안 잘 팔렸다. 한편, 볼랜드는 애슈턴-테이트 인수와 관련하여 심각한 문제를 겪고 있었다. 많은 제품 라인이 단종되었고, 기업 재편 및 통합은 고통스러웠으며, 심지어 인수 근거의 핵심이었던 내부 DBASE 프로젝트는 기술적인 이유로 결국 취소되어 볼랜드는 매출 감소와 급히 윈도우용 DBASE를 개발해야 할 심각한 필요성을 겪게 되었다. 볼랜드는 다양한 제품에 필요한 여러 마케팅 전투를 치를 힘을 잃었다. 회사는 DBASE의 대체품을 기다리기로 결정했기 때문에 Paradox는 개발자들에게 최소한으로만 마케팅되었고, 이는 결국 1994년에 출시되었지만 회사에는 너무 늦었다.

설상가상으로, DOS용 DBASE 클론(FoxBase)은 DBASE를 거의 그대로 복사했지만, 이 제품의 윈도우 버전은 기존의 윈도우용 DBASE 모델 없이 개발되었다. DOS용 DBASE의 강점 중 하나는 다중 공급업체 지원이었는데, 이는 다양한 윈도우 xBase 제품에서 사라졌다. 볼랜드의 윈도우용 비주얼 DBASE는 마이크로소프트의 윈도우용 Foxbase 프로그램을 실행할 수 없었고 그 반대도 마찬가지였다. 파편화된 시장과 윈도우의 이점을 활용하기 위해 프로그램을 다시 작성해야 하는 상황에 직면하자, xBase 사용자들은 DOS에 사용했던 브랜드에 충성할 유인이 거의 없었다.

1995년, 마이크로소프트는 Access를 워드, 엑셀, 파워포인트와 함께 마이크로소프트 오피스 프로페셔널 스위트에 번들로 제공했다. 이는 독립형 제품에 대한 최종 사용자 데스크톱 데이터베이스 시장을 효과적으로 죽였다.
초급 사용자를 위한 사용 편의성 개선을 포함한 견고한 후속 버전에도 불구하고 Paradox는 시장에서 사라졌다. 이는 볼랜드 제품이 워드퍼펙트에 매각될 때 포함되었고, 워드퍼펙트가 금융 제품에 진출하면서 다시 재판매되었다. 작성 시점 현재, 윈도우용 Paradox, 워드퍼펙트, 윈도우용 쿼트로 프로는 모두 코렐 소유이며 그들의 오피스 스위트의 일부로 판매된다. 윈도우용 DBASE는 윈도우 시장에서 중요한 역할을 하기에는 너무 늦게 출시되었다. 그 무렵 대부분의 DBASE 프로그래머들은 매우 유사한 데이터베이스 도구인 마이크로소프트 FoxBASE로 이주했다. 볼랜드 자체는 InterBase/IDAPI 서버를 보유하고 델파이 도구에 노력을 집중했으며, 이는 수년간 데이터 지향 개발자 시장에서 영향력은 작지만 중요한 부분을 차지하게 했다.

 패러독스 엔진 
패러독스 엔진은 DOS 프로그래머가 패러독스 데이터베이스를 사용할 수 있게 하는 미리 컴파일된 C 라이브러리였다. 마이크로소프트 퀵 C 및 터보 C 버전에서 사용할 수 있었다. 소스 코드는 공개되지 않았지만, 라이브러리에 포함된 모든 함수는 잘 문서화되어 있었다.

 코렐 패러독스 
코렐은 1990년대 중반 패러독스를 개발하고 마케팅할 수 있는 특정 권한을 획득했으며, 1997년 코렐 패러독스 8을 출시했다.

패러독스는 코렐의 워드퍼펙트 오피스 스위트의 프로페셔널 버전에도 번들로 제공되었다. 이후 릴리스에는 오피스 프로페셔널 에디션 버전 9, 10, 11, 12, X3, X4, X5, X6, X7, X8, X9, 그리고 2020이 포함되었다. 그러나 2009년 X4용 패러독스 핫픽스 1 이후로는 업데이트되지 않았다. 모든 후속 릴리스는 11.0.0.676의 동일한 버전을 사용한다.

 사용자 
강력한 패러독스 사용자 기반이 있으며, 주로 Paradox 커뮤니티와 그 관련 뉴스그룹을 중심으로 한다. 2024년 7월 30일, 래리 디지오바니는 pnews.thedbcommunity.com 서버가 결국 읽기 전용이 되었다가 완전히 폐쇄될 것이며, TheDBCommunity라는 구글 그룹으로 대체될 것이라고 커뮤니티에 발표했다.

윈도우용 패러독스의 프로그래밍 언어인 ObjectPAL의 많은 팬이 있지만, PAL/DOS 스크립트는 쉽게 마이그레이션할 수 없었다. 객체 및 이벤트 모델이 완전히 달랐기 때문에 PAL을 사용하는 개발자들은 데이터베이스 애플리케이션을 완전히 다시 작성해야 했다.

 반응 
1989년 BYTE는 패러독스 3의 사전 출시 베타 버전을 평가하면서 DBASE 클론이 아니면서도 "DBASE IV를 추월할 잠재력이 있다"고 말했다. 이 잡지는 패러독스가 "가장 고급 애플리케이션에 필요한 모든 기능을 갖추고 있으면서도 경쟁사와 달리 사용하기 쉬웠다"고 언급했다.

컴퓨터 인텔리전스는 1987년에 Ansa가 포춘 1000 PC 데이터베이스 시장의 3%를 차지하여 애슈턴-테이트와 Microrim에 이어 공동 3위라고 추정했다. 1990년 미국공인회계사협회 회원 설문조사에서는 응답자의 5%가 Paradox를 데이터베이스로 사용하고 있음을 발견했다.

 내용주 

 각주 
Notes

 외부 링크 
 Paradox 데이터베이스를 읽는 자바 라이브러리
 Paradox JDBC 드라이버
 Paradox 커뮤니티
 Paradox ObjectPAL 코드 스니펫
 pxlib: Paradox 데이터베이스를 읽고 쓰는 라이브러리
 pxtools: Paradox 데이터베이스를 SQL 데이터베이스로 변환
 Paradox의 죽음과 마이크로소프트 액세스의 부상 지켜보기
 Windows(R) 64비트 시스템에서 DOS용 Paradox를 실행하기 위한 DOS VM (paradox4dos.com)
 Paradox DB 파일 뷰어

분류:코렐 소프트웨어
분류:도스 소프트웨어
분류:볼랜드 소프트웨어
분류:1985년 소프트웨어
분류:사유 데이터베이스 관리 시스템