Comments 10
А какие плюсы по сравнению с CouchDB? Пока навскидку всё описанное относится и к ней, да и другоим документно-ориентированным базам. Хотя, конечно, перестраивать индекс при каждом запросе на чтение характерно для Couch :)
0
К сожалению не имел удовольствия работать с CouchDB, однако из основных отличий от CouchDB это измененные алгоритмы определения фрагментации данных, более удобная работа с кластерами, устранение проблем с хранением избыточной информации (ревизии документа). Но в целом этому нужно посвящать отдельную статью. Я просто хотел поделиться опытом своего сотрудничества с Couchbase. И отразил в статье вопросы, которые скорее будут интересны новичкам.
0
CouchBase это более продвинутая CouchDB + неудачный Membase
0
Ура! Как хорошо что в сети появилось хоть что-то на русском языке об этой хорошей базе данных.
0
это не реляционная база данных и в ней нет механизма autoincrement полей
Как связаны реляционность БД и autoincrement?
Во-первых, далеко не во всех реляционных базах данных есть механизм autoincrement.
Во-вторых, использование auto increment полей в большинстве случаев нарушает принцип нормализации БД поскольку добавляет в таблицу избыточное поле, не являющееся естественным ключом — фактически email и password являются зависимыми от login, которое уникально в рамках сервиса, но при этом все три этих поля вдруг становятся зависимыми от какого то нового поля id, и получается что каждое поле в таблице начинает описывать id, который является ключом, и login, который не является ключом, хотя должен был — это явное противоречие 3 нормальной форме.
Есть интересное обсуждение на тему использования искусственных и естественных ключей на stackoverflow:
stackoverflow.com/questions/63090/surrogate-vs-natural-business-keys
Если что, лично я не против использования auto increment там, где это надо, просто хочу заметить что наличие/отсутствие этого механизма никак не связано с реляционностью/нереляционностью СУБД, и метод замены auto_increment поля с помощью счетчика, который автор использует в статье, примерно так же реализуется и в реляционных СУБД, не имеющих механизма auto increment — с помощью sequence либо на триггерах
+1
Спасибо за уточнение. Просто в большинстве реляционных БД, что я использовал (да и не я один), этот механизм присутствовал. Да, этот механизм не является обязательным, но в большинстве своем он присутствует именно в реляционных БД.
0
Согласен,
автоинкремент — это не стандарт SQL, а имплементация SEQUENCE во внутренний механизм ISAM/MyISAM/InnoDB etc
автоинкремент — это не стандарт SQL, а имплементация SEQUENCE во внутренний механизм ISAM/MyISAM/InnoDB etc
0
При создании документа поле «type»: «json» было ошибочно пропущено, правильно?
Новые статьи?
Новые статьи?
0
Sign up to leave a comment.
Пример использования Couchbase в связке с PHP