2011-01-04 3 views
3

젠드 프레임 워크에서 EAV 디자인 패턴을 구현할 수있는 좋은 방법이 있는지 궁금합니다.젠드 프레임 워크 EAV 구현

나는 내 자신의 구현을 생성해야하는지 아니면 이미 구축 된 것을 사용해야하는지 결정하려고합니다.

답변

2

MongoDB를 문서 매퍼 http://www.doctrine-project.org/

젠드 프레임 워크 2.0을 사용 교리는 작곡가와 교리 설치 자동화했다, 그래서 젠드 사람들도 그렇다 옵션으로이 제공하는 의미 내장 Zend_Db.

MongoDB 나 CouchDB와 같은 문서 지향형 NoSQL 데이터베이스 시스템에서 EAV를 사용하는 것은 MySql과 같은 전통적인 관계형 데이터베이스를 해킹하는 것보다 훨씬 낫습니다. NoSQL 데이터베이스는 Sparse Matrix 유형의 데이터를 구현할 때 더 좋습니다.

1

Digitalus CMS는 EAV 패턴을 사용하며 MySQL을 기반으로합니다. Mongo 또는 Couch가 더 적절할 수도 있지만, MySQL을 설치하는 것이 더 쉽기 때문에 종종 선택의 폭이 넓습니다. SimpleDB를 사용해 보았지만 로컬 MySQL 버전은 4 배 빠릅니다. SQLite도 잘 작동합니다.

이 접근 방식에는 많은 반대가 있으며, 그 주장은 대체로 발견됩니다. 데이터를 쿼리 할 수 ​​있어야 할 때마다 표준 관계형 접근 방식을 사용하지만 EAV는 웹 페이지의 콘텐츠와 같이 매우 느슨하게 구조화 된 데이터로 작업 할 때 빛난다.

Digitalus는 모든 EAV 논리를 처리하는 기본 CMS 항목 모델이있는 접근법을 사용합니다. 이 모델은 또한 연속 기입 캐시를 처리하므로 시스템은 궁극적으로 플랫 파일 시스템만큼 빠른 속도로 컨텐츠를 제공합니다.

모든 purists는 기술적으로 정확하지만 빠르고 쉽게 내 도구 상자에 넣을 수 있습니다.