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

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

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

44 ответов

19 просмотров

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

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

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

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

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

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта