Как справиться с множественными подключениями к БД - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Sun, 12 Jan 2025 02:45:34 +030025. <strong>dima.london</strong>, cколько там тебе серверов то уже нужно? 8-10?
https://visavi.net/topics/25896/437449
Как справиться с множественными подключениями к БД АлексейMon, 24 Oct 2011 14:23:58 +0400Сообщенияhttps://visavi.net/topics/25896/437449> надеясь что он не обидится=)<br>
<br>
зачем тогда кластер? <img src="https://visavi.net/uploads/stickers/D.gif" alt="D"> просто при перегрузке серверов выдаём табличку с "техработами" и надеемся что он не обидится <img src="https://visavi.net/uploads/stickers/D.gif" alt="D">
https://visavi.net/topics/25896/437424
Как справиться с множественными подключениями к БД ктулхуMon, 24 Oct 2011 13:38:48 +0400Сообщенияhttps://visavi.net/topics/25896/437424<blockquote class="blockquote">Если сервер с начальными данными недоступен выдаем уведомление, надеясь что он не обидится=)</blockquote>
Это решается репликацией. <br>
<br>
З.Ы. Все же, как на счет очередей запросов? Есть какие-то готовые проверенные способы, или в каждом отдельном случае надо городить свой забор? У меня есть пару идей на примете, но для этого нужен как минимум доп-сервер, выступающий в роли журнала очереди.
https://visavi.net/topics/25896/437412
Как справиться с множественными подключениями к БД ДмитрийMon, 24 Oct 2011 12:59:20 +0400Сообщенияhttps://visavi.net/topics/25896/437412Я не знаю ни PHP ни MySQL=)<br>
Но идея такова:<br>
Имеем например 5млн записей и 7 БД, а лучше серверов.<br>
Далее эти записи расскидываем по БД. Т.е. просто делим.<br>
Далее, если пользователю нужны будут старые записи то отдаем их подгружая. Если сервер с начальными данными недоступен выдаем уведомление, надеясь что он не обидится=)
https://visavi.net/topics/25896/437236
Как справиться с множественными подключениями к БД АндрейMon, 24 Oct 2011 00:01:27 +0400Сообщенияhttps://visavi.net/topics/25896/437236не знаю я буржуйского языка... <img src="https://visavi.net/uploads/stickers/cry.gif" alt="cry"> <br>
<br>
<em><span style="font-size:x-small">Добавлено через 00:49 сек.</span></em><br>
<blockquote class="blockquote"><strong>МегабиТ</strong> (23 Октября 2011 / 13:26)<br>
21. <strong>dima.london</strong>, не задумывался о смени яп серверной части?) треды в php это слишком</blockquote>
Задумавылся. Но только в отдельных компонентах приложения.
https://visavi.net/topics/25896/437001
Как справиться с множественными подключениями к БД ДмитрийSun, 23 Oct 2011 14:28:02 +0400Сообщенияhttps://visavi.net/topics/25896/43700119. <strong>dima.london</strong>, из коментов на хабре<br>
<br>
<a href="http://www.amazon.com/gp/aw/d/0596101716/ref=redir_mdp_mobile" target="_blank" rel="nofollow">http://www.amazon.com/gp/aw/d/0596101716/ref=redir_mdp_mobile</a> (High Performance MySQL: Optimization, Backups, Replication, and More (Paperback)) <br>
<a href="http://www.mysqlperformanceblog.com/" target="_blank" rel="nofollow">http://www.mysqlperformanceblog.com/</a> MySQL Performance Blog<br>
<br>
<em><span style="font-size:x-small">Добавлено через 01:09 сек.</span></em><br>
21. <strong>dima.london</strong>, не задумывался о смени яп серверной части?) треды в php это слишком
https://visavi.net/topics/25896/437000
Как справиться с множественными подключениями к БД АлексейSun, 23 Oct 2011 14:26:14 +0400Сообщенияhttps://visavi.net/topics/25896/437000в итоге это все не по делу. В данный момент меня больше интересуют множественные коннекты к различным БД и варианты организации очередей запросов. <br>
<br>
1) Насколько оправданно подключаться одновременно к нескольком БД.<br>
<br>
2) Как поступить в том случае, когда одна из БД загибается и нужно притормозить ее работу? Я думаю писать определенный лог очереди запросов и когда загибающаяся БД раздуплится, выполнять в первыю очередь запросы, записанные в очередь, но с уже нужной мне скоростью (максимально приемлемой). Все новые запросы, поступающие в этот момент дописывать в конец очереди. Когда вся очередь выполнена - выполнять запросы напрямую в БД.<br>
<br>
Как это реализовать? Куда писать лог (журнал) очереди? В отдельную БД?
https://visavi.net/topics/25896/436999
Как справиться с множественными подключениями к БД ДмитрийSun, 23 Oct 2011 14:24:42 +0400Сообщенияhttps://visavi.net/topics/25896/43699917. <strong>dima.london</strong>, над таким вопросом нужно посидеть не день и не неделю, попробывать не один вариант, для себя как реализацию я вижу примерно такую, перенсти часть нагрузки на клиента, негенерировать никаких страниц вобще на сервере а только массивы данных, статику вынести на отдельный сервер, часть данных(до состояния изменения) хранить у пользователя в Storage(HTML5 DOM Storage или SQLLite), только придется отказаться от старых браузеров IE < 9, ну и собрать всю страницу у клиента по кускам
https://visavi.net/topics/25896/436996
Как справиться с множественными подключениями к БД АлексейSun, 23 Oct 2011 14:20:59 +0400Сообщенияhttps://visavi.net/topics/25896/43699618. <strong>МегабиТ</strong>, гг Я на ютьюбе сегодня смотрел доклад этого Зайцева. Ущербный тип. Много воды льет не по делу.
https://visavi.net/topics/25896/436992
Как справиться с множественными подключениями к БД ДмитрийSun, 23 Oct 2011 14:14:29 +0400Сообщенияhttps://visavi.net/topics/25896/43699215. <strong>dima.london</strong>, <a href="http://habrahabr.ru/blogs/mysql/130999/" target="_blank" rel="nofollow">http://habrahabr.ru/blogs/mysql/130999/</a>
https://visavi.net/topics/25896/436991
Как справиться с множественными подключениями к БД АлексейSun, 23 Oct 2011 14:11:32 +0400Сообщенияhttps://visavi.net/topics/25896/43699116. <strong>МегабиТ</strong>, а как те еще предлагаешь? При каждом перекешировании перебирать все сервера? Посмотри на фейсбук. У них 4 датацентра. Это рехнуться можно, пока выберешь данные со всех серверов. <br>
Ну, максимум - это можно у каждого юзера хранить массив серверов (типа 1, 2, 5, 17, 24), и при записи нового сообщения узнавать, в какой сервер пишется сообщение и перебирать массив серверов. Если сервер в массиве не найден - дописывать его туда. А при выборе сообщений просто перебирать этот массив и брать данные из тех серверов, что записаны в массив. Хз.
https://visavi.net/topics/25896/436990
Как справиться с множественными подключениями к БД ДмитрийSun, 23 Oct 2011 14:11:02 +0400Сообщенияhttps://visavi.net/topics/25896/43699015. <strong>dima.london</strong>, мне кажется что в реальных условиях твое решения окажется либо не эффективным либо не работо способным вобще
https://visavi.net/topics/25896/436987
Как справиться с множественными подключениями к БД АлексейSun, 23 Oct 2011 14:04:46 +0400Сообщенияhttps://visavi.net/topics/25896/43698714. <strong>МегабиТ</strong>, почему? Только при выборе данных из БД. К примеру, срок кеша закончился, и его надо перекешировать. Я вынимаю из определенного места памяти IDы первого и последнего сообщения, подсчитываю, с какого по какой серверы хранятся данные, и выбираю. Чтобы не дергать ненужные сервера. К примеру, серверов 10, а после подсчета получается, что данные хранятся с 3 по 7 сервера. Вот из этих 5 и делать выборку и формировать кеш из массива полученных данных. <br>
Все просто.
https://visavi.net/topics/25896/436985
Как справиться с множественными подключениями к БД ДмитрийSun, 23 Oct 2011 14:02:00 +0400Сообщенияhttps://visavi.net/topics/25896/43698513. <strong>dima.london</strong>, постоянно пересчитывать записи?
https://visavi.net/topics/25896/436983
Как справиться с множественными подключениями к БД АлексейSun, 23 Oct 2011 13:57:34 +0400Сообщенияhttps://visavi.net/topics/25896/43698311. <strong>ShiftBHT</strong>, я считаю, что при записи первого сообщения юзера, ID этого сообщения надо запоминать. Кроме того надо хранить в памяти ID последнего сообщения юзера. И от него отталкиваться при выборке всех его сообщений. <br>
<br>
К примеру, <br>
- первый ID=1250004 - значит выбор надо начинать со второго сервера (1250004/1млн = 1,25 что значит второй сервер)<br>
<br>
- последний ID=2275404 - значит выбор надо заканчивать на третьем сервере (2275404/1млн = 2,27 что значит третий сервер)<br>
<br>
Исходя их этого, данные надо выбирать из 2 и 3 сервера.<br>
<br>
как-то так
https://visavi.net/topics/25896/436981
Как справиться с множественными подключениями к БД ДмитрийSun, 23 Oct 2011 13:56:21 +0400Сообщенияhttps://visavi.net/topics/25896/436981