72 похожих чатов

Itree подходит для хранения большого количества

элементов 2 уровня ?

44 ответов

17 просмотров

Да хранить можно как угодно, вопрос в том, что и зачем (т.е. какая глубина дерева (и дерево ли это на самом деле), какие запросы чаще всего нужны и т.п.).

Danik-Off Автор вопроса
Yaroslav Schekin
Да хранить можно как угодно, вопрос в том, что и з...

Грубо говоря для соц сети , хранить по сути нужно так tab users ну по сути дерево user , users.friend , user.dialogs, user.info,

Danik Off
Грубо говоря для соц сети , хранить по сути нужно...

Ну крупные соцсети написаны на обычных базах данных типа постгреса или мускула, так что вопрос не во вложености, а как и сказал Ярослав в том, что вы хотите этим добиться, какие запросы потом делать)) Все дело потом в оптимизациях типа кешей и прочих прелестях)

Danik Off
Грубо говоря для соц сети , хранить по сути нужно...

А запросы какие (см. выше)? В общем, лучше описать конкретные задачи, а потом послушать тех, кто что-то подобное уже делал. ;) Кстати, можно спросить и в https://t.me/pgsql

Danik-Off Автор вопроса
Adv0cat
Ну крупные соцсети написаны на обычных базах данны...

Ну по сути я к пришёл в выбору pg я об этом уже говорил

Danik Off
Ну по сути я к пришёл в выбору pg я об этом уже го...

Да, но вы потом и про Itree упомянули, на что и был мой ответ, в том плане, что основные данные хранить проще в обычной субд, а уже потом вот эти все Itree и прочие штуки типа графовых баз данных добавляются на этапе оптимизации, может вам вообще ArangoDB подойдет, а может узкоспециализированные графовые субд, а может тупо кеш запросов. В общем я и вел к тому, что то что вы спрашиваете это уровень оптимизации, а не выбора субд, т.е. когда уже будет реальная картина происходящего и ваш сервер или субд уже не сможет справляться с нагрузкой 😉

Danik Off
Грубо говоря для соц сети , хранить по сути нужно...

а где тут деревья, это же обычные таблицы по-сути

Danik-Off Автор вопроса
Viacheslav 🇺🇦 Boiko
а где тут деревья, это же обычные таблицы по-сути

Я с этим новичок, просто пытаюсь сделать все сам , вот и полез в мало известные мне дебри

Danik-Off Автор вопроса
Viacheslav 🇺🇦 Boiko
я тоже делаю соц сеть)

Фронт и бек для меня не особая прям проблема , а вот как залез в бд так и застрял тут

Danik Off
Фронт и бек для меня не особая прям проблема , а в...

ну друзей юзера ты можешь хранить в такой таблице у меня это UserFollow

Viacheslav 🇺🇦 Boiko
screenshot ну друзей юзера ты можешь хранить в такой таблице ...

У твоей userFollow не должно быть суррогатного ID, он не нужен

Viacheslav 🇺🇦 Boiko
типа PK?

Я не понимаювопрос

Ilya Zviagin
Я не понимаювопрос

что значит, не должно быть сурогатного Ид? не совсем понимаю

Viacheslav 🇺🇦 Boiko
что значит, не должно быть сурогатного Ид? не совс...

То поле что ты сделал, id, оно лишнее, на треть будет больше места таблица занимать

Ilya Zviagin
То поле что ты сделал, id, оно лишнее, на треть бу...

а, тоесть вообще без первичного ключа таблицу сделать?

Ilya Zviagin
Нет, я такого не говорил

ааааа, я кажется начинаю понимать, всё) затупил)

Ilya Zviagin
Нет , неправильно

ну есть табличка юзеров и отношение "юзер подписан на другого юзера" , тоесть по сути если заменить это на "юзер имеет несколько вещей", мы бы делали таблицу Юзера, таблицу Айтема и таблицу ЮзерАйтем (связь много ко многим) А с юзерами по сути так же само

Viacheslav 🇺🇦 Boiko
ну есть табличка юзеров и отношение "юзер подписан...

Всё правильно написал. А теперь напиши правильно определение таблицы

Ilya Zviagin
Всё правильно написал. А теперь напиши правильно о...

к тому же кейсу, Айтемом будет табличка юзеров же, разве нет? юзер может иметь несколько подписчиков и быть подписан на нескольких людей

Ilya Zviagin
То поле что ты сделал, id, оно лишнее, на треть бу...

не совсем понял здесь, ты сказал, поле айди лишнее, а айди это первичный ключ, что лучше сделать с этим полем? чё-то в тупик загнал)

Viacheslav 🇺🇦 Boiko
не совсем понял здесь, ты сказал, поле айди лишнее...

Это поле удалить. PK сделать составной из двух полей — одного и другого юзера

Ilya Zviagin
Это поле удалить. PK сделать составной из двух пол...

ааа, я так понял в постгресе первичный ключ может быть не уникальным, или нет?

Ilya Zviagin
Нет, не может, ты понял неверно

аааааа, почитал про составной ключ, если у нас сразу два столбца должны уникально идентифицировать строку в таблице его можно заюзать

Viacheslav 🇺🇦 Boiko
ааа, я так понял в постгресе первичный ключ может ...

Нет, не может. И почитали бы Вы что-нибудь про основы реляционного моделирования, в самом деле. ;) Как уже написали, в этой таблице не нужен id, а нужен PK(follower_id, following_id). И это "стандартная" схема для many-to-many, кстати.

Viacheslav 🇺🇦 Boiko
аааааа, почитал про составной ключ, если у нас сра...

Суть ещё в том что в таблицах связи м к м такой суррогатный ключ никогда не будет использоваться.

Ilya Zviagin
Суть ещё в том что в таблицах связи м к м такой су...

да, я это понял, спасибо, просто из-за того, что я как-то не обращал внимания на составные ключи, не мог никак от этого поля избавится и заменить его на как-раз таки составной ключ

Viacheslav 🇺🇦 Boiko
да, я это понял, спасибо, просто из-за того, что я...

Будьте честными, не читали документаций вообще никаких и как строить таблицы тоже не читали 😄

Adv0cat
Будьте честными, не читали документаций вообще ник...

а что значит как строить таблицы, что почитать по этой теме?

Viacheslav 🇺🇦 Boiko
а что значит как строить таблицы, что почитать по ...

Ну банально связи один к одному, один ко многим, многие ко многим вот это вот такое)

Adv0cat
Ну банально связи один к одному, один ко многим, м...

а, это знаю ещё с 1 курса, я думал какие-то там махинации над таблицами)

Viacheslav 🇺🇦 Boiko
а, это знаю ещё с 1 курса, я думал какие-то там ма...

вы знаете только определение, но не область применения и для чего используется в реальных проектах 😏

Viacheslav 🇺🇦 Boiko
а что значит как строить таблицы, что почитать по ...

Есть немало книг по реляционному проектированию. По идее, их легко найти. ;)

Adv0cat
вы знаете только определение, но не область примен...

ну я работаю с аутсорс компанией, и зачастую на бэкенде, юзаем MS SQL, думаю я знаю) реальный проект сейчас у нас: Amadeus Hospitality Diagramming

Viacheslav 🇺🇦 Boiko
ну я работаю с аутсорс компанией, и зачастую на бэ...

Если бы знали, то не добавляли бы в вариант многие ко многимлишние поле 😏 Я же не спорить с вами пришел, а подсказать)

Adv0cat
Если бы знали, то не добавляли бы в вариант многие...

спасибо, именно это я почему-то и упустил в своём багаже знаний. Но за помощь всегда спасибо)

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

Обсуждают сегодня

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
12
На чём в основном щас пишут мини апы? Vuejs?
Goot evening Not everyone
6
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
9
Вопрос: Здравствуйте! У меня возникла проблема с использованием плагина Mall в OctoberCMS. Я использую все файлы и компоненты в их исходном виде, без изменений. Однако на стр...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
8
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
Карта сайта