|
Тема |
Re: MySQL & distributed Transactions [re: salle] |
|
Автор | OracleDBA (Нерегистриран) | |
Публикувано | 18.10.02 14:38 |
|
|
Мисля, че първо базата данни трябва да е разпределена. Това просто е мрежа от няколко бази данни (възли на базата), разположени на една или повече машини. Едно приложение може да има достъп до няколко от тези бази и да update-ва данните им.
Разпределената транзакция включва оператори, които влияят на данните върху повече от един възел на разпределената база (може да включва и оператори, които действат само върху локалната база).
Базата трябва да гарантира, че всички оператори, разпределени и неразпределени, едновременно се commit-ват или се rollback-ват (езикът ми е ужасен, но...). И това трябва да е невидимо за всички други транзакции на всички възли. Oracle (а вероятно и всеки, който иска да реализира разпределена база) въвеждат тук механизма на двуфазния commit. Т.е. commit се разделя на две: commit по възлите и след това синхронизиране на възлите помежду им.
Изобщо нищо в релационните бази не е тривиално. А за разпределените бази и, съответно, разпределените транзакции - да не говорим. Направо не ми го побира умът.
Така че си мисля, че ако някъде бъдат реализирани разпределени транзакции, това ще бъде събитие, за което ще се говори много.
И накрая. Наскоро един приятел ми каза какво е възражението на IBM срещу разпределената обработка: Ако Господ искаше разпределена обработка, казват те, щеше да постави мозъка ни в пръстите.
|
| |
|
|
|