2013-05-08 2 views
2

EAV와 같은 주제를 관계형 데이터베이스에 저장하는 방법을 찾고 있습니다. Rails + Mysql을 사용할 것이다. 나는 PHP + MySQL에서 EAV를 거의 사용하지 못했다. ~ 500 항목. 물론, 모든 쿼리가 빠릅니다 (쿼리 캐싱은 없었지만). 하지만 백만 기록이 있다면? 무엇을해야합니까? MongoDB를 사용 하시겠습니까? 아니면 스핑크스가이 상황에서 도움이 될 수 있습니까? 아니면 SQL + NoSQL tandeme일까요?다양한 속성을 가진 엔티티 저장 (EAV 대체)

요약하면 가장 좋은 방법은 무엇입니까? 오후 8시 30 분 P.S. 나는 레일스에서 ​​완전한 멍청한 녀석이지만, PHP로 전환하기 때문에, 함정이 될 수있는 것이 무엇인지 말해주세요.) 내 영어 죄송합니다

답변

2

내가 MongoDB를 말할 것입니다,하지만 어떤 이유로 당신이 일반 데이터베이스를 사용하는 것을 선호하는 경우는 PostgreSQL을하고 HStore 확장 한 번 봐 걸릴 수 있습니다 https://github.com/engageis/activerecord-postgres-hstore

: 레일에 사용에 대한 보석이있는 http://www.postgresql.org/docs/9.2/static/hstore.html

및 Railscast 에피소드 : http://railscasts.com/episodes/345-hstore

+1

HStore를 선택하면이 보석이 유용 할 수도 있습니다. https://github.com/defsprite/hstore-attributes – cthulhu