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

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

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

44 ответов

5 просмотров

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

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
Если бы знали, то не добавляли бы в вариант многие...

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

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

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

А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Всем привет. Нужна платная консультация от тех, кто сталкивался с октябрём в кластере или шарит оч хорошо в цмс. Проблема следующая: после переноса в кластер октябрь начал ...
wl
8
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
а я честно сказать не понимаю - нахуя идти учиться на вышку или еще куда-либо и при этом нихуя не делать, типа зачем ? просто корку получить, а нахуй она нужна тогда ?
Eugene Неелов
7
Which companies do you think are innovating best in web design and design practices?
✌️(´ヮ`)
6
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
я часов 15 назад начал пытаться написать хоть что-то напоминающее ос и у меня есть проблема, которую я пытаюсь решить последние часов 5: есть крч 2 исходника с минимальным код...
Al1to
17
Карта сайта