powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Key-value много-процессная база для Delphi
25 сообщений из 70, страница 1 из 3
Key-value много-процессная база для Delphi
    #39637219
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую!

Возникла задача на сервере, где у меня считаются всякие штуки, хранить результаты локально в виде ключ-значения базы, чтобы два раза не считать (value) одно и то же (key).
Сервер работает многопроцессно, так что база должна уметь многопроцессный доступ как на чтение, так и на запись.

Покопался в интернете и нашлись, конечно, разные базы.

Вот очень понравилась, к примеру, Symas LMDB .
Проблема, если хочу получть это в Delphi, придется самому писать обертку для этой Си-библиотеки, готовой не нашел.
И пока думаю о встраиваемой базе , без серверного процесса.


Это было предисловие.
А вопрос, какую библиотеку из своего опыта посоветуете?
Идет речь о нескольких милионах записей в единственной таблице.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637236
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а чем не нравится ЛЮБАЯ БД ?
там чудестно хранятся несколько миллионов записей
и значения (value) находятся по ключу (key)
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637243
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ключевые слова: многопроцессная, встраиваемая (без сервера)
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637248
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и я надеюсь на более быстрый поиск, если это будет база без SQL, а рассчитанная на одно единственное поисковое задание: искать ключ.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637253
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TList не предлагать ?
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637265
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redis + https://github.com/danieleteti/delphiredisclient
к тому же он в GetIt есть
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637267
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

Ну а почему без SQL? Можно посмотреть в сторону SQLLite например. И да - тривиальная таблица + индекс на ключ - вполне себе шустро будет работать.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637296
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кроик Семёнключевые слова: многопроцессная, встраиваемая (без сервера)
почему без серверного процесса ?
Аргументы для встраивания велосипеда должны быть просто железобетонными
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637312
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён> Идет речь о нескольких милионах записей в единственной таблице.

Я бы в таком случае вообще БД не использовал.
Нужен только поиск или ещё какие-то действия?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637345
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
// Идет речь о нескольких милионах записей в единственной таблице.

Ну это пока. А завтра еще одна. Потом еще три...
Так что БД это правильное решение.
sqlite - норм. решение. Она шустрая. На ней работает ФайрФокс.

При работе с файрДАК никаких драйверов не нужно ставить. Только файл БД.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637355
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
27.04.2018 12:29, L_argo пишет:
> sqlite - норм. решение. Она шустрая. На ней работает ФайрФокс.

она тупая и глючная. на ней работает Тандербёрд.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637361
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнИдет речь о нескольких милионах записей в единственной таблице.

На таких объемах - все, что угодно, вплоть до TList
Не нескольких миллиардах и чтобы быстро - надо уже решения искать :)
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637365
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

TDictionary + крит секцию пробовал?
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637421
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,
Отличный совет для миллионов записей с параллельным доступом, там такие тормоза начнутся, особенно со встроенным TDictionary :)
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637425
zinpub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,

Эээ... Какие тормоза? Есть БД быстрее TDicnionary?
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637436
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorКроик Семёнключевые слова: многопроцессная, встраиваемая (без сервера)
почему без серверного процесса ?
Аргументы для встраивания велосипеда должны быть просто железобетонными

Нет у меня железобетонных аргументов.
Думал ускорить вычисляющий модуль за счет сохранения всех посчитанных результатов, т.к. приходится часто считать одно и то же (до 5-10 сек) с серъезной загрузкой процессора и диска. И первым желанием было не плодить еще одну службу. Отсюда и желание embedded.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637438
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zinpubalekcvp,
Эээ... Какие тормоза? Есть БД быстрее TDicnionary?
https://habr.com/post/282902/
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637444
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
embedded - это для ОДНОЙ программы
а кто будет разделять данные Кроик Семёнмногопроцессно
если они не будут лазить в БД, то будут к серверу подключаться, а он уже к БД
ну так опять любой embedded сервер
Firebird, SQLite
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637468
zinpub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvpzinpubalekcvp,
Эээ... Какие тормоза? Есть БД быстрее TDicnionary?
https://habr.com/post/282902/

Читал... Но! работа с любым сервисом, кажется мне, будет медленее...

Хотя, если многопроцессно это именно ПРОЦЕССНО, а не многопоточно, тогда да... только БД
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637512
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семёнключевые слова: многопроцессная, встраиваемая (без сервера)
Firebird embedded. Создай базу с отключениям force write. И попробуй. Вполне возможно, что этого окажется достаточно.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637547
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён> Думал ускорить вычисляющий модуль за счет сохранения
Кроик Семён> всех посчитанных результатов, т.к. приходится часто считать
Кроик Семён> одно и то же (до 5-10 сек)

А зачем повторно считать одно и то же? Хеш-таблицы какие-то?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637560
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

Расстояние (в километрах и часах езды) между двумя координатами, посчитанное с использованием навигационного модуля
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637704
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

обычная хэш-таблица с запасом, спроецированная в файл, пойдёт, алгоритм из TDictionary стрынди

делов часа на 2-3

с локами правда надо немного подумать
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637712
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён> Расстояние (в километрах и часах езды) между двумя координатами,
Кроик Семён> посчитанное с использованием навигационного модуля

Зачем это каждый раз считать (пересчитывать) ?
Посчитай один раз (хоть однопоточно, хоть многопоточно), сохрани в
файл, а дальше - сколько угодно многопоточное/многопроцессное чтение.

БД тут нафиг не нужна (именна для этого).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637720
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

Нашёл кому в производительность тыкать :)
TDictionary не идеальный, но в данной задаче бутылочным горлышком будет критическая секция

И я могу предложить несколько вариантов, как это ускорить. Но только в том случае, если автору будет мало скорости. А я думаю, он будет счастлив как колобок, убегающий от бабушки.
...
Рейтинг: 0 / 0
25 сообщений из 70, страница 1 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Key-value много-процессная база для Delphi
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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