문제

나는 couchdb를 사용할 가능성을 조사했다. 나는 모든 사람들이 미워하는 것을 좋아하는 Lotus Notes와 비슷하다고 들었습니다. 이것이 사실입니까?

도움이 되었습니까?

해결책

Lotus Notes의 개발은 20 년 전에 시작되었으며 버전 1은 1989 년에 출시되었습니다. 현재 Microsoft의 최고 소프트웨어 아키텍트 인 Ray Ozzie가 개발했습니다.

Lotus Notes (클라이언트)와 Domino (서버)는 오랫동안 주변에 있었고 성숙한 잘 특집 제품입니다. 그것은 :

  • 신속한 응용 프로그램 설계 및 문서 지향 데이터베이스의 배포가 포함 된 전체 클라이언트 서버 스택.
  • 보안 및 암호화를위한 전체 공개 키 인프라.
  • 이기종 플랫폼에서 강력한 복제 모델과 활성 활성 클러스터링 (누군가가 한 번은 도미노 클러스터를 보여주었습니다. Xbox 및 거대한 AIX 서버).
  • LDAP를 통해 액세스 할 수있는 사용자를 관리하기위한 기본 디렉토리.
  • 다중 GB 메일 파일로 수백만 명의 사용자를 관리 할 수있는 내장 된 기본 메일 시스템으로, 라이브 서버 액세스 또는 오프라인 액세스를 위해 로컬로 복제되었습니다. 여기에는 SMTP를 통해 표준 인터넷 메일과 인터페이스 할 수 있으며 POP 및 IMAP 액세스가 내장되어 있습니다. 메일 인프라는 메모 Domino (데이터베이스의 모든 문서를 다른 데이터베이스로 우송 할 수 있습니다. 간단한 doc.send () 명령).
  • 서버 호스팅 데이터베이스에 웹을 통해 액세스 할 수있는 내장 된 HTTP 스택으로.
  • RDBMS 및 ERP 시스템과 액세스, 전송 및 상호 운용하기위한 다양한 통합 옵션으로 DB2와 밀접하게 결합 된 통합을 통해 메모 데이터베이스를 원하는 대상 상점에서 뒷받침 할 수 있습니다.

Backwards 호환성은 항상 Notes Domino의 강력한 기능이었으며 최신 버전에서 완벽하게 실행되는 버전 3 용으로 개발 된 데이터베이스를 찾는 것은 드문 일이 아닙니다. IBM은 이것에 큰 노력을 기울이고 있으며 현재 제품의 작동 방식과 큰 영향을 미칩니다.

-

CouchDB는 2004 년 Damien Katz에 의해 만들어졌으며 2004 년에 개발을 시작했습니다. 그는 이전에 Notes Domino에서 IBM에서 일했으며 템플릿을 개발하고 결국 ND6의 핵심 기능 중 하나 인 Formula Engine 중 하나를 완전히 다시 작성했습니다.

CouchDB는 Domino가 가지고있는 참고 사항과 함께 문서 지향 데이터베이스의 기본 개념을 공유합니다.

이 모델에서 "문서"는 어떻게 저장되는 값의 임의의 수집 일뿐입니다. CouchDB에서 문서는 임의의 복잡성의 JSON 객체입니다. 참고에서 값은 단순한 이름 값 쌍이며, 여기서 값은 문자열, 숫자, 날짜 또는 배열 일 수 있습니다.

보기는 데이터베이스의 문서 색인으로, 특정 값을 표시하고 다른 사람을 계산하며 바람직하지 않은 문서를 제외합니다. 인덱스가 빌드되면 데이터베이스의 문서가 변경되면 (업데이트 또는 삭제) 변경하면 점진적으로 업데이트됩니다.

CouchDB에서는 데이터베이스의 각 문서에서 매핑 함수를 실행하여 빌드됩니다. 매핑 함수는 주어진 문서에 대해 작성하려는 모든 인덱스 항목에 대해 JSON 객체가있는 Emit 메소드를 호출합니다. 이 JSON 객체는 임의로 복잡 할 수 있습니다. 그런 다음 CouchDB는 뷰의 매핑 된 인덱스에서 두 번째 감소 기능을 실행할 수 있습니다.

메모에서 Domino View는 데이터베이스의 각 문서에서 SELECT 기능 (메모 Domino Formula Language)을 실행하여 구축됩니다. 선택 함수는 문서가보기에 있는지 여부를 단순히 정의합니다. 노트 Domino View Design은 또한보기에 대한 여러 열을 정의합니다. 각 열에는 해당 열의 값을 결정하기 위해 선택한 문서에 대해 실행되는 공식이 있습니다.

CouchDB는 Domino가 할 수있는 노트보다 훨씬 더 정교한보기 인덱스를 생성 할 수 있습니다.

CouchDB에는 복제 시스템도 있습니다.

-

요약 ( tl; dr ) : CouchDB는 Lotus Notes Domino에 사용 된 것과 유사한 개념적이지만 훨씬 더 정교한 디자인을 갖는 핵심을 개발하는 새로운 소프트웨어입니다. Lotus Notes Domino는 오늘날 배치 될 수있는 성숙한 완전히 특집 제품입니다. CouchDB는 처음부터 시작하여 향후 기능 개발을위한 탄탄한 기초를 구축하고 있습니다. Lotus Nots Domino는 새로운 기능을 계속 개발하고 있지만 20 년 된 플랫폼에서는 뒤로 호환성을 유지하기 위해 노력하고 있습니다. Notes Domino에는 CouchDB에 원할 수있는 기능이 있지만 오늘날의 세계에서 구식 인 Notes Domino에는 기능이 있습니다.

다른 팁

사람들이 일반적으로 미워하는 것은 노트 응용 프로그램과 UI입니다. 뒤에 건축이 아닙니다.

Damien Katz는 Iris (Lotus)에서 일했지만 Notes 데이터베이스의 배후에있는 사람은 아니 었습니다. 그는 Lotus Notes 커뮤니티에서 재 설계로 잘 알려져 있습니다. 메모 공식 엔진.
CouchDB와 Lotus Notes는 문서 지향적, 비 관계형 데이터 및 복제 기능과 같은 유사점이 있지만 비슷한 것보다 더 분명합니다. CouchDB는 데이터베이스 서버이며 Lotus Notes는 엔터프라이즈 수준의 협업 플랫폼입니다.

@Lex, 당신은 당신의 의견이 잘못 되었기 때문에 어떤 버전의 노트/도미노 버전을하고 있는지 precap해야합니다.

"거래 지원 없음" - Domino에는 거래 로깅이 있습니다. 코딩 내에서도 더 복잡한 트랜잭션 로깅을 원하는 경우.

"여러 데이터 트랜잭션을 처리하는 데 적합하지 않습니다" - 실제로는 잘 처리합니다. 문서 잠금 및 복제 충돌 해결이 있습니다. 워크 플로를 처리하기 위해 응용 프로그램을 설정하는 방법에 따라 다릅니다.

"생산/개발 환경 간의 분리가 없습니다." - 거짓. 이것이 사실 일 수있는 유일한 방법은 환경이 잘못 배치 된 경우입니다. 개발자는 일반적으로 제작 환경에 대한 배포 설계 변경을 위해 0에 액세스해야합니다. 그들은 기본 서버로 복제하지 않는 템플릿에서 작동합니다. 업데이트가 완료되고 승인되면 관리자가 배포합니다. 그들은 템플릿을 가져 와서 제작시 실행할 수있는 제어 된 서명으로 서명 한 다음 템플릿을 떨어 뜨리고 관련 응용 프로그램의 설계를 업데이트함으로써이를 수행합니다.

"Lotus Notes가 더 많은 데이터가 포함되어있을수록 더 많은 견해가 생성 될 것입니다."-이 의견은 절대적으로 의미가 없습니다. 나는 당신이 어떤 전문적인 능력에 노트/도미노를 사용했다고 생각하지 않습니다.

"Lotus Script는 객체 지향적이지 않습니다" - 예, 당신은 거기에서 좋은 점을 만듭니다. 그러나 언어에 결함이 있다는 의미는 아닙니다. 또한 8.x 이후와 8.5.1로 많은 개선을했습니다. 예를 들어 내장 된 웹 서비스 지원 (WSDL 및 LS 코드를 포인트합니다). 8.5.1은 또한 코드 템플릿, 자동 완성, LSDOC 팝업 도움말 등과 같은 많은 새로운 디자이너 기능이 있습니다.

당신은 또한 lotusscript에만 접촉합니다. 그러나 Java, SSJS/Dojo (XPages), JavaScript, @formula Language, Web Services (SOAP/REST), C-API, Eclipse Plugins (RCP)도 코딩 할 수도 있습니다. XML뿐만 아니라 JSON의 출력.

8.5.1 디자이너 클라이언트는 이제 테스트하려면 무료로 다운로드 할 수 있습니다.

그래서 나는 CouchDB에 대해 의견을 제시 할 수있는 위치에 있지 않다고 생각하지만, 당신은 가장 확실히 Notes/Domino에 있지 않습니다.

Lotus Notes Client/Domino Server는 객체 ( "문서")-스토리지 (관계체가 아님) 메커니즘으로 구성되어 있으며, 오프라인/온라인 변경을 동기화하기위한 완전히 통합 된 인증서 기반 보안 모델/사용자 관리 및 충돌-반응이 있습니다. 분산 응용 프로그램을위한 플랫폼.

"couchdb NRDBMS (Document-Outiented, Non-Relational Database Management Server)입니다. "

CouchDB는 REST 스타일 API를 통해 액세스 할 수 있습니다.

CouchDB 팀의 Jan Lehnardt와의 팟 캐스트 인터뷰가 있습니다. 여기.

다시 돌아가서 다시 듣지 않고, 나는 이니셔너였으며 여전히 CouchDB의 리드 개발자 인 Damien Katz도 Notes 데이터베이스의 배후에있는 사람이라고 생각합니다. 따라서 CouchDB가 더 나은 노트 DB라는 의미가 있습니다. 그는 몇 가지 차이점을 설명합니다 그의 블로그.

메모가 모든 것이 임의의 구조 문서라는 점에서 데이터를 다루는 방법과 유사하며 관계형 데이터베이스에있는 것처럼 테이블 및 레코드 대신 해당 문서에 대한 견해가 있습니다. 복제 등에는 몇 가지 유사점이 있습니다.

노트 서버 아키텍처에는 아무런 문제가 없으며 사람들은 그렇게 많이 싫어하지 않습니다. 메모와 함께 제공되는 구현과 부풀림입니다.

CouchDB에는 프론트 엔드가 없으며 서버 구성 요소 만 있습니다. 메모는 고객이 짜증나고 사람들이 정말 싫어하는 것입니다. 이메일을 보내려고 해 본 적이 있습니까? 어, "메모"를 의미합니다 노트에서 뭔가? 유쾌하지 않음 :(

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top