URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6032
[ Назад ]

Исходное сообщение
"посоветуйте плиз БД, которая живет только в памяти"

Отправлено Stan , 21-Дек-06 18:55 
Hi, All.

нужна БД легкая без особых наворотов, но надежная, для хранения и обработки данных, которые очень часто меняются, поэтому главное требование - быстрый доступ к базе и данным.
  
вот и решил все это добро хранить исключительно в памяти а не на диске. раньше пользовал shared memory и IPC::ShareLite только вот столкнулся с залипами из-за потери блокировок.

ПС: ну и модуль на perl нужен для БД этой чтоб был, а то писать нужно perl-e.

сенкс за советы


Содержание

Сообщения в этом обсуждении
"посоветуйте плиз БД, которая живет только в памяти"
Отправлено levsha , 22-Дек-06 10:26 
>нужна БД легкая без особых наворотов, но надежная, для хранения и обработки
>данных, которые очень часто меняются, поэтому главное требование - быстрый доступ
>к базе и данным.
>
>вот и решил все это добро хранить исключительно в памяти а не
>на диске. раньше пользовал shared memory и IPC::ShareLite только вот столкнулся
>с залипами из-за потери блокировок.
>
>ПС: ну и модуль на perl нужен для БД этой чтоб был,
>а то писать нужно perl-e.

Создать раздел в памяти и положить туда какой-нибудь sqlite ?


"посоветуйте плиз БД, которая живет только в памяти"
Отправлено BigHo , 22-Дек-06 14:45 
>Hi, All.
>
>нужна БД легкая без особых наворотов, но надежная, для хранения и обработки
>данных, которые очень часто меняются, поэтому главное требование - быстрый доступ
>к базе и данным.

Типа стандартного типа %hash в perl ?

>вот и решил все это добро хранить исключительно в памяти а не
>на диске. раньше пользовал shared memory и IPC::ShareLite только вот столкнулся
>с залипами из-за потери блокировок.

Если из разных процессов использовать pthread_mutex - то это проблема не только этого модуля и не только этого языка.

>ПС: ну и модуль на perl нужен для БД этой чтоб был,
>а то писать нужно perl-e.

Если нужно хранение в сортированном порядке, то посмотри в сторону бинарных деревьев самобалансирующихся деревьев:
- AVL (сильно-сбалансированное дерево, Tree::Fat (J/JP/JPRIT/Tree-Fat-1.111.tar.gz));
- Red-Black или RB (слабо-балансированное дерево).

Если не то, то опиши поподробней задачу, глядишь и прояснится с модулем. Чем модуль ShareLite нравится, и только ли проблемы с блокировкой, или другие имеются ?

Даже если искомого модуля в природе не существует, то платишь бабки и получаешь модуль на C :)


"посоветуйте плиз БД, которая живет только в памяти"
Отправлено kerdan , 23-Дек-06 21:38 
вообще, если любая программа постоянно считывает какие-то файлы,
то они буферизуются ОС. И уже большинство чтений/записей до обращения к
винту не доходят. К тому же практически все серьезные БД должны организовывать
свою буфферизацию, т.е. операции эти не будут даже системные вызовы тревожить,
что еще быстрее.
Так, что, бери MySql, Postgress, Oracle;
И в конфигах увеличивай размер внутренних буфферов.
Если у тебя на сервере 1-2 гига оп. памяти, то вся БД через какое-то время
окажется в ней, а во время простоя системы, будет происходить синхронизация буфферов,
как на уровне самой системы БД, так и на уровне ОС.

Так что проблемы, в принципе, с этим ни какой нет.


"посоветуйте плиз БД, которая живет только в памяти"
Отправлено drioptr , 03-Янв-07 20:42 
http://freshmeat.net/articles/view/305/



"посоветуйте плиз БД, которая живет только в памяти"
Отправлено SkyDiver , 10-Янв-07 00:39 
V mysql est' tablici tipa MEMORY (HEAP)


"посоветуйте плиз БД, которая живет только в памяти"
Отправлено Michelnok , 13-Янв-07 19:25 
memcached?