|
|
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
Господа, сугубо теоретический вопрос. Встречается ли задача определения оптимальной частоты репликации в теории баз данных? Если да, то какие существуют методы и что на эту тему стоит прочитать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2006, 02:34 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
Отптимальная частота репликации отпределяется исходя из требований к конкретной системе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2006, 11:23 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
существуют ли какие-нибудь выкладки для каких-нибудь конкретных систем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2006, 12:09 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
авторсуществуют ли какие-нибудь выкладки для каких-нибудь конкретных систем? Для моей конкретной системы, частота репликации базы по продажам - раз в неделю, базы справочников - раз в сутки. (на данном этапе ее использования). Что вы называете конкретной системой ? она у каждого своя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2006, 12:16 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
Baschсуществуют ли какие-нибудь выкладки для каких-нибудь конкретных систем? существуют, конечно! но это слишком конкретные выкладки - Вам будет неинтересно в Вашем конкретном случае ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2006, 12:29 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
ну допустим в моей системе данные не добавляются, а обновляются. И флагов обновления не предусмотрено. Конечно, можно всю базу каждую минуту синхронизировать, но напрашивается идея как-то спрогнозировать оптимальное следующее время синхронизации на основе прошлой статистики изменений данных... вот что-то в этом духе интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2006, 17:45 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
и чтобы это всё в динамике работало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2006, 17:48 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
что обновлять а что добавлять решает сервер. А частота обновления - это пользовательский параметр. Вы с какой частостью заходите на страницу новостей для репликации новостей в голове и новостей в БД WWW? ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2006, 18:37 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
Хм. Если говорить об идеальном случае, то оптимальная частота репликации определяется скоростью внесения изменений - каждое изменение должно доехать максимально быстро. Количество проблем при репликации непосредственно зависит от запаздывания репликации (количества изменений, сделанных пока некая запись "в пути"). В реале может вмешаться нелинейная стоимость одного сеанса связи. Скажем, если есть некое значительное количество фиксированной служебной информации, передающейся при каждом сеансе незначительно от количества передаваемых изменений, буферизация изменений приведет к уменьшению траффика и соответственно удешевится. Лично у меня хорошо работала схема "раз в минуту, если есть данные для репликации". Кроме того, был вопрос с большими объемами - например, если выполнен апдейт миллиона строк. На этот случай были лимиты в буферах, в результате например первые десять тысяч изменений обрабатывались, отправлялись и принимались на клиенте, не дожидаясь подготовки к отправке последних записей из этого миллиона. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 00:32 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
На мой взгляд, репликации - это зло, с которым надо бороться. При современных скоростях сетевого обмена - репликации - анахронизм. При правильном написании клиента даже 4 кБит/с обеспечивают комфортную работу. Конечно, при такой скорости надо потрудиться программеру, что бы не тупо качать на клиента всю базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 11:44 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
При правильном написании клиента даже 4 кБит/с обеспечивают комфортную работу. Иначе говоря, тысяча пользователей толкаются на широком и дорогом канале ради счастья "не работать всем филиалом" благодаря провайдеру, по техническим причинам положившему канал на четыре часа. Заодно у меня есть смутное ощущение, что "правильное написание клиента" в таком контексте обычно означает "пользователю на самом деле не нужны те фичи, которых мы не можем нормально сделать". Наконец, мне весьма любопытно будет посмотреть на "потрудиться программеру нетупо" при передаче на клиента хотя бы десятимегового блоба. Скажем, прямо сейчас мои коллеги работают над проектом, где основные данные - техническая документация по зданиям (планы и прочее). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 12:05 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
softwarer При фиговых каналах репликация болбов будет длится вечно. На кой ляд тянуть то, что может никогда не понадобится? А еще могут электричество отключить. Это гораздо чаще бывает Планы, прочее.. А слабо наваять прогу, в которой эта документация существовала бы не в виде вордовских документов и bmp-картинок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 12:19 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
Cat2При фиговых каналах репликация болбов будет длится вечно. На кой ляд тянуть то, что может никогда не понадобится? А кто предлагает тупо тянуть то, что может никогда не понадобиться? Вариантов много, например: - Изменения в блобах редки. Соответственно, после первоначальной раскладки, изменения спокойно тянутся в фоне, никому не мешая. У меня, в частности, была специальная возможность ставить некоторые таблицы на исключительно ночную передачу. - Пересылка по запросу с многократным использованием присланного блоба. Cat2А еще могут электричество отключить. Это гораздо чаще бывает Да не сказал бы, во всяком случае по моей практике. Также в любом случае отметим, что из величин А и А+Б при положительном Б известно, какая больше :) Cat2Планы, прочее.. А слабо наваять прогу, в которой эта документация существовала бы не в виде вордовских документов и bmp-картинок? А слабо не юродствовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 12:28 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
softwarer . >>А слабо не юродствовать? Извините, пожалуйста. На самом деле я давно уже обдумываю прогу по написанию карт технологических процессов. Пока ничего путнего не родил . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 12:36 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
К сожалению, я совершенно некомпетентен в технологических процессах. Употреблять репликацию без необходимости - разумеется, глупость. Имхо - такая же глупость, как и противоположная крайность. Нужно смотреть по требованиям к системе и ее ожидаемому развитию. Скажем, еще один пример - в моем случае телефонные разговоры продавцов с клиентами записывались и складывались в БД. Далее можно было в любой момент воспроизвести его; грубо говоря, диктофон. Имхо полезная фича. Да, безусловно, для уменьшения объема можно было бы посадить машинистку, которая слушала бы линию и быстро-быстро набивала запись беседы. Это вполне позволило бы работать по плохому каналу. Но мне кажется, решение... не совсем технологичное :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 13:40 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
В моей системе без репликации нельзя никак, это аксиома. Вот, например, похожий случай - поисковая система. По сути - та же репликация. Поисковик не может работать в реальном времени из-за болших объемов данных. И для него есть параметр - свежесть индекса. Petro123Вы с какой частостью заходите на страницу новостей для репликации новостей в голове и новостей в БД WWW? Поисковик же как-то решает эту задачу, правильно? Он же использует какие-то механизмы расчета оптимальной репликации веб-страниц или, например, новостей, в свою БД. Он как-то анализирует статистику обновлений и делает предположение по оптимальному графику репликаций. Или все-таки нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 15:59 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
Basch . Поисковик - не пример. Если задать в строке поиска "Голые телки", то что-то получится. Я часто сталкиваюсь с тем, что поисковик дает ссылки на несуществующие страницы. Хотелось бы услышать от АГ, как поисковики работают на самом деле. softwarer. >>Скажем, еще один пример - в моем случае телефонные разговоры продавцов с клиентами записывались >>и складывались в БД. Далее можно было в любой момент воспроизвести его; грубо говоря, диктофон. >>Имхо полезная фича. Я уже давно думаю над такой штукой. Есть головной офис. Есть удаленные подразделения. Головному офису пофиг, что болтала телефонистка или сколько бабок заработал токарь Иванов по наряду №37991-а/бис. Головному офису не нужны детали. Я смутно вижу комплекс баз для оптимального решения этих вопросов. Но это, наверное, отдельная тема для обсуждения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 18:03 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
Cat2Головному офису не нужны детали. Может быть и так. Вообще говоря, есть довольно естественное желание иметь как минимум одну "полную" базу - со всеми деталями. И как эталон, и для "любой отчетности", и для айтишников-эксплуатационщиков. Если ее делать, естественно делать ее в центре. Начиная с какого-то уровня, оказывается, что такую полную БД делать становится тяжело - объемы данных слишком велики. И тут как раз и начинают думать на тему "нужны ли в центре излишние подробности". Вместо равноправных БД появляется иерархия, два-три уровня БД "разных типов", например центр-область-город. Но в обоих случаях передача данных между БД - одна из форм репликации, имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 18:29 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
softwarer Разумется, не хочется нарушать правило о том что любая информация из базы может быть получена единственным путем. Но именно использование репликаций его и нарушают. На мой взгля, это один из способов денормализации. Что может быть оправдано в реальной работе, но только тогда, когда это резко поднимает производительность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 19:01 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
Cat2Разумется, не хочется нарушать правило о том что любая информация из базы может быть получена единственным путем. Хм. Я не слишком ретиво отношусь к этому правилу. Cat2Но именно использование репликаций его и нарушают. На мой взгля, это один из способов денормализации. Что может быть оправдано в реальной работе, но только тогда, когда это резко поднимает производительность. Я бы не стал рассматривать именно так, но в целом - не возражаю против такой постановки вопроса. Разумеется, если репликация не дает значимых преимуществ, использовать ее не следует (как и любой сложный механизм, не дающий явной выгоды). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 20:19 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
Basch Конечно, можно всю базу каждую минуту синхронизировать, Смотря что за репликация. У меня каждые 10 сек распространяются отложенные транзакции с одного сервера на другой. Там все должно быть одинаково с такой периодичночтью, на случай отказа сервака. Это асинхронная репликация. Но бывают вообще синхронные - транзакция либо на всех среврах выполняется, либо нигде. А репликация из филиалов в центральный офис раз в сутки - там требуемая оперативность - три дня. Два дня на выявление и устранение отказов по репликации (админство не строгое системы). Выполнять чаще менее оптимально, ресурсы тратятся, а оно не надо. Реже можно пропустить отказ, а это не допустимо. Поэтому тут говорить о вычислениях опимальности и не приходится, вообще слово оптимальная - лишнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 20:28 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
vadiminfoНо бывают вообще синхронные - транзакция либо на всех среврах выполняется, либо нигде. Вот если честно, смысла именно этой операции я не особо понимаю. Это такое узкое место, что дальше просто некуда, отличный способ остановить работу на всех серверах разом :) Мне для решения этой задачи нравился таки асинхронный метод: посылалась команда вместе с параметрами, которая выполнялась на соответствующем сервере (частно на центральном). Скажем, добавление записи в справочник таким образом гарантировало, что не случится добавление одинаковой по сути записи одновременно на разных серверах с разными ID. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2006, 22:43 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
softwarer Вот если честно, смысла именно этой операции я не особо понимаю. Это такое узкое место, что дальше просто некуда, отличный способ остановить работу на всех серверах разом :) Представьте банк с филиалами в разных городах. И ловкий парень снимает тем или иным способом деньги одновременно в двух городах. И даже не совсем одновременно - асинхронная репликация может отпасть, а операция на каждом сервере выполнится. Он получил вдвое больше. Пусть даже этот пример не реалистичен, но по аналогии моно придумать ситуации. Синхронная репликация безусловно требует супернадежные сети, поэтому редко используется, наверное. Но она должна быть для полноты возможностей. softwarer Мне для решения этой задачи нравился таки асинхронный метод: посылалась команда вместе с параметрами, которая выполнялась на соответствующем сервере (частно на центральном). Смотря какой задачи. В равноправной репликации нет центральных и перефирийных - все равноправны. Например, нуно чтобы юзера в распределенной сети работали совсем не чувствуя распределенности. А асинхронная может отпасть. Если они не сразу хватятся, то восстановление может быть и кропотливым делом. В синхронной проблемы сразу видны. Везде свои минусы и плюсы. У меня второй сервер - типа резервный, поэтому я в случай отпада репликации просто выравню по первому (точнее админ сам или с моей помощью). Был соблазн сделать чтобы юзера с обоими работали и в случае чего даже не заметили, что один отпал (у нас у заказчиков были случаи разрушения серваков, но юзера через 10 мин уже работали со вторым). Но к сожалению нужно админство продвинутое - иначе восстановление в случае отпадов самой репликации серваками напрягает. Теперь труднее сказать какие данные правильные на каждом из серваков. Вот если репликация Ведущий - Ведомый, и на Ведомом тока читают данные с Ведущего, то другое дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2006, 01:07 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
vadiminfoПредставьте банк с филиалами в разных городах. И ловкий парень снимает тем или иным способом деньги одновременно в двух городах. Не представляю себе. См. описанное ниже: в одном из этих городов или в обоих банк пошлет команду "снять деньги" тому серверу, который реально ведет счет этого парня (например, серверу его родного города). Что мы имеем: 1. "Больше чем есть" никто не снимет. 2. Вместо требований к "все сервера онлайн" появляется всего лишь "операция будет выполнена, как только сервер того города окажется онлайн". Пример как раз вполне реальный - например, в моем случае это называлось "отдача со склада в другом городе". vadiminfoСмотря какой задачи. В равноправной репликации нет центральных и перефирийных - все равноправны. Поэтому я и применил термин "соответствующий сервер". Логика выбора "более равного чем другие в конкретном случае" может быть разной, главное, чтобы она была. Два типовых случая: 1. Некоторые операции выполняются только на "условно главном" сервере. Этот условно главный выбирается достаточно произвольно. 2. Некоторые операции выполняются на сервере, соответствующем географической (обычно) привязке данных. То есть обычно обращение к данным X идет с сервера Y; в редких случаях удаленной операции удаленный сервер пересылает на Y команду модифицировать X. "Команда" - термин достаточно условный. Например, в Вашем примере с расходом банковского счета процесс можно построить так: 1. Выписывается расходный ордер (на любом сервере) 2. При необходимости ордер реплицируется на сервер, ведущий счет клиента. 3. Ордеру проставляется статус "выполнен" либо "отказано" с изменением суммы на счете 4. Изменение реплицируется обратно, клиенту выдаются либо не выдаются деньги. vadiminfoВ синхронной проблемы сразу видны. Безусловно. Вопрос в том, что синхронная репликация выдвигает такие требования к каналам связи, что в этом случае становится более естественным работать на одном сервере/кластере без всякой репликации. Да, конечно, можно построить пример, когда "почти все асинхронно, но одна-две ключевых операции могут идти синхронно". Ничего сверхстрашного в этом не будет. Но если мы работаем с "асинхронными" требованиями к каналам, этот подход грозит невозможностью выполнить операцию при проблемах на линии. С асинхронной же схемой как минимум кассир может сказать клиенту: погуляйте часик, если связь восстановится хоть на минуту, ответ будет. vadiminfoУ меня второй сервер - типа резервный, поэтому я в случай отпада репликации просто выравню по первому А почему не просто стендбай? На глаз вроде разница только в возможности выполнять на втором особо сложные отчеты, но зато накладные расходы... vadiminfoТеперь труднее сказать какие данные правильные на каждом из серваков. Я практически не знаю стандартную оракловую репликацию, но имхо из общих соображений тут проблема будет не в определении правильности данных, а в корректности блокировок, в том числе в описанной Вами ситуации - когда ни на одном из серверов данные на самом деле не правильные. Потому что если рассмотреть названный Вами пример, страшно даже не то, что человек получил лишние деньги. Страшно то, что может быть следующий сюжет: - на счете M1 денег на серверах S1 и S2 - на сервере S1 снимают X1 денег, на S2 отправляется апдейт на M1-X1 денег - на сервере S2 снимают X2 денег, на S1 отправляется апдейт на M1-X2 денег - в итоге на S1 M1-X2 денег. На S2 получается M1-X1 денег. Оба числа расходятся, и ни одно не соответствует реально требуемому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2006, 15:16 |
|
||
|
Отптимальная частота репликации
|
|||
|---|---|---|---|
|
#18+
softwarer . Гм. Ситуация с банками - это уже не репликация, а гетерогенный запрос. Давайте не будем путать распределенные транзакции и репликации. Репликация, это когда в какой-то период времени, по расписанию, массово закачивается информация с разных серверов. Я против нее за исключением тех немногих случаев, когда база используется только как храниилище информации. Картинки там всякие и прочие блобы. Да, я знаю, что термин "гетерогенные" применяется обычно к запросам к движкам разной "породы". Но считаю, что он может быть и применим к движкам, на которые могут быть осушествлены распределенные транзакции. Ведь даже одинаковый движок на разных серверах может быть настроен по-разному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2006, 15:58 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33698429&tid=1545284]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
142ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 395ms |

| 0 / 0 |
