Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Нужна консультация по очень большой нагрузке / 25 сообщений из 74, страница 1 из 3
20.03.2012, 02:59
    #37712706
Stinger03
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
Попытаюсь обьяснить суть задачи.
Около 150-200кк запросов к серверу в сутки
Это около 1700-2300 запросов в секунду.
Задача - определить было ли уже в течении 24 часов обращение с одного и того же ИП и желательно сколько раз.
Хранить данные более 24 часов ненужно.
Что потянет подобную задачу и потянет ли вообще ?
...
Рейтинг: 0 / 0
20.03.2012, 08:37
    #37712773
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
Задача не для СУБД. Копайте в сторону ферм.
...
Рейтинг: 0 / 0
20.03.2012, 08:54
    #37712781
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
авторЭто около 1700-2300 запросов в секунду.

Код: sql
1.
SELECT 1



тоже запрос.
...
Рейтинг: 0 / 0
20.03.2012, 09:07
    #37712791
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
SERG1257Задача не для СУБД.

Да ну?!
...
Рейтинг: 0 / 0
20.03.2012, 10:21
    #37712888
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
Stinger03Задача - определить было ли уже в течении 24 часов обращение с одного и того же ИП и желательно сколько раз.
Хранить данные более 24 часов ненужно.
Что потянет подобную задачу и потянет ли вообще ?Сколько раз вообще или сколько раз за последние 24 часа? С какой точностью это нужно делать? Как часто это "определить" должно происходить? Как долго/быстро оно должно происходить?
...
Рейтинг: 0 / 0
20.03.2012, 11:37
    #37713058
sphinx_mv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
Stinger03Попытаюсь обьяснить суть задачи.
Около 150-200кк запросов к серверу в сутки
Это около 1700-2300 запросов в секунду.
Задача - определить было ли уже в течении 24 часов обращение с одного и того же ИП и желательно сколько раз.
Хранить данные более 24 часов ненужно.
Что потянет подобную задачу и потянет ли вообще ?

По сути задача сводится к работе с таблицей из двух полей, одно из которых уникальный ключ из целочисленного представления IP-адреса (IPv4 - 4 байта, IPv6 - максимум 16 байт), а вторая - время последнего обращения... Чтобы прикрутить "сколько раз" - ну, добавь еще одно поле с накоплением количества обращений.
В итоге - с этой задачей вполне справится ЛЮБОЙ SQL сервер. Выбирать, естественно, лучше из тех, которые "лучше знаешь"...
...
Рейтинг: 0 / 0
20.03.2012, 12:57
    #37713290
AlexKB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
Stinger03Попытаюсь обьяснить суть задачи.
Около 150-200кк запросов к серверу в сутки
Это около 1700-2300 запросов в секунду.
Задача - определить было ли уже в течении 24 часов обращение с одного и того же ИП и желательно сколько раз.
Хранить данные более 24 часов ненужно.
Что потянет подобную задачу и потянет ли вообще ?

Добрый день.
Довольно-таки примитивная задача для СУБД CACHE.
Даже если все это будет установлено на обычный ПК совресенной косплектации
Нагрузка на процессор будет 1-3%.
Проверено опытом.
...
Рейтинг: 0 / 0
20.03.2012, 16:58
    #37713925
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
Кто бы спорил что запросы на статических данных будут делатся быстро. А как ТС собирается базу обновлять?
...
Рейтинг: 0 / 0
20.03.2012, 17:33
    #37714042
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
SERG1257Кто бы спорил что запросы на статических данных будут делатся быстро. А как ТС собирается базу обновлять?

Вы полагаете, что 2300 модифицирующих запросов для СУБД - это нереальные цифры? Автору надо быстро вставлять...
...
Рейтинг: 0 / 0
20.03.2012, 18:44
    #37714200
Stinger03
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
сори, возможно немного не точно обьяснил.
На вебсервер приходит запрос. Мне надо проверить был ли уже запрос с таким ИП в течении суток и сколько раз.
Плотность запросов - 1700-2300 в секунду.

SERG1257Задача не для СУБД. Копайте в сторону ферм.
Если не сложно - что это такое ?

Всем отписавшимся спасибо.
...
Рейтинг: 0 / 0
20.03.2012, 18:55
    #37714233
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
Stinger03На вебсервер приходит запрос. Мне надо проверить был ли уже запрос с таким ИП в течении
суток и сколько раз.
Плотность запросов - 1700-2300 в секунду.

И как тебе уже сказали: СУБД тут ни к чему. То, что тебе нужно, это простейшее in-memory
key-value хранилище.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.03.2012, 19:14
    #37714287
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
Dimitry SibiryakovИ как тебе уже сказали: СУБД тут ни к чему. То, что тебе нужно, это простейшее in-memory key-value хранилище.Можно подумать, что "in-memory key-value хранилище" - это не СУБД :)
...
Рейтинг: 0 / 0
20.03.2012, 22:40
    #37714610
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
pkarklin Вы полагаете, что 2300 модифицирующих запросов для СУБД - это нереальные цифры? Автору надо быстро вставлять...Одиночными инсертами с коммитом? Нет я верю, что вы можете этого добится, я сомневаюсь что РСУБД для этого предназначена.

miksoft Можно подумать, что "in-memory key-value хранилище" - это не СУБД :) Не РСУБД. Плюс, забив на ACID, ее можно легко кластеризовать (раскидать по нодам)
...
Рейтинг: 0 / 0
20.03.2012, 22:46
    #37714623
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
Stinger03 Если не сложно - что это такое ? http://en.wikipedia.org/wiki/Server_farm
...
Рейтинг: 0 / 0
21.03.2012, 01:12
    #37714763
Stinger03
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
SERG1257Stinger03Если не сложно - что это такое ? http://en.wikipedia.org/wiki/Server_farm
это само-собой и так сейчас работает, ибо на каждый полученный запрос формируется 3-4 от нас, обрабатывается с них инфа и выдается наружу. Но вот с некоторыми вопросами статистики выходят затыки. поэтому решил у олла проконсультироватся. коллективный разум оно сподручнее :)
...
Рейтинг: 0 / 0
21.03.2012, 03:25
    #37714808
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
...
Рейтинг: 0 / 0
21.03.2012, 10:54
    #37715118
Stinger03
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
miksoftStinger03Задача - определить было ли уже в течении 24 часов обращение с одного и того же ИП и желательно сколько раз.
Хранить данные более 24 часов ненужно.
Что потянет подобную задачу и потянет ли вообще ?Сколько раз вообще или сколько раз за последние 24 часа? С какой точностью это нужно делать? Как часто это "определить" должно происходить? Как долго/быстро оно должно происходить?
Сколько раз за последние 24 часа. если ИП за 24 часа не сделал ни одного запроса данных он считается уникальным. "Определить" должно происходить при каждом запросе данных. Т.е. если есть запрос данных есть надо определить - он уникальный или нет и сколько раз он уже был и от этого планируются дальнейшие действия с ним. Происходить должно очень быстро - время ответа сервера доли секунды ибо он должен дождатся ответов от других серверов и отдать данные обработки максимум за 2-3 секунды. лучше 1-1,5.
...
Рейтинг: 0 / 0
21.03.2012, 14:04
    #37715744
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
miksoftМожно подумать, что "in-memory key-value хранилище" - это не СУБД :)

Массив в памяти это БД? А код, который с ним работает это СУБД? Тогда std::map это точно СУБД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.03.2012, 16:34
    #37716122
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
2Stinger03
То есть по сути у вас есть
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
-- табличка
create table query (ip bigint, query_time datetime)
--запрос 
select count(*) from query where ip=:ip and :query_time-1<query_time
--после запроса 
insert into query values (:ip,:query_time)
commit
--когда нибудь по ходу работы очистка таблицы
delete from query where query_time<system_date-1


Вы не ответили за точность - произойдет ли большая беда если там будет плюс минус одна секунда в 24 часов.
Что будет если один (только один запрос, и очень редко будет забыт)
Нужна ли высокая доступность, что будет если ваша система уйдет в даун (потому как все это очень сильно пахнет кластерами)
Что будет если во время форс-мажора (все ноды были обесточены) ляжет весь кластер. (тут вопрос надо ли делать бакап свежевставленных записей на диск или можно просто поднять лишную ноду)
Если ошибки в принципе приемлимы (неприятно, но не смертельно) то дорога вам в NoSQL базы, кластеры, распределители нагрузки и бежнодовое взаимодействие.
...
Рейтинг: 0 / 0
21.03.2012, 17:30
    #37716294
Stinger03
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
SERG1257Вы не ответили за точность - произойдет ли большая беда если там будет плюс минус одна секунда в 24 часов.
Нет, беды никакой не будет.
SERG1257Что будет если один (только один запрос, и очень редко будет забыт)
Тоже не смертельно.
SERG1257Нужна ли высокая доступность, что будет если ваша система уйдет в даун (потому как все это очень сильно пахнет кластерами)
Вряд ли уйдет - сервера стоят в разных странах, не то что в разных ДЦ. Выход 1 сервера не ложит систему - нагрузка распределяется между живыми. Запас пока есть.

SERG1257Что будет если во время форс-мажора (все ноды были обесточены) ляжет весь кластер. (тут вопрос надо ли делать бакап свежевставленных записей на диск или можно просто поднять лишную ноду)
выше ответил.

SERG1257Если ошибки в принципе приемлимы (неприятно, но не смертельно) то дорога вам в NoSQL базы, кластеры, распределители нагрузки и бежнодовое взаимодействие.
Ошибки (небольшие) приемлемы. Система по сути работает и без этого, но это очень не оптимальный вариант работы.
...
Рейтинг: 0 / 0
22.03.2012, 03:36
    #37717069
DPH3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
SERG1257Вряд ли уйдет - сервера стоят в разных странах, не то что в разных ДЦ. Выход 1 сервера не кладет систему - нагрузка распределяется между живыми. Запас пока есть.

Т.е. для сервиса "контроля IP" тоже нужно обеспечивать синхронизацию между ДЦ хотя бы на уровне logshipping?

А сколько вообще, в среднем, IP в сутки? А сколько в пике? И какая нагрузка в пике?
А то есть у меня подозрение, что при таком сценарии работы любая СУБД будет, де-факто, in-memory и справится с легкостью. Нужно только каким-то образом (специфичном для БД) указать, что локи при update делать не нужно (или, по крайней мере, не нужно их писать на диск). Ну, еще можно включать write cache на дисках (потери при падении, как уже говорилось, не существенны).
Основная сложность - синхронизация между ДЦ и автоматическое управление при падении.
Какая сейчас РСУБД используется в системе?
...
Рейтинг: 0 / 0
22.03.2012, 13:59
    #37717856
Нужна консультация по очень большой нагрузке
Берешь любую СУБД. Создаешь таблицы: Unlogged Tables. Отключаешь у СУБД синхронные commit и flush на диск. Выставляешь в СУБД побольше размеры буфера. Включаешь на диске cache на запись и отключаешь flush.
И используешь параметризованные запросы и пулы конектов в php.

Ну и используй особенности каждой СУБД. Если допустим используешь PostgreSQL, то используй хэш-индекс.
...
Рейтинг: 0 / 0
24.03.2012, 14:11
    #37721286
Stinger03
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
DPH3SERG1257Вряд ли уйдет - сервера стоят в разных странах, не то что в разных ДЦ. Выход 1 сервера не кладет систему - нагрузка распределяется между живыми. Запас пока есть.

Т.е. для сервиса "контроля IP" тоже нужно обеспечивать синхронизацию между ДЦ хотя бы на уровне logshipping?

что то будем изобретать наверное... отельно пасиб за то что сразу обратили на это внимание.


DPH3А сколько вообще, в среднем, IP в сутки? А сколько в пике? И какая нагрузка в пике?
Основная сложность - синхронизация между ДЦ и автоматическое управление при падении.
Какая сейчас РСУБД используется в системе?
В среднем около 150кк в среднем и до 360кк в пиках в сутки. в сукунду до 10к в пиках, но это редко. среднее что то около 2-3к в секунду.
Вобщем то запросы идут относительно ровно.
При этих расчетах не используется никакая. Пока для всего что нужно хватает текстовых файлов для расчетов - они небольшие и в основном все считается в памяти со сбросом изредка на диск. Но этой информации очень нехватает, надо проводить более сложные статистические расчеты по этому трафику.
...
Рейтинг: 0 / 0
24.03.2012, 19:10
    #37721475
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
Stinger03При этих расчетах не используется никакая. Пока для всего что нужно хватает текстовых файлов для расчетов - они небольшие и в основном все считается в памяти со сбросом изредка на диск. Но этой информации очень нехватает, надо проводить более сложные статистические расчеты по этому трафику.А расчёты нужны сразу? А то может просто импортитовать раз в сутки данные и уже потом считать аналитику.
...
Рейтинг: 0 / 0
24.03.2012, 21:39
    #37721541
DPH3
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна консультация по очень большой нагрузке
В среднем около 150кк в среднем и до 360кк в пиках в сутки. в сукунду до 10к в пиках, но это редко. среднее что то около 2-3к в секунду.

Я плохо выразился. А сколько разных IP в сутки и сколько, например, в секунду в пике.
Именно "разных" (по которым аггрегацию и нужно проводить).
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Нужна консультация по очень большой нагрузке / 25 сообщений из 74, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]