2010-03-05 2 views
40

Python으로 응용 프로그램을 작성하고 다양한 ORM 설정 및 스트레이트 SQL로 재생했습니다. 이 모든 것은 죄악처럼 추악합니다.ZODB 실제 생활

저는 ZODB를 객체 저장소로보고 있으며 유망한 대안으로 보입니다 ... 권장 하시겠습니까? 개발자의 관점, 확장 성, 무결성, 장기 유지 관리 및 대안과 관련하여 귀하의 경험, 문제점 및 비판은 무엇입니까? 누구나 프로젝트를 시작하고 도랑을 파기합니까? 왜? ZODB, Pypersyst 다른 사람들이 흥미 뒤에 생각 하다니

그들 :(

+0

-1 : 가치 판단 : "RDBMS/오브젝트 불일치를 싫어하기 시작합니다."질문에서 가치 판단을 제거 할 수 있습니까? 사실에 초점을 맞추고 개인적인 증오에 대한 강조점을 줄이는 방법이 있습니까? –

+16

@ S.Lott - 꺼리는 편집. 당신이 틀렸기 때문에가 아니라, -1이 인라인으로 왔기 때문에 요청이 무례합니다. 이것은 베이 엑스 태피스 트리가 아닙니다. –

답변

25

저는 Zope를 외부에서 10 년 이상 사용해 왔습니다. 데이터가 계층 적이라면 정말 좋습니다. 고객이 운영하는 가장 큰 데이터 저장소는 아마도 .. 어쩌면 ... 100GB가 될까요? 어쨌든 규모의 순서대로.

여기에 a performance comparison against Postgres입니다.당신이 WSGI 웹 응용 프로그램을 작성하는 경우

,이 패키지는 유용 할 수 있습니다 :

+1

허용. 대답뿐 아니라 필요한 ZODB 정보를 인터넷에 올릴 때 내 게시물/기사/프레젠테이션을 계속 방문합니다. 나는 더 이상의 질문을 할 사람을 안다! ;) –

+0

http://docs.zope.org/zope3/Code/BTrees/index.html도 유용합니다. – amirouche

+0

성능에 대한 정말 흥미로운 링크입니다. 읽기 가치! – fatuhoku

2

ZODB는 대용량 데이터베이스

많이 사용되어왔다

대부분의 ZODB 사용법은 주변에 열정의 부족있을 것 같습니다/

장기 유지 보수는 너무 바 그들이

성능이 쓰기의 제비가, 특히 relatonal 데이터베이스 + ORM으로 너무 좋지 않아 멀리 조프에서 마이그레이션하는 경우. 멀리 마이그레이션 아마 조프 사용자가 아닌 한 d, 수시로 데이터베이스를 압축하려고하지만 라이브로 수행 할 수 있습니다.

당신은 당신이 직접

내가 ZODB 플래시 디스크에 수행하는 방법을 몰라 ZODB를 사용하는 것보다 꽤 많이 느린 당신 ZODB 둘 이상의 프로세스를 사용하려는 경우 ZEO을 사용해야합니다.

+0

답변 해 주셔서 감사합니다! 웹 팜 설정에서 ZEO를 사용하는 MySQL 대신 ZODB가 적합할지 궁금합니다. 심각한 캐싱은 저장소의 성능 저하를 무산시킬 수 있습니다. –

+3

ZODB는 대개 ZEO가 혼합되어 있어도 데이터가 변경되지 않을 때 반복 쿼리를위한 관계형 데이터베이스를 연기합니다. 이미 클라이언트 측 캐시가 있기 때문입니다. –

0

산세 처리시 비슷한 방식으로 key value 데이터베이스를 사용할 수 있어야합니다.

+3

'a'와 'b'를 각각 피클하지 않으면 'c'를 반드시 참조해야합니까? –

+0

@ 에이든, zodb가 어떻게이 사건을 처리합니까? – mikerobi

+8

ZODB는이를 투명하게 처리합니다. http://faassen.n--tree.net/blog/view/weblog/2008/06/20/0 –

14

"모든 키 - 값 저장소"와 비교할 때 ZODB의 주요 기능은 실제 ACID 트랜잭션과 속성 변경 사항의 자동 통합과 다른 영구 객체에 대한 "임의"참조입니다.

ZODB는 조프에서 기본적으로 사용되는 단지 FileStorage보다 큰 :

  • RelStorage 백엔드는 표준 도구를 사용하는 등, 백업 복제 할 수있는 RDBMS에 데이터를 입력 할 수 있습니다.
  • ZEO를 사용하면 응용 프로그램 및 오프라인 작업을 쉽게 확장 할 수 있습니다.
  • 2 단계 커미트 지원을 통해 RDBMS를 포함한 여러 데이터베이스간에 트랜잭션을 조정할 수 있습니다 (TPC 인식 계층을 제공한다고 가정).
  • 개체 특성 또는 포함을 기반으로하는 쉬운 계층 구조 : 에뮬레이션하기 위해 재귀 자체 조인을 작성할 필요가 없습니다.
  • 파일 시스템 기반 BLOB를 지원하면 대용량 파일을 쉽게 처리 할 수 ​​있습니다.

전반적으로 데이터 모양이 분명히 "정사각형"이 아닌 거의 모든 문제에 대해 ZODB를 사용하여 매우 만족합니다.

+0

+1 - 흥미로운 읽기 –

4

내가 추천 그것.

정말 비판이 없습니다. 그것이 당신이 찾고있는 물건 보관소라면, 이것은 사용할 것이다. 나는 그 안에 250 만 가지의 물건을 보관 해 놓았고, 꼬집음을 느끼지 않았습니다.