Как бы я добавил поддержку Кассандры для Symfony / Doctrine? - PullRequest
4 голосов
/ 23 апреля 2011

Я хочу использовать Кассандру с Symfony.Я впервые использую обе технологии.Я провел много исследований того, что уже было сделано, и похоже, что Кассандра не поддерживает Symfony (которая использует Doctrine ORM).Насколько сложно было бы расширить Доктрину, чтобы включить поддержку Кассандры?Какой самый лучший, самый чистый и наиболее обновляемый способ включить эту функцию?

Ответы [ 4 ]

5 голосов
/ 23 апреля 2012

Существует драйвер PDO для CQL Cassandra: http://code.google.com/a/apache-extras.org/p/cassandra-pdo/

И, поскольку DBAL Doctrine построен поверх PDO, я думаю, что возможно заставить работать хотя бы частичную функциональность.

Конечно, такие вещи, как объединения, индексы и отношения сущностей, должны создаваться вручную и использоваться с учетом знаний внутренней структуры Cassandra.

Будучи разработчиком из мира Java, я могу сказать, что для Cassandra существуют библиотеки Java ORM спочти все, что у вас есть в вашей РСУБД, работает.Так что я думаю, что это все-таки возможно.

2 голосов
/ 23 апреля 2011

ORM Doctrine для реляционных баз данных, поэтому он называется реляционным маппером. Принципиально отличная концепция от магазина, ориентированного на колонны, такого как Cassandra. Я бы сказал, что шансы получить Кассандру там довольно малы.

Добавьте к работе требуемое, чтобы шаблоны хранения и доступа не были одинаковыми.

В экосистеме Doctrine есть люди, пишущие ODM (объект document mapper), который поддерживает MongoDB и CouchDB, но базы данных, ориентированные на документы, также представляют собой другую площадку. Даже эти двое сильно отличаются друг от друга, в то время как обе базы данных ориентированы на документы.

Я не думаю, что вы можете убедить кого-либо принять Кассандру в любом из этих проектов.

Лично для меня самый большой шоу-стопер для Кассандры - это бережливость и связанные с ней проблемы. Сказав это, это мое личное мнение, и ничто не должно мешать вам реализовать хорошую оболочку PHP для Cassandra.

Я также не вижу причин, чтобы не выпускать вашу оболочку Cassandra как пользовательский пакет Symfony и т. Д.

После Symfony2 многие люди начали проекты, независимые от ядра, чтобы предоставить пакеты, которые охватывают дополнительный набор функций (например, Friends of Symfony ). Поэтому, если вы хотите продолжить это, просто начните что-нибудь (например, на Github) и посмотрите, как это получено.

0 голосов
/ 08 ноября 2011

Существует активный клиент PHP для cassandra: https://github.com/thobbs/phpcassa

Начните там, чтобы избежать необходимости напрямую бороться с Thrift API.

0 голосов
/ 08 ноября 2011

Я действительно искал комплект Symfony2 для Кассандры. В Cassandra Wiki есть PHP-клиенты для Cassandra.

http://wiki.apache.org/cassandra/ClientOptions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...