Помогите мне выбрать пакет NoSQL - PullRequest
0 голосов
/ 21 июля 2011

Я совершенно новичок в NoSQL [только что прочитал несколько статей по NoSQL] и хочу разработать простое приложение, используя его.
Пожалуйста, помогите мне выбрать систему NoSQL
Система должна иметь эти функции

  • SQL-подобный запрос на выбор (выберите col1, col2 из таблицы, где col1> 10)
  • SQL-подобный запрос вставки (было бы лучше, если бы он имел функцию автоинкремента)
  • Должно быть совместимо с PHP

Ответы [ 3 ]

1 голос
/ 22 июля 2011

Я думаю, что большинство баз данных nosql поддерживают создание коллекций / таблиц / семейств столбцов и совместимы с php. Вам лучше посмотреть, какие данные вы хотите сохранить и получить, чтобы решить, какой из них использовать.

1 голос
/ 22 июля 2011

Есть ли в вашем проекте много взаимосвязанных объектов или относительно мало больших таблиц?

Если последнее, то я искренне согласен с тем, что база данных ориентирована на документы, такие как Mongo или Apache CouchDB подойдет.

Если первое, то вы, возможно, захотите взглянуть на neo4j - с подходом графа узлов.Вступительные видео на сайте стоит посмотреть.Основное преимущество графоориентированного решения состоит в том, что отношения могут быть определены в каждом конкретном случае (а не в подходе к объектам на уровне класса в СУБД)

Для администратора и простого ввода данных: CouchDB и neo4j оба имеютпростой в использовании веб-интерфейс;В Mongo есть приложение phpmoadmin (стороннее).

Отказ от ответственности - я не пытался увидеть, как в любом из вышеперечисленных масштабов мое самое большое приложение [Couch with Ruby on Rails] содержит только около 1000 записей.

удачи!

1 голос
/ 21 июля 2011

Посмотрите на MongoDB . Простой в использовании, быстрый, надежный и достаточно мощный. Также есть хороший драйвер для PHP.

MongoDB является "NoSQL", без схемы и ориентированной на документы. Используется другая терминология, но, как новичок, вы можете подумать, что у нее есть коллекции вместо таблиц, документы вместо строк и поля вместо столбцов. Вставить и выбрать довольно просто:

// Select some documents.

$cursor = $db->my_collection->find(array(
    'field1' => array('$gt' => 10), // where field1 > 10
), array(
    'field1', 'field2', // which fields to fetch
))->sort(array(
    'field3' => -1, // sort descending by field3
));

while($document = $cursor->getNext())
{
    // ...
}

// Insert a document.

$db->my_collection->insert(array(
    'field1' => 'a',
    'field2' => 2,
    'field3' => 14.8,
));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...