Сохранен 53
https://2ch.hk/b/res/259207892.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноним 07/12/21 Втр 16:10:36 #1 №259207892 
Unknown.png
Двач, пытаюсь написать свой мессенджер на Node.JS и React, и сейчас столкнулся с потребностью каким-то образом записывать данные в SQL базу, но я совсем не понимаю, как это сделать правильно.

ПАМАГИТЕ!!!

Как хранить сообщения для каждого из диалогов, ожидается, что сообщений будет много и диалогов будет много, мне придется сваливать все сообщения от всех пользователей в одну таблицу или как-то можно их разделить?
Аноним 07/12/21 Втр 16:11:05 #2 №259207918 
бамп
Аноним 07/12/21 Втр 16:11:29 #3 №259207940 
бамп
Аноним 07/12/21 Втр 16:11:47 #4 №259207955 
бамп
Аноним 07/12/21 Втр 16:12:09 #5 №259207972 
бамп
Аноним 07/12/21 Втр 16:12:23 #6 №259207981 
>>259207892 (OP)
message_id dialog_id message_text
Аноним 07/12/21 Втр 16:12:30 #7 №259207990 
бамп
Аноним 07/12/21 Втр 16:15:15 #8 №259208158 
>>259207981
Получается, я должен перебирать всю таблицу со всеми сообщениями всех пользователей чтобы найти сообщения конкретного диалога?
sageАноним 07/12/21 Втр 16:15:22 #9 №259208168 
JS ретардиньо, зачем ты сюда высираться пришел?
Аноним 07/12/21 Втр 16:16:03 #10 №259208201 
>>259208168
Я всегда тута спрашиваю советов
Аноним 07/12/21 Втр 16:16:06 #11 №259208204 
>>259208158
Господи, вкатыш куда ты лезешь нахуй? Изучи что такое индексы и как они работают для начала. А лучше найди нормальную профессию, сантехник например
sageАноним 07/12/21 Втр 16:16:29 #12 №259208230 
>>259208158
Для тебя есть slq query, дебил
Аноним 07/12/21 Втр 16:17:08 #13 №259208272 
>>259208204
>Изучи что такое индексы и как они работают для начала
А что это такое и как они работают?
sageАноним 07/12/21 Втр 16:17:47 #14 №259208306 
>>259208204
Какие ему индексы, он элементарно не имеет представления об sql запросах
Аноним 07/12/21 Втр 16:17:55 #15 №259208318 
>>259208230
Що такое, какие query?
Аноним 07/12/21 Втр 16:18:00 #16 №259208328 
>>259208201
Здесь ты услышишь лишь советы вкатунов-неудачников.
Адекваты тут не сидят.
Аноним 07/12/21 Втр 16:18:04 #17 №259208333 
>>259207892 (OP)
Ловите вкатуна !!!
Открой книгу по реляционным бд и начни хотя бы с самого элементарного - нормальных форм.
sageАноним 07/12/21 Втр 16:18:05 #18 №259208335 
>>259207892 (OP)
> мне придется сваливать все сообщения от всех пользователей в одну таблицу
Да.
Аноним 07/12/21 Втр 16:18:59 #19 №259208378 
>>259207892 (OP)
Кристофер Дейт
Введение в системы баз данных

Томас Коннели
Database Systems: A Practical Approach to Design, Implementation, and Management

Мартин Фаулер
NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence

Теория нормализации.
Аноним 07/12/21 Втр 16:19:03 #20 №259208380 
>>259208333
А какую книжку лучше открыть?
Аноним 07/12/21 Втр 16:19:49 #21 №259208419 
>>259208380
В твоём случае букварь
Аноним 07/12/21 Втр 16:20:53 #22 №259208479 
Долбоеб, нахуя ты лезешь в бэк, занимайся своим формошлепством
Аноним 07/12/21 Втр 16:21:52 #23 №259208526 
>>259208272
0, 1, 2, 3... и т.д., автоматически увеличиваются на 1 и являются уникальными.
А вообще про сантехника подумой.

мимо не айтишник и даже не вкатывальщик
Аноним 07/12/21 Втр 16:22:44 #24 №259208577 
Поржал с опа

senior HTML developer 250k/month
Аноним 07/12/21 Втр 16:23:32 #25 №259208620 
>>259208526
В контексте sql это не верно.
Аноним 07/12/21 Втр 16:23:53 #26 №259208637 
>>259208577
250к членов в месяц жмёшь?
sageАноним 07/12/21 Втр 16:23:57 #27 №259208645 
>>259208577
Давно ходил с CSS lead девелопером на пив
Аноним 07/12/21 Втр 16:24:06 #28 №259208654 
>>259208526
>сантехника подумой

Сантехником быть еще труднее чем программистом, там требуется хотя бы средний интеллект
Аноним 07/12/21 Втр 16:24:55 #29 №259208689 
>>259208526
Это автоинкремент. Если этот даун реально собрался десятки миллионов сообщений хранить в чем я сомневаюсь, всё закончится на том что он напишет hello world сам себе, увидит кучу ошибок, пукнет и обмякнет то надо как минимум составной индекс dialog_id + message_id, тогда уже придется перебирать не десятки миллионов сообщений, а просто кол-во диалогов и потом уже искать сообщение. Будет очень быстро. Если еще быстрее надо, то там уже костыли пойдут всякие.
Аноним 07/12/21 Втр 16:24:58 #30 №259208695 
>>259208333
>реляционным бд

Хранить ветки сообщений в реляционной базе данных? Ты идиот чтоли. Это чистый NoSQL
Аноним 07/12/21 Втр 16:25:33 #31 №259208729 
>>259208654
Ну меня тогда бы в айти ждал неминуемый успех, т.к. я инженер.
Но как уже писал я не айтишник.
Аноним 07/12/21 Втр 16:26:25 #32 №259208778 
Долбоеб твоя вотчина это формошлепство
Аноним 07/12/21 Втр 16:27:03 #33 №259208817 
>>259207892 (OP)
> или как-то можно их разделить?
Можешь по гео сервера бд раскидать.
Аноним 07/12/21 Втр 16:27:26 #34 №259208835 
>>259208689
Ему надо расчехлять биг дик дату, редис, редукс или что там для этого используют. Иначе ответ будет дольше чем у лежащего дискорда от бд.
sageАноним 07/12/21 Втр 16:28:23 #35 №259208880 
>>259208689
>минимум составной индекс dialog_id + message_id
Guid?
Аноним 07/12/21 Втр 16:28:30 #36 №259208888 
>>259208695
А я разве написал что реляционные бд пригодны в случае опа ?
Аноним 07/12/21 Втр 16:28:43 #37 №259208907 
>>259208318
ты даун?
Аноним 07/12/21 Втр 16:30:33 #38 №259208995 
>>259208888
ты посоветовал в его случае хуйню. Пускай открывает что-то типа "7 баз данных за 7 недель", чтобы посмотреть какие вообще БД есть и для чего используются. Твой совет не позволяет решить его задачу, потому что охватывать будет только реляционные
Аноним 07/12/21 Втр 16:30:45 #39 №259209006 
>>259208729
>Инженер
>Возомнил себя выше сантехника
Ты хоть трубы видел?
Аноним 07/12/21 Втр 16:31:51 #40 №259209058 
>>259209006
Про инженеров по гидравлике слышал?
Аноним 07/12/21 Втр 16:32:38 #41 №259209105 
>>259207892 (OP)
MongoDB посмотри, с её помощью можно организовать хранение. Пользователей в MySQL/PostresQL, диалоги в MongoDB
Аноним 07/12/21 Втр 16:33:48 #42 №259209181 
>>259207892 (OP)
Сделай большой массив в ноде и храни там. Это самое быстрое что только возможно в твоем случае
Аноним 07/12/21 Втр 16:35:00 #43 №259209246 
>>259207892 (OP)
Блядь, а может лучше на вкатываться, ты задумайся
Аноним 07/12/21 Втр 16:36:16 #44 №259209318 
Как много токсичных пирожков порвалось
Аноним 07/12/21 Втр 16:38:33 #45 №259209453 
>>259208995
Ух бля какой ты душный, хабраблядь дотошная
Хуле ты приебался ? А ? А ?
Я не пытался решить его проблему, мне абсолютно похуй научится он чему-то или нет. Вопрос был по sql бд, я ему так и ответил
Аноним 07/12/21 Втр 16:45:24 #46 №259209816 
>>259208995
>7 баз данных за 7 недель
Спасибо, анончик, буду изучать

Абу благословил этот пост.
Аноним 07/12/21 Втр 17:03:36 #47 №259210781 
>>259209318
Снежинка нетоксичная, уже клеточку на на ключ на своём хуе заперла?
Аноним 07/12/21 Втр 17:09:33 #48 №259211100 
отдельно беседы
отдельно сообщения
по айди бесед джойнишь
Аноним 07/12/21 Втр 17:22:16 #49 №259211761 
>>259211100
Это только для малых нагрузок подходит, с ростом числа сообщений такой подход довольно быстро захлебнется.
Аноним 07/12/21 Втр 17:47:30 #50 №259212988 
>>259211761
А с высоконагруженными как поступают?
sageАноним 07/12/21 Втр 17:53:07 #51 №259213307 
>>259211761
Ничего не захлебнётся. Достаточно правильно организовать индексы и забирать не всё сразу, а с LIMIT и OFFSET.

А вообще хранить переписку на удалённом сервере в нынешних реалиях - моветон. Сохраняй локально (SQLite), предварительно зашифровав. Там как раз будут связи между контактами у определённого юзера.
Аноним 07/12/21 Втр 17:59:38 #52 №259213703 
>>259207892 (OP)
Пиздец нахуй, откуда вы лезете?
Аноним 07/12/21 Втр 18:12:49 #53 №259214525 
>>259212988
Уже писали выше про NoSQL-хранилища.
comments powered by Disqus

Отзывы и предложения