[ d ] [ b / cu / dev ] [ r ] [ a / ts ] [ ci ] [ gnx / int ] [ misc ] [ dev / stat ]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог] [Главная]

Файл: splash-water-waves-4559.jpg -(40 KB, 594x324, splash-water-waves-4559.jpg)
40 No.13975  
Я не разбираюсь в математике, информатике и программировании, но меня интересует один вопрос.

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

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

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

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



[ d ] [ b / cu / dev ] [ r ] [ a / ts ] [ ci ] [ gnx / int ] [ misc ] [ dev / stat ]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог] [Главная]