2013-05-23 3 views
1

프로필이있는 여러 명의 사용자가있는 Laravel 4에서 웹 응용 프로그램을 개발하고 있습니다. 이러한 프로파일은 날짜와 같은 다른 변수를 가질 수도 있습니다. EAV 디자인을 포함하여이 문제에 대한 일부 RDBMS 솔루션을 살펴 보았습니다. 그러나이 방법은 성능과 코드 측면에서 비용이 많이 들기 때문에 버려졌습니다. 그것.3 계층 CouchDB 및 Laravel 응용 프로그램의 사용자 프로필

다른 옵션은 많은 열이있는 거대한 테이블을 작성하는 것이었지만 30 개의 null 필드가있는 사용자를 갖는 것은 꽤 쓸모가 없어서 또한 버려졌습니다.

그래서 NoSQL을 사용할 생각이었고 확장 성 및 마스터 - 마스터 복제를 위해 CouchDB가 필요했습니다. 나는 DBAaS를 들여다 보았고 Cloudant는 꽤 흥미 롭다. 진짜 질문은 : 그것은 나의 경우에 대한 선택 사항인가? (각 사용자마다 다른 변수를 가진 프로필을 가진 사용자가 있는가?) 또는 RDBMS (MySQL)로 실행할 수 있습니까? 또한 3 단계 응용 프로그램에서 Laravel과 함께 CouchDB를 사용하려면 어떻게해야합니까? 사용자가 데이터베이스 기능에 액세스하지 못하도록하고 싶습니다. 서버 측에서 CouchDB를 사용하는 것이 지금까지 최선의 방법이라고 생각합니다. 내가 잘못하면 저를 바로 잡으십시오.

답변

2

CouchDB 또는 MongoDB와 같은 문서 지향 데이터베이스가 관계형 데이터베이스보다 우수한 전형적인 경우입니다.

CouchDB는 공개적이며 클라이언트가 직접 액세스 할 수 있도록 구성 할 수 있지만 (CouchDB에서만 제공되는 전체 웹 응용 프로그램의 개념 증명조차도 있음) 실제로는 드문 경우입니다. 일반적인 시나리오는 CouchDB를 PHP, JSP, ASP 또는 원하는 어떤 종류의 서버 측 웹 기술을 실행하는 웹 서버가 사용하는 숨겨진 백엔드 서비스로 사용하는 것입니다.

+0

고마워요! 2 계층에서 사용하는 것에 대한 정보를 제게 제공 할 수 있습니까? 나는 Doctrine의 ODM을 발견했지만 그것의 이점에 대해서는 잘 모르겠습니다. –

+0

@DilipRamirez 새로운 질문입니다. – Philipp