Ычан: [d | b / bro / hr / l / m / mi / mu / o / ph / r / s / sci / tran / tu / tv / x | es / vg | au / tr | a / aa / c / fi / jp / rm / tan / to / vn / vo]
[Назад]
Ответ в нить
Имя
Animapcha image [@] [?]
Тема   ( ответ в 13975)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, MP4, OGG, OGV, PDF, PNG, PSD, RAR, SVG, SWF, TXT, WEBM, XCF, ZIP размером до 5000 кБ.
  • Ныне 3467 unique user posts. Посмотреть каталог
  • Максимальное количество бампов нити: 500
145899312954.jpg-(40.62KB, 594×324, splash-water-waves-4559.jpg)
13975
No. 13975    
Я не разбираюсь в математике, информатике и программировании, но меня интересует один вопрос.

Предположим, что есть база данных с миллионом записей. Она находится не на одном узле, а на множестве. Каждый узел должен знать все записи, знать о всем содержимом базы. Для этого на каждом узле должна быть ее копия.

Затем один из узлов хочет изменить базу. Чтобы это сделать, ему нужно изменить все копии. Но он не может изменить копии на других узлах, потому что каждый может изменять только свою копию. Он изменяет ее, и теперь она отличается от других.

Потом изменить базу хочет еще один узел. Для этого ему нужно изменить уже не свою копию, а копию того узла.

Так вот. Как второму узлу узнать, что первый изменил базу?
Развернуть все изображения
No. 13979    
>>13975
Простейшее, но не самое лучшее решение - все изменения проводить только на одном главном узле и рассылать информацию о них на остальные. Если требуется больше надёжности, то используют протоколы распределённых транзакций. Неплохое введение в тему можно найти на http://book.mixu.net/distsys/replication.html
No. 14014    
146026469565.gif-(505.41KB, 600×600, c639fe15d3303bfb9755ad791ac5f357.gif)
14014
Просто оставлю это тут https://ru.wikipedia.org/wiki/Теорема_CAP
Удалить сообщение []
Пароль  
[Mod]