Лучшие практики NoSQL [закрываются]

50
задан Community 22 September 2017 в 08:01
поделиться

2 ответа

Я думаю, что в настоящее время вся идея хранилищ данных NoSQL и концепция баз данных документов настолько новы и отличаются от устоявшихся идей, которые определяют реляционное хранилище, что в настоящее время существует очень мало (если вообще есть) передовых методов.

На данный момент мы знаем, что правила хранения ваших данных, скажем, в CouchDB (или любой другой базе данных документов) сильно отличаются от правил для реляционной базы данных. Например, факт, что нормализация и стремление к 3NF - это не то, к чему нужно стремиться. Один из распространенных примеров - простой блог.

В реляционном хранилище у вас была бы таблица для «Сообщений», «Комментарии» и «Авторов». У каждого автора будет много сообщений, и у каждого сообщения будет много комментариев. Это модель, которая работает достаточно хорошо и отлично работает с любой реляционной БД. Однако хранение одних и тех же данных в docDB, скорее всего, будет совершенно другим. У вас, вероятно, будет что-то вроде коллекции документов Post, каждый из которых будет иметь своего автора и коллекцию комментариев, встроенных прямо в. Конечно, это, вероятно, не единственный способ сделать это, и это в некотором роде компромисс (сейчас запрос одного сообщения выполняется быстро - вы выполняете только одну операцию и получаете все обратно), но у вас нет возможности поддерживать отношения между авторами и сообщениями (поскольку все это становится частью документа публикации).

Я тоже видел примеры использования атрибута type (в примере CouchDB). Конечно, это звучит как жизнеспособный подход. Это лучший? Понятия не имею.Конечно, в MongoDB вы бы использовали отдельные коллекции в базе данных, что сделало бы атрибут типа полной ерундой. Однако в CouchDB ... возможно, что лучший . Другие альтернативы? Отдельные базы данных для каждого типа документов? Это кажется немного запутанным, поэтому я бы сам склонился к «типовому» решению. Но это только я. Возможно, есть что-то получше.

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

38
ответ дан 7 November 2019 в 11:08
поделиться

См. также текстовую кодировку файла php . Мой был UTF-8 с BOM , и это помешало скрипту работать. Но теперь работает безупречно после удаления BOM ...

-121--1587809-

Файлы .hprof выгружаются в текущий каталог. Что именно это значит для службы Windows, так это предположение, предполагающее, что это что-то значит.

Я предлагаю разместить новый вопрос (на http://superuser.com ) с вопросом, что означает «текущий каталог» для службы Windows.

-121--3171154-

«NoSQL» должен быть больше о создании хранилища данных, чтобы следовать требованиям приложения, а не о создании приложения, чтобы следовать определенной структуре - это больше похоже на традиционный SQL подход .

Не оставляйте реляционную базу данных «только потому»; только в том случае, если это действительно необходимо вашему приложению.

7
ответ дан 7 November 2019 в 11:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: