Работа с таблицами с болшим количеством записей
От: SullenMan  
Дата: 19.01.15 09:45
Оценка:
Может кто подскажет где почитать как работать с таблицами с большим количеством записей.
Как читать данные и как хранить промежуточные результаты.
Задача бешать по содержанию таблицы и сравнивать записи
Re: Работа с таблицами с болшим количеством записей
От: chaotic-good  
Дата: 19.01.15 12:17
Оценка: +2
SM>Может кто подскажет где почитать как работать с таблицами с большим количеством записей.
SM>Как читать данные и как хранить промежуточные результаты.
SM>Задача бешать по содержанию таблицы и сравнивать записи

С помощью SQL.

Если серьезно, то маловато данных для нормального ответа.
Re[2]: Работа с таблицами с болшим количеством записей
От: SullenMan  
Дата: 19.01.15 17:05
Оценка:
Здравствуйте, chaotic-good, Вы писали:

SM>>Может кто подскажет где почитать как работать с таблицами с большим количеством записей.

SM>>Как читать данные и как хранить промежуточные результаты.
SM>>Задача бешать по содержанию таблицы и сравнивать записи

CG>С помощью SQL.


CG>Если серьезно, то маловато данных для нормального ответа.

Есть таблица, в которой ооочень много записей. Она пополняется в реальном времени.
Вот из этой таблице надо находить записи с одинаковыми значениями не по ключевому полю и их кешировать.
Вопрос как читать данные из таблицы. Записи добавляются довольно часто.
Re[3]: Работа с таблицами с болшим количеством записей
От: BlackEric http://black-eric.lj.ru
Дата: 19.01.15 17:09
Оценка:
Здравствуйте, SullenMan, Вы писали:

SM>Здравствуйте, chaotic-good, Вы писали:


SM>>>Может кто подскажет где почитать как работать с таблицами с большим количеством записей.

SM>>>Как читать данные и как хранить промежуточные результаты.
SM>>>Задача бешать по содержанию таблицы и сравнивать записи

CG>>С помощью SQL.


CG>>Если серьезно, то маловато данных для нормального ответа.

SM>Есть таблица, в которой ооочень много записей. Она пополняется в реальном времени.
SM>Вот из этой таблице надо находить записи с одинаковыми значениями не по ключевому полю и их кешировать.
SM>Вопрос как читать данные из таблицы. Записи добавляются довольно часто.

Что за таблица, где хранится, структура, по каким полям искать и какие ключевые. И очень много — это сколько? Без этого ничего толком сказать нельзя.
https://github.com/BlackEric001
Re[3]: Работа с таблицами с болшим количеством записей
От: chaotic-good  
Дата: 19.01.15 21:08
Оценка:
SM>Есть таблица, в которой ооочень много записей. Она пополняется в реальном времени.
SM>Вот из этой таблице надо находить записи с одинаковыми значениями не по ключевому полю и их кешировать.
SM>Вопрос как читать данные из таблицы. Записи добавляются довольно часто.

А хрен его знает что делать, что значит кешировать, каким образом нужно это делать, что значит добавляются часто, для кого-то часто это раз в секунду, для кого-то другого часто это 10М раз в секунду Находить нужно как? Это поиск дубликатов какой-нибудь? Если это действительно поиск дубликатов и данных действительно очень много и никак не добавить хотя бы пару лишних индексов, то можно заюзать алгоритм MinHash для поиска дубликатов. Но вот реализовать это все поверх SQL может быть нетривиальной задачей. Нужно и сами данные в таблице изучать и схему БД изменять.
Re[3]: Работа с таблицами с болшим количеством записей
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 20.01.15 05:34
Оценка:
Здравствуйте, SullenMan, Вы писали:

CG>>Если серьезно, то маловато данных для нормального ответа.

SM>Есть таблица, в которой ооочень много записей. Она пополняется в реальном времени.
SM>Вот из этой таблице надо находить записи с одинаковыми значениями не по ключевому полю и их кешировать.
SQL-ная база данных.
SM>Вопрос как читать данные из таблицы. Записи добавляются довольно часто.
Начинай писать что значит часто. Тут есть парни для которых 60нс это часто.
Sic luceat lux!
Re: Работа с таблицами с болшим количеством записей
От: SullenMan  
Дата: 20.01.15 08:24
Оценка:
Здравствуйте, SullenMan, Вы писали:

SM>Может кто подскажет где почитать как работать с таблицами с большим количеством записей.

SM>Как читать данные и как хранить промежуточные результаты.
SM>Задача бешать по содержанию таблицы и сравнивать записи

ок. Постораюсь подробнее.
таблица
userid
userdesc
data

userdesc по определённому правилу и они могут совпадать
ключивые поля userid, userdesc
Записи добавляются не через равные промежутки но часто (ну допустим до 100 в минуту)
Нужно написать веб сервис который по определённому правилу для userdesc ищет совпадения для пары userid
соответственно идея какая — нудно создать веб сервис который в фоне будет постоянно искать совпадения и загонять их в хэш таблицу к которой будет обращаться веб сервис при запросе пары userid
Вот как правильно искать этьи совпадения постоянно перелопачивая записи в бд.
Неужели каждый раз курсором пробегать по всем записям таблицы и для каждого userid ещё раз пробегать по userdesc чтобы найти совпадения
Re[2]: Работа с таблицами с болшим количеством записей
От: BlackEric http://black-eric.lj.ru
Дата: 20.01.15 09:46
Оценка:
Здравствуйте, SullenMan, Вы писали:

SM>userdesc по определённому правилу и они могут совпадать

SM>ключивые поля userid, userdesc
SM>Записи добавляются не через равные промежутки но часто (ну допустим до 100 в минуту)
SM>Нужно написать веб сервис который по определённому правилу для userdesc ищет совпадения для пары userid
SM>соответственно идея какая — нудно создать веб сервис который в фоне будет постоянно искать совпадения и загонять их в хэш таблицу к которой будет обращаться веб сервис при запросе пары userid
SM>Вот как правильно искать этьи совпадения постоянно перелопачивая записи в бд.
SM>Неужели каждый раз курсором пробегать по всем записям таблицы и для каждого userid ещё раз пробегать по userdesc чтобы найти совпадения

1. Это задача бд и к с++ отношения не имеет.
2. 100 записей в минуту — это не много.
3. СУБД какая? Пробегать придется. Но если покрыть индексами работать как-то будет.
https://github.com/BlackEric001
Re[3]: Работа с таблицами с болшим количеством записей
От: SullenMan  
Дата: 20.01.15 11:37
Оценка:
Здравствуйте, BlackEric, Вы писали:

BE>Здравствуйте, SullenMan, Вы писали:


SM>>userdesc по определённому правилу и они могут совпадать

SM>>ключивые поля userid, userdesc
SM>>Записи добавляются не через равные промежутки но часто (ну допустим до 100 в минуту)
SM>>Нужно написать веб сервис который по определённому правилу для userdesc ищет совпадения для пары userid
SM>>соответственно идея какая — нудно создать веб сервис который в фоне будет постоянно искать совпадения и загонять их в хэш таблицу к которой будет обращаться веб сервис при запросе пары userid
SM>>Вот как правильно искать этьи совпадения постоянно перелопачивая записи в бд.
SM>>Неужели каждый раз курсором пробегать по всем записям таблицы и для каждого userid ещё раз пробегать по userdesc чтобы найти совпадения

BE>1. Это задача бд и к с++ отношения не имеет.

BE>2. 100 записей в минуту — это не много.
BE>3. СУБД какая? Пробегать придется. Но если покрыть индексами работать как-то будет.

MSSql

Т. е. всю логику по выборке и сравнению на sql решать?
Re[4]: Работа с таблицами с болшим количеством записей
От: Mr.Delphist  
Дата: 20.01.15 11:42
Оценка:
Здравствуйте, SullenMan, Вы писали:

SM>MSSql


SM>Т. е. всю логику по выборке и сравнению на sql решать?


Конечно. По сути, sql для подобных задач и создавался: SELECT something FROM somewhere WHERE condition ORDER BY criteria
Re[2]: Работа с таблицами с болшим количеством записей
От: BulatZiganshin  
Дата: 21.01.15 20:17
Оценка:
Здравствуйте, SullenMan, Вы писали:

SM>Записи добавляются не через равные промежутки но часто (ну допустим до 100 в минуту)


я плакал. недавно обхяснял человеку как хешировать 256 ГБ/с, а у тебя раз в секунду — много
Люди, я люблю вас! Будьте бдительны!!!
Re[4]: Работа с таблицами с болшим количеством записей
От: ArtDenis Россия  
Дата: 25.01.15 07:13
Оценка:
Здравствуйте, SullenMan, Вы писали:

SM>Т. е. всю логику по выборке и сравнению на sql решать?


Вообще-то это тебе виднее должно быть, т.к. ты лучше всего знаешь задачу.
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[2]: Работа с таблицами с болшим количеством записей
От: TMU_1  
Дата: 26.01.15 13:23
Оценка:
SM>Нужно написать веб сервис который по определённому правилу для userdesc ищет совпадения для пары userid
SM>соответственно идея какая — нудно создать веб сервис который в фоне будет постоянно искать совпадения и загонять их в хэш таблицу к которой будет обращаться веб сервис при запросе пары userid
SM>Вот как правильно искать этьи совпадения постоянно перелопачивая записи в бд.
SM>Неужели каждый раз курсором пробегать по всем записям таблицы и для каждого userid ещё раз пробегать по userdesc чтобы найти совпадения



При чем тут курсор? Используй силу SQL.
Re[3]: Работа с таблицами с болшим количеством записей
От: TMU_1  
Дата: 26.01.15 13:24
Оценка:
SM>>Записи добавляются не через равные промежутки но часто (ну допустим до 100 в минуту)
BZ>я плакал. недавно обхяснял человеку как хешировать 256 ГБ/с, а у тебя раз в секунду — много


Помни, всегда есть тот, у кого длиннее!
Re: Работа с таблицами с болшим количеством записей
От: MasterZiv СССР  
Дата: 28.01.15 12:52
Оценка:
Здравствуйте, SullenMan, Вы писали:

SM>Может кто подскажет где почитать как работать с таблицами с большим количеством записей.


Так работать надо так же, как и с таблицами с маленькими.
Re[2]: Работа с таблицами с болшим количеством записей
От: MasterZiv СССР  
Дата: 28.01.15 13:19
Оценка:
Здравствуйте, SullenMan, Вы писали:

SM>>Может кто подскажет где почитать как работать с таблицами с большим количеством записей.

SM>>Как читать данные и как хранить промежуточные результаты.
SM>>Задача бешать по содержанию таблицы и сравнивать записи

SM>ок. Постораюсь подробнее.

SM>таблица
SM>userid
SM>userdesc
SM>data

SM>userdesc по определённому правилу и они могут совпадать

SM>ключивые поля userid, userdesc
SM>Записи добавляются не через равные промежутки но часто (ну допустим до 100 в минуту)
SM>Нужно написать веб сервис который по определённому правилу для userdesc ищет совпадения для пары userid
SM>соответственно идея какая — нудно создать веб сервис который в фоне будет постоянно искать совпадения и загонять их в хэш таблицу к которой будет обращаться веб сервис при запросе пары userid


Это вопрос из цикла "легче взять и сделать за тебя, чем объяснить тебе". Но это, естественно, за твою зарплату.
Так что ответа на твой вопрос не получится.


SM>Вот как правильно искать этьи совпадения постоянно перелопачивая записи в бд.


Писать соотв. запросы, создавать соотв. для них индексы.

SM>Неужели каждый раз курсором пробегать по всем записям таблицы и для каждого userid ещё раз пробегать по userdesc чтобы найти совпадения


Ни в коем случае.
Re: Работа с таблицами с болшим количеством записей
От: Sinclair Россия https://github.com/evilguest/
Дата: 17.02.15 09:39
Оценка: +1
Здравствуйте, SullenMan, Вы писали:

SM>Может кто подскажет где почитать как работать с таблицами с большим количеством записей.

SM>Как читать данные и как хранить промежуточные результаты.
SM>Задача бешать по содержанию таблицы и сравнивать записи
1. Задачи "бешать по содержанию таблицы" в природе не бывает. Вам поставили задачу, вы придумали какое-то решение для неё, где составной частью является "бешать и сравнивать". Очевидно, что это решение — результат ограниченных представлений об устройстве СУБД и типичных методах решения типичных задач. Вернитесь на шаг назад, сформулируйте ту задачу, которую вы на самом деле решаете. В данном форуме достаточно описать что-то типа "пользователь заходит на страницу, и должен увидеть там Х. Поскольку N у меня в задаче велико (>>M), я беспокоюсь о производительности этой страницы. Что мне делать?"
2. Когда вы сформулируете задачу в терминах "мне нужно показать на странице X", вам ответят "select X from ...". Чем подробнее вы напишете, как у вас хранятся данные, тем точнее будет часть с "...".
3. Теперь вы сможете перейти к вопросу, который можно осмысленно обсуждать. Он должен звучать как-то так: "у меня select X from ...; выполняется А мс, бюджет на это — Б мс. В продакшне записей будет в W раз больше. Что делать?"
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.