Pull to refresh

Comments 10

А какие плюсы по сравнению с CouchDB? Пока навскидку всё описанное относится и к ней, да и другоим документно-ориентированным базам. Хотя, конечно, перестраивать индекс при каждом запросе на чтение характерно для Couch :)
К сожалению не имел удовольствия работать с CouchDB, однако из основных отличий от CouchDB это измененные алгоритмы определения фрагментации данных, более удобная работа с кластерами, устранение проблем с хранением избыточной информации (ревизии документа). Но в целом этому нужно посвящать отдельную статью. Я просто хотел поделиться опытом своего сотрудничества с Couchbase. И отразил в статье вопросы, которые скорее будут интересны новичкам.
CouchBase это более продвинутая CouchDB + неудачный Membase
Ура! Как хорошо что в сети появилось хоть что-то на русском языке об этой хорошей базе данных.
Да. Мне тоже нравится эта база данных, но к сожалению не имею возможности использовать ее в своих проектах. Т.к. они очень сильно завязаны на SQL движки
меняй могз руководства
это не реляционная база данных и в ней нет механизма 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 либо на триггерах
Спасибо за уточнение. Просто в большинстве реляционных БД, что я использовал (да и не я один), этот механизм присутствовал. Да, этот механизм не является обязательным, но в большинстве своем он присутствует именно в реляционных БД.
Согласен,
автоинкремент — это не стандарт SQL, а имплементация SEQUENCE во внутренний механизм ISAM/MyISAM/InnoDB etc
При создании документа поле «type»: «json» было ошибочно пропущено, правильно?
Новые статьи?
Sign up to leave a comment.

Articles

Change theme settings