|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
Всем добрый день, я хочу все конфиги веб сервера перенести в sqlite. Идея такая, на диске бд храниться в зашифрованном виде, но при открытии она будет открываться в память и дешифроваться. К примеру я зашел на сайт первым и бд открылась и загрузилась в память. Вопрос вот в чем, если второй пользователь зайдет на сайт бы откроется наново или же будет использовать ту бд которая уже открыта первым пользователем??? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 15:34 |
|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
slimss, при каждом новом соединении будет заново открываться, а в чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 16:46 |
|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
А зачем SQLite ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 19:11 |
|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
Хранить все пароли и тд. в этой зашифрованной бд. А как на счет нагрузки на сервер если к примеру посещения сайта к примеру 2-3 тысячи пользователей, это бдет открыто 2-3к новых бд ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 20:10 |
|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
pit_alexslimss, при каждом новом соединении будет заново открываться, а в чем проблема? Ну если к примеру первый пользователь сидит на сайте и бд не закрыта в памьяти, то новый пользователь при входе создаст новую бд в памяти и будет с ней работать, там просто размер бд около 20мб, сколько примерно ресурсов скушает 1000 пользователей ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 20:13 |
|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
Я просто хочу понять принцип как система будет работать с бд. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 20:14 |
|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
slimss, slimssэто будет открыто 2-3к новых бд будет открыто 2-3к новых соединений а не бд (бд не загружается полностью в память при соединении), к тому же вряд ли одновременно будет сразу столько соединений, а вообще SQLite как бы не очень предназначена для таких задач, это все таки файловая БД и при таком использовании проблемы будут возникать постоянно с блокировками и т.д., лучше поискать другое решение ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 20:37 |
|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
pit_alexslimss, slimssэто будет открыто 2-3к новых бд будет открыто 2-3к новых соединений а не бд (бд не загружается полностью в память при соединении), к тому же вряд ли одновременно будет сразу столько соединений, а вообще SQLite как бы не очень предназначена для таких задач, это все таки файловая БД и при таком использовании проблемы будут возникать постоянно с блокировками и т.д., лучше поискать другое решение Она будет использоваться только для чтения, записи в нее заноситься не будут. Просто мне говорили если туда что то постоянно insert то будут проблемы с недоступностью и это плохой выбор, а если будет только селект конфигов, то вполне нормально. Вот я хотел уточнить у здешних или проблем не возникнет с таким подходом хранения конфигов, а в не в обычных php файлах. Ваше мнение ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 21:04 |
|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
slimsspit_alexslimss, при каждом новом соединении будет заново открываться, а в чем проблема? Ну если к примеру первый пользователь сидит на сайте и бд не закрыта в памьяти, то новый пользователь при входе создаст новую бд в памяти и будет с ней работать, там просто размер бд около 20мб, сколько примерно ресурсов скушает 1000 пользователей ?Размер зависит не от файла базы, а от настроек кеша. В среднем на каждого пользователя у тебя выделится в минимуме по 16 мегабайт. Если запрос по чтению будут тяжелыми - памяти потребуется больше. Потом помножь на количество пользователей... и ужаснись... Это все в случае абстрактной SQLite, которую ты не контролируешь сам на ВСЕХ уровнях. Если, у тебя на веб-сервере стоит серверный, многопользовательский вариант SQLite - то много память отъестся только один раз, а все отдельные соединения будут пользоваться этой памятью совместно. И все будет замечательно. Но учти что для этого надо обязательно иметь серверный вариант SQLite. А как ты это установишь это уже другой, очень сложный и больной вопрос. Мы вот тут уже ломали копья на эту тему: http://www.sql.ru/forum/actualthread.aspx?tid=950500&pg=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 23:14 |
|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
Да баталия у вас жесткая получилась, можно как с вами связаться вне форума, к примеру по icq/skype я хотел бы получить некую консультацию в режиме реального времени? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 23:48 |
|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
slimss, почему бы не хранить данные или тупо в текстовых файлах (пусть даже в пхп), или в многопользовательской клиент-серверной БД, сервер которой постоянно запущен и не тратит время на открытие БД и кучу памяти на выполнение запросов (та же MySQL)? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2012, 00:17 |
|
Подключение sqlite memory
|
|||
---|---|---|---|
#18+
MySQL не вариант использовать для конфигов, есть на то свои причины. Использовать к примеру SQLite удобней для обновления конфигов. В данный момент у меня сделано так. Есть закриптованная база SQLite-enc (закодированная), при конекте пользователя, система создает рядом бд SQLite и подключает пользователя к ней. Я хотел бы вообще убрать бд так что бы все пароли/настройки/лицензия не были доступны кому то. Пхп код у меня зашит в ioncube, осталось одно уязвимое место это конфиги, вот их и хочу перенести в sqlite и что бы не создавать файловую базу в директориях на хостинге загружать ее в память для чтения. Пользователей может быть до 10к уников, к примеру у меня sqlite бд(52мб - 4 таблици в каждой по 30к строк)с статическими данными с ней одновременно работают около 5-6к и уже за месяца 3 проблем не наблюдал, только осталось обезопасить конфиги. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2012, 00:47 |
|
|
start [/forum/topic.php?fid=54&msg=38082569&tid=2008946]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 151ms |
0 / 0 |