powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / MongoDB, структура данных
16 сообщений из 16, страница 1 из 1
MongoDB, структура данных
    #37606784
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Стартую новый небольшой проект и есть желание реализовать хранение и обработку данных через NoSQL (mongoDB). С технической точки зрения все понятно, туториалы изучены, примеры написаны. А вот как организовать правильное хранение данных не ясно.
Суть в следующем: есть несколько объектов (проекты), они состоят из этапов, а они из задач и так далее. Я не могу понять все мне хранить в одной коллекции - проекты? Тогда у меня будет выюираться оочень большой пласт данных с каждым запросом. Или хранить в разных колекциях ссылаясь на идентификаторы, но тогда получаем туже реляционную бд, только вид с боку?

Коллеги поделитесь опытом! Заранее большое спасибо
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37606851
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос в том, зачем тебе нужно выбрать nosql?
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37606899
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это экспиримент - в целях получения опыта работы с NOSQL.
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37606948
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда задача должна быть соответствующей NoSQL подходу
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37625586
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Она и соответствует :)

Незнаю поможет-ли, это описание к НОдеЙС драйверу, реализация простого Блога, в одном случае используютсы комменты вложенные в пост во втором в разных коллекциях

http://alexeypetrushin.github.com/mongo-model/composite.html
http://alexeypetrushin.github.com/mongo-model/associations.html

Ответ на ваш вопрос зависит от числа задач и комментов а также от запросов, на первый взгляд я бы разбил на поекты->задачи(со вложенными комментами).
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37636377
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
private,
Спасибо!
Я так и поступил, отдельная коллекция для Project, отдельныя для Task.
Например Project содержит в себе все данные о проекте, запросы на изменения, реестр рисков и мероприятия по ним, данные бюджета и список участников проекта. Получается многовато, но эта инфа загружается один раз в начале работы и хранится на клиенте до завершения его работы. Зато не приходится постоянно дергать сервис и сервер Mongo.

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

Если надо получить список всех задач (например менеджеру или тим лиду) - то загружается информация только по задаче без вложенных вещей - Task.Brief, Task.Description ......, Далее при подробном просмотре вся остальная инфа.

Надеюсь комунибудь пригодится мой опыт!
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37648872
NayZaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аналогичная проблема. Читаю доки по mongodb, там пишут:
http://www.mongodb.org/display/DOCS/Schema+Design#SchemaDesign-EmbeddingandLinking Generally, for "contains" relationships between entities, embedding should be be chosen. Use linking when not using linking would result in duplication of data.
Проблема в том, что не могу понять, какие объекты считать объектами с "contains" relationship содержимым.

Допустим, что у меня есть что-то вроде системы для тестирования людей. Имеем объекты Вопрос, Тест. Тест, естественно, содержит список вопросов. Так вот эти вопросы, являются частью теста, соответственно видим тот самый "contains" relationship . Однако копирование содержимого вопросов в Тест влечет за собой дублирование данных, о чем в документации тоже сказано.

Собственно, я в замешательстве. Прошу пролить свет на проблему.
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37649503
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблемы никакой нет, все зависит от необходимых выборок. В случае с тестом и вопросами выборка идет последовательно - вначале отображаем список тестов из таблицы tests, потом список вопросов из таблицы questions по ключу test_id.
Вот если бы понадобилось одновременно и то, и другое, то нужно было бы уже взвешивать решения
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37728732
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот интересно, можно загрузить заепись из коллекции, но без встроенных объектов? Или загружать их выборочно

В документации я такого не нашел.
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37728734
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос снят. Нашел такую штуку.

Код: javascript
1.
2.
// get all posts about 'tennis' but without the comments field
db.posts.find( { tags : 'tennis' }, { comments : 0 } );
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37859364
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
Или хранить в разных колекциях ссылаясь на идентификаторы, но тогда получаем туже реляционную бд, только вид с боку?


А с чего вы взяли, что NoSQL = No related ?
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37860415
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett
Код: sql
1.
Или хранить в разных колекциях ссылаясь на идентификаторы, но тогда получаем туже реляционную бд, только вид с боку?


А с чего вы взяли, что NoSQL = No related ?

Вопрсоом на вопрос:
как в mongo можно делать отношенияи работать с ними?
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37860574
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что мешает создать 2 коллекции и в одной сослаться на другую?
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37861759
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все же понятие реляционности, как оказалось, оказалось за рамками:

авторСУБД управляет наборами JSON-подобных документов, хранимых в двоичном виде в формате BSON. Хранение и поиск файлов в MongoDB происходит благодаря вызовам протокола GridFS. Подобно другим документо-ориентированным СУБД (CouchDB и др.), MongoDB не является реляционной СУБД. Среди других отличий от традиционных реляционных СУБД:
1. Отсутствует оператор «join». Обычно данные могут быть организованы более денормализованным способом, но на разработчиков ложится дополнительная нагрузка по обеспечению непротиворечивости данных.
2. Нет такого понятия, как «транзакция». Атомарность гарантируется только на уровне целого документа, т.е. частичное обновление документа произойти не может.
3. Отсутствует понятие «изоляции». Любые данные, которые считываются одним клиентом, могут параллельно изменяться другим клиентом[3].
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37864532
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettВсе же понятие реляционности, как оказалось, оказалось за рамками:

авторСУБД управляет наборами JSON-подобных документов, хранимых в двоичном виде в формате BSON. Хранение и поиск файлов в MongoDB происходит благодаря вызовам протокола GridFS. Подобно другим документо-ориентированным СУБД (CouchDB и др.), MongoDB не является реляционной СУБД. Среди других отличий от традиционных реляционных СУБД:
1. Отсутствует оператор «join». Обычно данные могут быть организованы более денормализованным способом, но на разработчиков ложится дополнительная нагрузка по обеспечению непротиворечивости данных.
2. Нет такого понятия, как «транзакция». Атомарность гарантируется только на уровне целого документа, т.е. частичное обновление документа произойти не может.
3. Отсутствует понятие «изоляции». Любые данные, которые считываются одним клиентом, могут параллельно изменяться другим клиентом[3].

дык.... в том то и вопрос....
...
Рейтинг: 0 / 0
MongoDB, структура данных
    #37864756
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну это я понятие реляционности не правильно понимал, простите меня
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / MongoDB, структура данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]