powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Key-value много-процессная база для Delphi
70 сообщений из 70, показаны все 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
Key-value много-процессная база для Delphi
    #39637724
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К примеру 20'000 объектов
Для них нужно найти расстояния до всех других объектов

Большая и ненужная работа для большинства соединений. Вот и считаю сегодня по мере надобности.

А теперь вот надумал для ближайших соседей посчитать окружение заранее, а далее по ходу дела. Вобщем вот.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637726
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кроик СемёнК примеру 20'000 объектов
Для них нужно найти расстояния до всех других объектов

Большая и ненужная работа для большинства соединений. Вот и считаю сегодня по мере надобности.

А теперь вот надумал для ближайших соседей посчитать окружение заранее, а далее по ходу дела. Вобщем вот.
В Oracle есть весь готовый функционал, я делал то же, что и ты
http://www.oracle.com/technetwork/database/options/spatialandgraph/overview/index.html
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637751
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

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

Короче, обдумал еще раз всё трезво (спасибо всем за обсуждение) , отбросил блажь и решил в пользу MySQL с единственной табличкой. Серверное решение вместо embedded + multi-process.

Там посмотрим, как дело пойдет.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637762
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БД - если нужен ACID или не влезает в память. Память - если не нужен и влезает.
60к узлов в графе - ACID не нужен, все влезает. Вопрос был про правильную структуру данных.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637769
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семёнрешил в пользу MySQL с единственной табличкойЕсли данные хранить не нужно, то посмотри на движок MEMORY
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637792
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

Не, ну сейчас было обидно
А чего TDictionary не понравился?
Не осилил?
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637845
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUКроик Семён,

Не, ну сейчас было обидно
А чего TDictionary не понравился?
Не осилил?
потому что СУБД лучше, тем более она готовая - бери и пользуйся
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39637847
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Vlad Fdefecator,

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

Не, ну сейчас было обидно
А чего TDictionary не понравился?
Не осилил?

Просто это должна быть база на ДИСКЕ. С одновременным доступом из разных процессов.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638013
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одновременный доступ подразумевает только чтение или добавление/обнолвление записей тоже?
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638052
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавление тоже. В этом вся петрушка.

Причем, в моем случае, ключ даже если будет не уникальным- не важно. Тогда просто будут две одинаковых ключ-значение пары.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638055
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
Обновление не предусмотрено, только добавление и чтение
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638056
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас как-то была задача кучу прайсов разбитых на разные файлы представить в виде сервиса с поиском. Но там прайс-файл менялся целиком, а не отдельные записи. Строили индекс и весь его пихали в память, без каких либо БД. Работало зверски быстро. Но это посути велосипед, для очень узкой задачи с своей спецификой.
В общем как сказали выше, если нужны транзакции и прочие возможности берите нормальный сервер. Я если честно поклонник БД, поэтому скорее буду выбирать сервер под задачу, чем брать что-то новомодное. Благо вариантов вагоны, начиная от простых типа sqlite и кончая oracle/sql server/postgesql
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638058
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, если отвечать буквально, для решения такой задачи лично я брал бы REDIS. Штука простая, толковая и без лишней обвески. Но куда важнее, чтобы на это решение посмотрел хороший спец по алгоритмам... прежде, чем они будут реализованы и он придёт рассказывать, как всё переделывать.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638132
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнSOFT FOR YOUКроик Семён,

Не, ну сейчас было обидно
А чего TDictionary не понравился?
Не осилил?

Просто это должна быть база на ДИСКЕ. С одновременным доступом из разных процессов.

Ты же сказал, что у тебя там кеш расчётов. Откуда взялось требование про хранение на диске?
И да, неужели сложно написать сохранение и загрузку TDictionary в файл? )
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638194
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использовать БД для настолько простой задачи - это странно.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638198
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
rgreatИспользовать БД для настолько простой задачи - это странно.
Задача БД - хранить данные.
Странно, да ?
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638199
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator> Задача БД - хранить данные.

Не только. Тем паче тут и данных-то нет, как таковых.
Redis я бы ещё понял (хотя даже он тут не нужен, если
клиентских машин не больше одной, AFAIU), но MySQL...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638202
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Часть БД прекрасно чувствуют себя embedded. И что-то мне подсказывает что поддержка нормальных БД в дельфи реализована намного лучше экзотики типа redis. Поймаешь потом в продакшене какую-нибудь фигню и все, приплыли. Сиди, разбирайся, патчи, поддерживай. К чему это изобретение велосипеда? Что в БД проблема завести таблицу с 2 полями?
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638219
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry ArefievБД - если нужен ACID или не влезает в память. Память - если не нужен и влезает.
60к узлов в графе - ACID не нужен, все влезает. Вопрос был про правильную структуру данных.
Именно так.

От себя добавлю, что будет работать в памяти без прослоек раз этак до 10 быстрее.
При необходимости - сериализовать на диск и обратно при старте.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638325
Flashpoke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кроик СемёнРасстояние (в километрах и часах езды) между двумя координатами, посчитанное с использованием навигационного модуляВ сторону PostGIS не смотрел?
Вот ознакомительная статья , авось заинтересует.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638359
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, смотрел. Хорошая вещь.

Но выбрал другую штуку. Она уже давно в использовании, теперь решил вот заняться оптимизацией.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638465
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БД это сетевое подключение, сокеты, аутентификация, парсинг SQL, менеджмент транзациями, страницы и хранение на диске.
По большому счёту я ничего не имею против БД
Но в данном случае использовать БД - это не забивать гвозди микрокопом, это трактор на скоростном шоссе
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638509
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,

Всё это настраивается с пол-пинка за 5-15 минут, если локально (и имеет массу бенефитов). Удаленно немного больше. Но я так понял база локальная. Опять же - может посмотреть на встроенные вариант, вообще без сетей. Absolute Database тот же или FB Embedded, если процесс один.

авторНо в данном случае использовать БД - это не забивать гвозди микрокопом, это трактор на скоростном шоссе

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

в начале топика была ссылка на Symas LMDB
Не в рамках моей задачи (я уже к MySQL пришел), а в далеком будущем задумался над портированием библиотеки на Delphi. Вот список всех оберток на сегодняшний день: https://symas.com/lmdb/technical/#wrappers

Там в .NET - обертке есть скомпилированные DLLки, которые можно было бы взять за основу.


Symas LMDB An ultra-fast, ultra-compact, crash-proof key-value embedded data store.

Symas LMDB is an extraordinarily fast, memory-efficient database we developed for the OpenLDAP Project. With memory-mapped files, it has the read performance of a pure in-memory database while retaining the persistence of standard disk-based databases.
Bottom line, with only 32KB of object code, LMDB may seem tiny. But it’s the right 32KB. Compact and efficient are two sides of a coin; that’s part of what makes LMDB so powerful.

Explore Capabilities

Ordered-map interface

- keys are always sorted; range lookups are supported


Fully-transactional

- full ACID semantics with MVCC


Reader/writer transactions

- readers don’t block writers; writers don’t block readers


Fully serialized writers

- writes are always deadlock-free


Extremely cheap read transactions


can be performed using no mallocs or any other blocking calls


Multi-thread and multi-process concurrency supported

- Environments may be opened by multiple processes on the same host


Multiple sub-databases may be created

- transactions cover all sub-databases


Memory-mapped

- allows for zero-copy lookup and iteration


Maintenance-free

- no external process or background cleanup or compaction required


Crash-proof

- no logs or crash recovery procedures required


No application-level caching

- LMDB fully exploits the operating system’s buffer cache


32KB of object code and 6KLOC of C

- fits in CPU L1 cache for maximum performance
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638518
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всегда удивляло как какая-то технология становится модной, ее сразу начинают пользовать везде, даже там где она нафик не уперлась :)
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638521
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon,

Если коннект к локалхосту - это не значит, что нет сетевых технологий
И дело здесь не в скорости развёртывания. TDictionary вообще не нужно разворачивать. Дело в том, что решение не подходит под задачу. Или не соответствует. Кому как удобнее )
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638523
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
энди,

"везде пихают" не всегда из-за модности технологии, а из-за её знакомости в коллективе. Для более легкого саппорта возможно более широким кругом программистов.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638588
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon...FB Embedded, если процесс один...
А если не один - что будет?
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638629
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От версии зависит. В 2.5 и выше - катастрофы не случится.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638631
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя если БД каждый раз отдельная будет - в любой версии работать будет, IIRC.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638651
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,

Один TDictionary на несколько процессов? Можно, скорее всего. Но я представлю уже обвязку.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638662
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon,

Ну давайте замутим тестовое сравнение. И решим
Я ванговал производительность x10 в пользу TDictionary. Посмотрим, как это будет на практике
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638664
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUmakhaon,

Ну давайте замутим тестовое сравнение. И решим
Я ванговал производительность x10 в пользу TDictionary. Посмотрим, как это будет на практике

Можно и больше, но это уже программировать надо)

Уменьшить тормоза на критической секции помогут несколько TDictionary,
по числу процессоров или в 2..4 раза больше.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638669
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,

Есть у меня идея синхронизируемых контейнеров. В рамках этой идеи для хеша есть 1024 слота, открываемых на чтение или запись. А там уже указатели на локальные хеши. Но конечно для ТС и TDictionary c крит секцией будет огонь решение
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638677
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUAleksandr Sharahov,

Есть у меня идея синхронизируемых контейнеров. В рамках этой идеи для хеша есть 1024 слота, открываемых на чтение или запись. А там уже указатели на локальные хеши. Но конечно для ТС и TDictionary c крит секцией будет огонь решение

Дык и реализация есть. Если читал мой опус внимательно, то наверняка заметил, что хеширование можно выполнять отдельно, до поиска/вставки. Т.е., например, по старшим битам хеша определяешь в какую таблицу надо смотреть, и все. Все уже написано.
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638697
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,

У меня и свой TDictionary есть
А в твоём нет главного - слотов :)
На чтение и запись который. Забыл как называется примитив
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638706
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorпри использовании ODAC клиентская часть Oracle равна нулюПравда при смене версии оракла тогда приходится покупать новый одак. Но это мелочи по сравнению с экономией полгига места на диске
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638825
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUAleksandr Sharahov,

У меня и свой TDictionary есть
А в твоём нет главного - слотов :)
На чтение и запись который. Забыл как называется примитив

Вот склероз проклятый, что с людьми делает, неужто array забыл?
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638835
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
_Vasilisk_defecatorпри использовании ODAC клиентская часть Oracle равна нулюПравда при смене версии оракла тогда приходится покупать новый одак. Но это мелочи по сравнению с экономией полгига места на диске
не придётся.
протокол совместим снизу вверх
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638885
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUТолько сейчас заметил, что ТС говорит а многопроцессной базе, а не о многопоточной
Таки да, тут уже простым напильником не обойтись, лучше взять готовый инструмент :)

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

На самом деле пока неясно, зачем автору это нужно.
У меня есть только одно объяснение, но хотелось бы из первых уст.

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


На самом деле пока неясно, зачем автору это нужно.
У меня есть только одно объяснение, но хотелось бы из первых уст.

из первых уст
Потому что на сервере каждая активная пользовательская сессия представлена отдельным процессом. А складывать результаты (и читать их) мои плагины должны в общую корзину. Отсюда и требование к мультипроцессности было.

Все еще неясно, почему именно процессом, а не потоком?
...
Рейтинг: 0 / 0
Key-value много-процессная база для Delphi
    #39638952
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вот так вот этот сервер устроен, мое дело плагины
...
Рейтинг: 0 / 0
70 сообщений из 70, показаны все 3 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Key-value много-процессная база для Delphi
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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