powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Очень большой TDictionary
25 сообщений из 64, страница 2 из 3
Очень большой TDictionary
    #39930064
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
А какая собсно прикладная задача решается? Перебор паролей какой-то или что?
Поиск гадости в видеопотоке, который передается по udp
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930065
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoПочему дофига ? Наращивание памяти это не решение.

А ещё есть потоковые алгоритмы, map-reduce, сжатие/свёртка и т.д. и т.п.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930066
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
Dimitry Sibiryakov
Вариантов-то дофига.
Почему дофига ? Наращивание памяти это не решение.
Вынос в БД - единственное вменяемое решение. Варианты только в способе хранения/записи/чтении.


СУБД логично, но система реал-тайм и требования к производительности высокие. Раньше нагрузка была не большая и архитектура решала свои задачи, но хотелки растут, качество видео тоже.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930067
Sinemurius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

SinemuriusВ твоей ситуации единственный вариант - это локальная СУБД.

Вариантов-то дофига.


Смотрите: по Вашим потребностям можно сформулировать следующие аксиомы:

1. В ОЗУ это не поместится. Особенно, если думать про перспективу. Соответственно, данные должны храниться в файлах.

2. Данные должны быть структурированы. То есть найти данные по ключу нужно найти с минимальным количеством чтений. Перечитывать 30 Гб - это не вариант.

Эти два аксиомы собственно и описывают то, что называется БД.
Все остальные варианты - это некие эрзацы СУБД.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930068
Sinemurius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про потоки речь вроде не шла. Тут думать нужно.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930070
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sinemurius
Все остальные варианты - это некие эрзацы СУБД.
Некоторые эрзацы СУБД очень интересны. А еще если бы можно было хранить TDictionary в filemap или типа того, но поиск по ключу был таким же быстрым, как и в ОП, или хотя бы немного уступал (немного понятие размытое), то это было бы супер
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930071
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sinemurius
В ОЗУ это не поместится. Особенно, если думать про перспективу. Соответственно, данные должны храниться в файлах.


Шардирование никто не отменял.. Можно развернуть хоть 20 серверов по 100 Гб ОЗУ и все распихать там... Вопрос только в ресурсе и деньгах...
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930076
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Cite, всегда все упирается в деньги
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930080
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbвсегда все упирается в деньги

Да. Включая те, которые платят более опытному и способному разработчику.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930084
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
Sinemurius
Все остальные варианты - это некие эрзацы СУБД.
Некоторые эрзацы СУБД очень интересны. А еще если бы можно было хранить TDictionary в filemap или типа того, но поиск по ключу был таким же быстрым, как и в ОП, или хотя бы немного уступал (немного понятие размытое), то это было бы супер


Где-то читал, что скоро наступит эпоха pcie5 и чтение ssd будет сопоставимым со скоростью ОЗУ. А пока не наступило, нужно выкручиваться имеющимися средствами. Судя по постановке задачи, тут либо озу наращивать, либо менять алгоритмы.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930091
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите nosql key-value (например https://aws.amazon.com/ru/nosql/key-value/). Они есть, уже распараллелены и оптимизированы.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930130
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
Вынос в БД - единственное вменяемое решение. Варианты только в способе хранения/записи/чтении.


плюс хранение самой базы на зеракальном RAID на базе SSD.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930138
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, опытных и способных на всех не хватает.

bk0010, интересное решение.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930148
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ClickHouse ещё очень быстрая nosql БД.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930166
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

база данных, думаю, будет лучшим решением. врятли у тебя сверх-уникальный случай. нужно искать максимально подходящую под задачу бд, тысячи их.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930172
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer
Судя по постановке задачи, тут либо озу наращивать, либо менять алгоритмы.

Можно сделать свой словарь с увеличенным размером хеша и возможностью работать с проекцией файла. На современных ssd с pcie можно получить очень хорошую скорость даже на рандомном доступе.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930173
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbопытных и способных на всех не хватает.

Значит придётся тебе поднимать свою квалификацию.

Чисто из любопытства: неужели у тебя в самом деле есть 10 миллиардов образцов и ты
принятый пакет среди них ищешь?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930179
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
База будет в разы (если не на порядки) медленней чем словарь в памяти.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930185
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если гонять все данные на сервер(ы) и обратно, то какая скорость канала должна быть?
Будет ли она сопоставима со скорость SSD?
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930189
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

база может быть в памяти целиком, если что:
https://en.wikipedia.org/wiki/List_of_in-memory_databases
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930194
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonбаза может быть в памяти целиком, если что

Я знаю, это трудно, но попробуй прочитать хотя бы первое сообщение топика.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930197
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
то какая скорость канала должна быть?

10Gbit например
X11
Будет ли она сопоставима со скорость SSD?

Теоретическая пропускная способность такого канала будет около 1Gb/s, что даже выше скоростей потребительских ssd при рандомном доступе.
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930209
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

я предлагаю варианты. у тебя есть что-то заведомо готовое для его случая?
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930211
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonу тебя есть что-то заведомо готовое для его случая?

Я понятия не имею каков "его случай". Он же так и не рассказал ничего кроме "поиск гадости
в видеопотоке". На это можно только предложить нейросеть: модно, стильно, молодёжно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень большой TDictionary
    #39930221
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey, и каналы должны быть перманентно стабильными. Сколько будет стоить такой канал или несколько?
...
Рейтинг: 0 / 0
25 сообщений из 64, страница 2 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Очень большой TDictionary
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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