나는 Symfony와 함께 Cassandra를 사용하고 싶다. 두 기술을 모두 사용한 것은 처음입니다. 나는 이미 수행 된 작업에 대해 많은 연구를 수행했으며 Symfony (Doctrine ORM을 사용함) 내에서 Cassandra에 대한 지원이없는 것처럼 보입니다. 카산드라에 대한 지원을 포함하도록 교리를 확장하는 것이 얼마나 어려울까요? 이 기능을 포함하는 가장 좋고, 가장 깨끗하고, 가장 업그레이드 할 수있는 방법은 무엇입니까?symfony/doctrine에 대한 cassandra 지원은 어떻게 추가합니까?
답변
카산드라의 CQL을위한 PDO 드라이버가 있습니다 : http://code.google.com/a/apache-extras.org/p/cassandra-pdo/
그리고 교리의 DBAL가 PDO의 ontop을 구축, 나는 그것이 적어도 부분적인 기능이 작동 얻을 수 있다고 생각 .
물론 조인, 인덱스 및 엔티티 관계와 같은 것들은 수동으로 생성되고 카산드라의 내부 구조 지식을 염두에두고 사용해야합니다.
Java 세계의 개발자이므로 Cassandra 용 Java ORM 라이브러리가 RDBMS에서 거의 모든 작업을 수행하고 있다고 말할 수 있습니다. 결국 그것이 가능할 것입니다.
Doctrine의 ORM은 관계형 데이터베이스 용이므로 개체 관계형 매퍼라고합니다. Cassandra와 같은 열 기반 저장소와 근본적으로 다른 개념입니다. 나는 거기에서 카산드라를 얻을 확률이 꽤 희박하다고 말하고 싶습니다.
저장소 및 액세스 패턴이 동일하지 않은 작업에 추가하십시오. 교리의 생태계에서
는 MongoDB를하고 CouchDB를 지원하는 ODM (오브젝트 문서 매퍼를) 쓰는 사람들이있다 - 그러나 문서 지향 데이터베이스는 다른 놀이터입니다. 심지어 두 가지가 서로 매우 다르며 둘 다 문서 지향 데이터베이스입니다. https://github.com/doctrine/mongodb-odm나는 당신이이 프로젝트 중 하나에 카산드라에 걸릴 사람을 설득 할 수 있다고 생각하지 않습니다
- .
개인적으로 카산드라의 가장 큰 쇼 스토퍼는 저주 및 관련있는 중고품입니다. 그것이 내 개인적인 견해이며 Cassandra를위한 훌륭한 PHP 래퍼를 구현하지 못하게하는 것은 아닙니다. 사람들의 Symfony2 제비 뽑기의 결과에서 나는 또한 등 사용자 정의 심포니 번들로 카산드라 래퍼를 공개하지 이유를 볼
..
은 추가 기능 세트를 포함 번들을 제공하는 핵심 독립적 인 프로젝트를 시작 (예 : Friends of Symfony). 따라서이를 극복하려는 경우 Github 등의 무언가를 시작하여 수신 방법을 확인하십시오.
저는 실제로 카산드라의 Symfony2 번들을 찾고있었습니다. 카산드라 위키에는 카산드라를위한 PHP 클라이언트가 있습니다. 이 https://github.com/thobbs/phpcassa
시작 직접 중고품 할인 API와 씨름하는 것을 피하기 위해 :
카산드라에 대한 활성 PHP 클라이언트가있다.