25.1. СÑавнение ÑазлиÑнÑÑ ÑеÑений
- ÐÑказоÑÑÑойÑивоÑÑÑ Ð½Ð° ÑазделÑемÑÑ Ð´Ð¸ÑкаÑ
ÐÑказоÑÑÑойÑивоÑÑÑ Ð½Ð° ÑазделÑемÑÑ Ð´Ð¸ÑÐºÐ°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð¸Ð·Ð±ÑÑоÑноÑÑи ÑÐ¸Ð½Ñ ÑонизаÑии пÑÑÑм задейÑÑÐ²Ð¾Ð²Ð°Ð½Ð¸Ñ ÑолÑко одной копии Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . Ðна иÑполÑзÑÐµÑ ÐµÐ´Ð¸Ð½ÑÑвеннÑй диÑковÑй маÑÑив, коÑоÑÑй ÑазделÑеÑÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð½ÐµÑколÑкими ÑеÑвеÑами. ÐÑли оÑновной ÑеÑÐ²ÐµÑ ÐРоÑкажеÑ, ÑезеÑвнÑй ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ð¸ запÑÑÑиÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , ÑÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð²Ð¾ÑÑÑановиÑÑ ÐРпоÑле аваÑии. ÐÑо обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð±ÑÑÑÑое пеÑеклÑÑение без поÑеÑи даннÑÑ .
ФÑнкÑионалÑноÑÑÑ ÑазделÑемого обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑÑно Ñеализована в ÑеÑевÑÑ ÑÑÑÑойÑÑÐ²Ð°Ñ Ñ ÑанениÑ. Так же возможно пÑименение ÑеÑевой Ñайловой ÑиÑÑемÑ; оÑобое внимание ÑледÑÐµÑ ÑделиÑÑ ÑомÑ, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ ÑиÑÑÐµÐ¼Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ ÑооÑвеÑÑÑвовало POSIX (Ñм. ÐодÑаздел 17.2.2.1). СÑÑеÑÑвенное огÑаниÑение ÑÑого меÑода ÑоÑÑÐ¾Ð¸Ñ Ð² Ñом, ÑÑо в ÑлÑÑае оÑказа или поÑÑи ÑазделÑемого диÑкового маÑÑива оба ÑеÑвеÑа: главнÑй и ÑезеÑвнÑй â ÑÑанÑÑ Ð½ÐµÑабоÑими. ÐÑÑÐ³Ð°Ñ Ð¾ÑобенноÑÑÑ â ÑезеÑвнÑй ÑеÑÐ²ÐµÑ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð° не полÑÑÐ°ÐµÑ Ð´Ð¾ÑÑÑп к ÑазделÑемÑм диÑкам во вÑÐµÐ¼Ñ ÑабоÑÑ Ð³Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾.
- РепликаÑÐ¸Ñ Ð½Ð° ÑÑовне Ñайловой ÑиÑÑÐµÐ¼Ñ (блоÑного ÑÑÑÑойÑÑва)
ÐидоизменÑÐ½Ð½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ ÑÑнкÑионалÑноÑÑи ÑазделÑемого обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑедÑÑавлена в виде ÑепликаÑии на ÑÑовне Ñайловой ÑиÑÑемÑ, когда вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñайловой ÑиÑÑеме оÑÑажаÑÑÑÑ Ð² Ñайловой ÑиÑÑеме дÑÑгого компÑÑÑеÑа. ÐдинÑÑвенное огÑаниÑение: ÑÐ¸Ð½Ñ ÑонизаÑÐ¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° вÑполнÑÑÑÑÑ Ð¼ÐµÑодом, гаÑанÑиÑÑÑÑим ÑелоÑÑноÑÑÑ ÐºÐ¾Ð¿Ð¸Ð¸ Ñайловой ÑиÑÑÐµÐ¼Ñ Ð½Ð° ÑезеÑвном ÑеÑвеÑе â в ÑаÑÑноÑÑи, запиÑÑ Ð½Ð° ÑезеÑвном ÑеÑвеÑе должна пÑоиÑÑ Ð¾Ð´Ð¸ÑÑ Ð² Ñом же поÑÑдке, ÑÑо и на главном. DRBD ÑвлÑеÑÑÑ Ð¿Ð¾Ð¿ÑлÑÑнÑм ÑеÑением на оÑнове ÑепликаÑии Ñайловой ÑиÑÑÐµÐ¼Ñ Ð´Ð»Ñ Linux.
- ТÑанÑлÑÑÐ¸Ñ Ð¶ÑÑнала пÑедзапиÑи
СеÑвеÑÑ ÑÑплого и гоÑÑÑего ÑезеÑва могÑÑ Ñак же поддеÑживаÑÑÑÑ Ð°ÐºÑÑалÑнÑми пÑÑÑм ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ñока запиÑей из жÑÑнала изменений (WAL). ÐÑли оÑновной ÑеÑÐ²ÐµÑ Ð¾ÑказÑваеÑ, ÑезеÑвнÑй ÑодеÑÐ¶Ð¸Ñ Ð¿Ð¾ÑÑи вÑе даннÑе Ñ Ð½ÐµÐ³Ð¾ и Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð±ÑÑÑÑо пÑеобÑазован в новÑй главнÑй ÑеÑÐ²ÐµÑ ÐÐ. ÐÑо можно ÑделаÑÑ ÑÐ¸Ð½Ñ Ñонно или аÑÐ¸Ð½Ñ Ñонно, но Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²Ñполнено ÑолÑко на ÑÑовне ÑеÑвеÑа ÐÐ Ñеликом.
РезеÑвнÑй ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñеализован Ñ Ð¿Ñименением ÑÑанÑлÑÑии Ñайлов жÑÑналов (Ñм. Раздел 25.2), или поÑоковой ÑепликаÑии (Ñм. ÐодÑаздел 25.2.5), или Ð¸Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñией. Ðа инÑоÑмаÑией о гоÑÑÑем ÑезеÑве обÑаÑиÑеÑÑ Ðº РазделÑ 25.4.
- ÐогиÑеÑÐºÐ°Ñ ÑепликаÑиÑ
Ð ÑÑ ÐµÐ¼Ðµ Ñ Ð»Ð¾Ð³Ð¸ÑеÑкой ÑепликаÑией ÑеÑÐ²ÐµÑ Ð±Ð°Ð· даннÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑедаваÑÑ Ð¿Ð¾Ñок изменений даннÑÑ Ð½Ð° дÑÑгой ÑеÑвеÑ. ÐÐµÑ Ð°Ð½Ð¸Ð·Ð¼ логиÑеÑкой ÑепликаÑии в Postgres Pro ÑоÑмиÑÑÐµÑ Ð¿Ð¾Ñок логиÑеÑÐºÐ¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ даннÑÑ , обÑабаÑÑÐ²Ð°Ñ WAL. ÐогиÑеÑÐºÐ°Ñ ÑепликаÑÐ¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿ÐµÑеноÑиÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð° ÑÑовне ÑаблиÑ. ÐÐ»Ñ Ð»Ð¾Ð³Ð¸ÑеÑкой ÑепликаÑии не ÑÑебÑеÑÑÑ, ÑÑÐ¾Ð±Ñ Ð·Ð° опÑеделÑннÑм ÑеÑвеÑом закÑеплÑлаÑÑ ÑÐ¾Ð»Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾ или ÑеплиÑиÑÑÑÑего; напÑоÑив, даннÑе могÑÑ Ð¿ÐµÑедаваÑÑÑÑ Ð² ÑазнÑÑ Ð½Ð°Ð¿ÑавлениÑÑ . Ðа дополниÑелÑнÑми ÑведениÑми о логиÑеÑкой ÑепликаÑии обÑаÑиÑеÑÑ Ðº Ðлаве 29. ÐÑполÑзÑÑ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Ð»Ð¾Ð³Ð¸ÑеÑкого декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (Ðлава 48), подобнÑÑ ÑÑнкÑионалÑноÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¿ÑедоÑÑавлÑÑÑ Ð¸ ÑÑоÑонние ÑаÑÑиÑениÑ.
- РепликаÑÐ¸Ñ Ð³Ð»Ð°Ð²Ð½Ñй-ÑезеÑвнÑй на оÑнове ÑÑиггеÑов
ÐбÑÑно в ÑÑ ÐµÐ¼Ðµ ÑепликаÑии на оÑнове ÑÑиггеÑов запÑоÑÑ, изменÑÑÑие даннÑе, пеÑедаÑÑÑÑ Ð²ÑбÑÐ°Ð½Ð½Ð¾Ð¼Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð¼Ñ ÑеÑвеÑÑ. РглавнÑй ÑеÑвеÑ, обÑабаÑÑÐ²Ð°Ñ Ñакие запÑоÑÑ Ð² ÑазÑезе ÑаблиÑ, аÑÐ¸Ð½Ñ Ñонно (как пÑавило) пеÑедаÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð± изменениÑÑ ÑезеÑвнÑм. РезеÑвнÑе ÑеÑвеÑÑ Ð¼Ð¾Ð³ÑÑ Ð²ÑполнÑÑÑ Ð·Ð°Ð¿ÑоÑÑ Ð¿Ð°ÑаллелÑно Ñ Ð³Ð»Ð°Ð²Ð½Ñм и допÑÑкаÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð»Ð¾ÐºÐ°Ð»ÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð»Ð¸ опеÑаÑии запиÑи. ÐÑименение ÑÑого вида ÑепликаÑии ÑаÑÑо позволÑÐµÑ ÑнÑÑÑ Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾ ÑеÑвеÑа нагÑÑÐ·ÐºÑ ÑложнÑÑ Ð°Ð½Ð°Ð»Ð¸ÑиÑеÑÐºÐ¸Ñ Ð·Ð°Ð¿ÑоÑов и запÑоÑов к Ñ ÑанилиÑÑ Ð´Ð°Ð½Ð½ÑÑ Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾ ÑеÑвеÑа.
Slony-I ÑвлÑеÑÑÑ Ð¿ÑимеÑом подобного Ñипа ÑепликаÑии, дейÑÑвÑÑÑей на ÑÑовне ÑаблиÑ, и поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво ÑезеÑвнÑÑ ÑеÑвеÑов. Так как Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° ÑезеÑвнÑÑ ÑеÑвеÑÐ°Ñ Ð¿ÑоиÑÑ Ð¾Ð´ÑÑ Ð°ÑÐ¸Ð½Ñ Ñонно (в пакеÑÐ°Ñ ), возможна поÑеÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð¾Ñказа.
- РепликаÑÐ¸Ñ SQL в ÑÑеднем Ñлое
Ð ÑÑ ÐµÐ¼Ðµ Ñ ÑепликаÑией SQL в ÑÑеднем Ñлое, ÑÑедний Ñлой пеÑÐµÑ Ð²Ð°ÑÑÐ²Ð°ÐµÑ ÐºÐ°Ð¶Ð´Ñй SQL-запÑÐ¾Ñ Ð¸ пеÑеÑÑÐ»Ð°ÐµÑ ÐµÐ³Ð¾ на один или вÑе ÑеÑвеÑÑ. ÐаждÑй ÑеÑÐ²ÐµÑ ÑабоÑÐ°ÐµÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо. ÐодиÑиÑиÑÑÑÑие запÑоÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð½Ð°Ð¿ÑÐ°Ð²Ð»ÐµÐ½Ñ Ð²Ñем ÑеÑвеÑам, ÑÑÐ¾Ð±Ñ ÐºÐ°Ð¶Ð´Ñй из Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑал вÑе изменениÑ. Ðо ÑиÑаÑÑие запÑоÑÑ Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾ÑÑлаÑÑÑÑ ÑолÑко Ð¾Ð´Ð½Ð¾Ð¼Ñ ÑеÑвеÑÑ, ÑÑо позволÑÐµÑ Ð¿ÐµÑеÑаÑпÑеделиÑÑ ÑиÑаÑÑÑÑ Ð½Ð°Ð³ÑÑÐ·ÐºÑ Ð¼ÐµÐ¶Ð´Ñ Ð²Ñеми ÑеÑвеÑами.
ÐÑли запÑоÑÑ Ð¿ÑоÑÑо пеÑенапÑавлÑÑÑ Ð±ÐµÐ· изменений, ÑÑнкÑии подобнÑе
random(),CURRENT_TIMESTAMPи поÑледоваÑелÑноÑÑи могÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ ÑазлиÑнÑе знаÑÐµÐ½Ð¸Ñ Ð½Ð° ÑазнÑÑ ÑеÑвеÑÐ°Ñ . ÐÑо пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð¿Ð¾ÑÐ¾Ð¼Ñ ÑÑо каждÑй ÑеÑÐ²ÐµÑ ÑабоÑÐ°ÐµÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо, а ÑÑи запÑоÑÑ Ð½ÐµÐ¸Ð·Ð±Ð¸ÑаÑелÑнÑе и дейÑÑвиÑелÑно не изменÑÑÑ Ð´Ð°Ð½Ð½Ñе. ÐÑли ÑÐ°ÐºÐ°Ñ ÑиÑÑаÑÐ¸Ñ Ð½ÐµÐ´Ð¾Ð¿ÑÑÑима, или ÑÑедний Ñлой, или пÑиложение Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð¿ÑоÑиÑÑ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ñе знаÑÐµÐ½Ð¸Ñ Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑеÑвеÑа, заÑем иÑполÑзоваÑÑ ÐµÐ³Ð¾ в дÑÑÐ³Ð¸Ñ Ð¿Ð¸ÑÑÑÐ¸Ñ Ð·Ð°Ð¿ÑоÑÐ°Ñ . СледÑÐµÑ Ð¸Ð¼ÐµÑÑ Ð² видÑ, ÑÑо вÑе ÑÑанзакÑии ÑикÑиÑÑÑÑÑÑ Ð¸Ð»Ð¸ пÑеÑÑваÑÑÑÑ Ð½Ð° вÑÐµÑ ÑеÑвеÑÐ°Ñ , возможно Ñ Ð¿Ñименением двÑÑ Ñазной ÑикÑаÑии (Ñм. PREPARE TRANSACTION и COMMIT PREPARED). РепликаÑÐ¸Ñ Ñакого Ñипа ÑеализÑÑÑ, напÑимеÑ, Pgpool-II и Continuent Tungsten.- ÐÑÐ¸Ð½Ñ ÑÐ¾Ð½Ð½Ð°Ñ ÑепликаÑÐ¸Ñ Ñ Ð½ÐµÑколÑкими ведÑÑими
ÐÑли ÑеÑвеÑÑ Ð½Ðµ Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð¿Ð¾ÑÑоÑнно в единой ÑеÑи или ÑвÑÐ·Ð°Ð½Ñ Ð½Ð¸Ð·ÐºÐ¾ÑкоÑоÑÑнÑм каналом, как, напÑимеÑ, ноÑÑбÑки или ÑдалÑннÑе ÑеÑвеÑÑ, обеÑпеÑение ÑоглаÑованноÑÑи даннÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸ пÑедÑÑавлÑÐµÑ Ð¿ÑоблемÑ. Ðогда иÑполÑзÑеÑÑÑ Ð°ÑÐ¸Ð½Ñ ÑÐ¾Ð½Ð½Ð°Ñ ÑепликаÑÐ¸Ñ Ñ Ð½ÐµÑколÑкими ведÑÑими ÑеÑвеÑами, каждÑй из Ð½Ð¸Ñ ÑабоÑÐ°ÐµÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо и пеÑиодиÑеÑки ÑвÑзÑваеÑÑÑ Ñ Ð´ÑÑгими ÑеÑвеÑами Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑликÑÑÑÑÐ¸Ñ ÑÑанзакÑий. ÐонÑликÑÑ Ð¼Ð¾Ð³ÑÑ ÑÑегÑлиÑоваÑÑÑÑ Ð¿Ð¾Ð»ÑзоваÑелем или по пÑавилам Ð¸Ñ ÑазÑеÑениÑ. ÐÑимеÑом Ñакого Ñипа ÑепликаÑии ÑвлÑеÑÑÑ Bucardo.
- Ð¡Ð¸Ð½Ñ ÑÐ¾Ð½Ð½Ð°Ñ ÑепликаÑÐ¸Ñ Ñ Ð½ÐµÑколÑкими ведÑÑими
ÐÑи ÑÐ¸Ð½Ñ Ñонной ÑепликаÑии Ñ Ð½ÐµÑколÑкими ведÑÑими ÑеÑвеÑами каждÑй ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ Ð·Ð°Ð¿ÑоÑÑ Ð½Ð° запиÑÑ, а изменÑннÑе даннÑе пеÑедаÑÑÑÑ Ñ Ð¿Ð¾Ð»ÑÑивÑего Ð¸Ñ ÑеÑвеÑа вÑем оÑÑалÑнÑм, пÑежде Ñем ÑÑанзакÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð´ÑвеÑждена. ÐÑли запиÑÑ Ð¿ÑоизводиÑÑÑ Ð¸Ð½ÑенÑивно, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑовоÑиÑоваÑÑ Ð¸Ð·Ð±ÑÑоÑнÑе блокиÑовки и задеÑжки пÑи ÑикÑаÑии, ÑÑо пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи. ÐапÑоÑÑ Ð½Ð° ÑÑение могÑÑ Ð±ÑÑÑ Ð¾Ð±ÑабоÑÐ°Ð½Ñ Ð»ÑбÑм ÑеÑвеÑом. РнекоÑоÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑиÑÑ Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ ÑÑÑекÑивного взаимодейÑÑÐ²Ð¸Ñ ÑеÑвеÑов пÑименÑÑÑÑÑ ÑазделÑемÑе диÑки. Ð¡Ð¸Ð½Ñ ÑÐ¾Ð½Ð½Ð°Ñ ÑепликаÑÐ¸Ñ Ñ Ð½ÐµÑколÑкими ведÑÑими лÑÑÑе вÑего ÑабоÑаеÑ, когда пÑеобладаÑÑ Ð¾Ð¿ÐµÑаÑии ÑÑениÑ, Ñ Ð¾ÑÑ ÐµÑ Ð±Ð¾Ð»ÑÑой плÑÑ Ð² Ñом, ÑÑо лÑбой ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ Ð·Ð°Ð¿ÑоÑÑ Ð½Ð° запиÑÑ â Ð½ÐµÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи иÑкÑÑÑÑвенно ÑазделÑÑÑ Ð½Ð°Ð³ÑÑÐ·ÐºÑ Ð¼ÐµÐ¶Ð´Ñ Ð³Ð»Ð°Ð²Ð½Ñм и ÑезеÑвнÑми ÑеÑвеÑами, а Ñак как Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑедаÑÑÑÑ Ð¾Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑеÑвеÑа дÑÑгим, не Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ Ð¿Ñоблем Ñ Ð½ÐµÐ´ÐµÑеÑминиÑованнÑми ÑÑнкÑиÑми вÑоде
random().Postgres Pro Enterprise вклÑÑÐ°ÐµÑ ÑаÑÑиÑение
multimaster, ÑеализÑÑÑее ÑÑÐ¾Ñ Ð²Ð¸Ð´ ÑепликаÑии. ÐÑполÑзÑÑmultimaster, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе оÑганизоваÑÑ ÑÐ¸Ð½Ñ ÑоннÑй клаÑÑÐµÑ Ð±ÐµÐ· ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÑеÑÑÑÑов, коÑоÑÑй обеÑпеÑÐ¸Ð²Ð°ÐµÑ ÑаÑÑиÑÑемоÑÑÑ OLTP Ð´Ð»Ñ ÑиÑаÑÑÐ¸Ñ ÑÑанзакÑий, а Ñакже вÑÑокÑÑ ÑÑÐµÐ¿ÐµÐ½Ñ Ð´Ð¾ÑÑÑпноÑÑи Ñ Ð°Ð²ÑомаÑиÑеÑким воÑÑÑановлением поÑле Ñбоев.
ÐозможноÑÑи пÑедÑÑавленнÑÑ Ð²ÑÑе ÑеÑений ÑÑавниваÑÑÑÑ Ð² ТаблиÑе 25.1.
ТаблиÑа 25.1. ТаблиÑа ÑвойÑÑв оÑказоÑÑÑойÑивоÑÑи, баланÑиÑовки нагÑÑзки и ÑепликаÑии
| Тип | РазделÑемÑй диÑк | Репл. Ñайловой ÑиÑÑÐµÐ¼Ñ | ТÑанÑлÑÑÐ¸Ñ Ð¶ÑÑнала пÑедзапиÑи | ÐогиÑеÑÐºÐ°Ñ Ñепл. | ТÑиггеÑÐ½Ð°Ñ Ñепл. | Репл. SQL в ÑÑеднем Ñлое | ÐÑÐ¸Ð½Ñ Ñ. Ñепл. Ñ Ð½. в. | Ð¡Ð¸Ð½Ñ Ñ. Ñепл. Ñ Ð½. в. |
|---|---|---|---|---|---|---|---|---|
| ÐзвеÑÑнÑе пÑимеÑÑ | NAS | DRBD | вÑÑÑÐ¾ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾ÑÐ¾ÐºÐ¾Ð²Ð°Ñ Ñепл. | вÑÑÑÐ¾ÐµÐ½Ð½Ð°Ñ Ð»Ð¾Ð³Ð¸ÑеÑÐºÐ°Ñ Ñепл., pglogical | Londiste, Slony | pgpool-II | Bucardo | ÑаÑÑиÑение multimaster в ÑоÑÑаве Postgres Pro Enterprise |
| ÐеÑод взаим. | ÑазделÑемÑе диÑки | диÑковÑе блоки | WAL | логиÑеÑкое декодиÑование | СÑÑоки ÑаблиÑÑ | SQL | СÑÑоки ÑаблиÑÑ | СÑÑоки ÑаблиÑÑ Ð¸ блокиÑовки ÑÑÑок |
| Ðе ÑÑебÑеÑÑÑ ÑпеÑиалÑного обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ |  | ⢠| ⢠| ⢠| ⢠| ⢠| ⢠| ⢠|
| ÐопÑÑкаеÑÑÑ Ð½ÐµÑколÑко ведÑÑÐ¸Ñ ÑеÑвеÑов |  |  |  | ⢠|  | ⢠| ⢠| ⢠|
| ÐÐµÑ Ð´Ð¾Ð¿. нагÑÑзки на ведÑÑем | ⢠|  | ⢠| ⢠|  | ⢠|  |  |
| ÐÐµÑ Ð·Ð°Ð´ÐµÑжки пÑи неÑколÑÐºÐ¸Ñ ÑеÑвеÑÐ°Ñ | ⢠|  | без ÑÐ¸Ð½Ñ Ñ. | без ÑÐ¸Ð½Ñ Ñ. | ⢠|  | ⢠|  |
| ÐÑказ ведÑÑего ÑеÑвеÑа не Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к поÑеÑе даннÑÑ | ⢠| ⢠| Ñ ÑÐ¸Ð½Ñ Ñ. | Ñ ÑÐ¸Ð½Ñ Ñ. |  | ⢠|  | ⢠|
| СеÑÐ²ÐµÑ Ñеплики пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑиÑаÑÑие запÑоÑÑ |  |  | Ñ Ð³Ð¾ÑÑÑим ÑезеÑвом | ⢠| ⢠| ⢠| ⢠| ⢠|
| РепликаÑÐ¸Ñ Ð½Ð° ÑÑовне ÑÐ°Ð±Ð»Ð¸Ñ |  |  |  | ⢠| ⢠|  | ⢠| ⢠|
| Ðе ÑÑебÑеÑÑÑ ÑазÑеÑение конÑликÑов | ⢠| ⢠| ⢠|  | ⢠| ⢠|  | ⢠|
ÐеÑколÑко ÑеÑений, коÑоÑÑе не подпадаÑÑ Ð¿Ð¾Ð´ ÑказаннÑе вÑÑе каÑегоÑии:
- СекÑиониÑование даннÑÑ
ÐÑи ÑекÑиониÑовании ÑаблиÑÑ ÑаÑÑеплÑÑÑÑÑ Ð½Ð° набоÑÑ Ð´Ð°Ð½Ð½ÑÑ . ÐаждÑй из набоÑов Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½Ñн ÑолÑко на одном ÑеÑвеÑе. ÐапÑимеÑ, даннÑе могÑÑ Ð±ÑÑÑ ÑекÑиониÑÐ¾Ð²Ð°Ð½Ñ Ð¿Ð¾ оÑиÑам, напÑимеÑ, Ðондон и ÐаÑиж, Ñ ÑеÑвеÑом в каждом оÑиÑе. Ð ÑлÑÑае Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи обÑаÑÐµÐ½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð²Ñеменно к даннÑм Ðондона и ÐаÑижа, пÑиложение Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿ÑоÑиÑÑ Ð¾Ð±Ð° ÑеÑвеÑа, или Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ñименена ÑепликаÑÐ¸Ñ Ð³Ð»Ð°Ð²Ð½Ñй-ÑезеÑвнÑй Ð´Ð»Ñ Ð¿ÑедоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð² дÑÑгом оÑиÑе Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из ÑеÑвеÑов.
- ÐÑполнение паÑаллелÑнÑÑ Ð·Ð°Ð¿ÑоÑов на неÑколÑÐºÐ¸Ñ ÑеÑвеÑаÑ
Ðногие из опиÑаннÑÑ Ð²ÑÑе ÑеÑений позволÑÑÑ Ð¾Ð±ÑабаÑÑваÑÑ Ð½ÐµÑколÑко запÑоÑов на неÑколÑÐºÐ¸Ñ ÑеÑвеÑÐ°Ñ , но ни одно из Ð½Ð¸Ñ Ð½Ðµ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð²Ñполнение одного запÑоÑа на неÑколÑÐºÐ¸Ñ ÑеÑвеÑÐ°Ñ , ÑÑо позволило Ð±Ñ ÐµÐ³Ð¾ ÑÑкоÑиÑÑ. Ðанное же ÑеÑение позволÑÐµÑ Ð½ÐµÑколÑким ÑеÑвеÑам обÑабаÑÑваÑÑ Ð¾Ð´Ð¸Ð½ запÑÐ¾Ñ Ð¾Ð´Ð½Ð¾Ð²Ñеменно. ÐÐ»Ñ ÑÑого обÑÑно даннÑе ÑазделÑÑÑÑÑ Ð¼ÐµÐ¶Ð´Ñ ÑеÑвеÑами, ÑеÑвеÑÑ Ð²ÑполнÑÑÑ Ñвои ÑаÑÑи запÑоÑов, вÑдаÑÑ ÑезÑлÑÑаÑÑ ÑенÑÑалÑÐ½Ð¾Ð¼Ñ ÑеÑвеÑÑ, а он, в ÑÐ²Ð¾Ñ Ð¾ÑеÑедÑ, обÑединÑÐµÑ Ð¿Ð¾Ð»ÑÑеннÑе даннÑе и вÑдаÑÑ Ð¸ÑоговÑй ÑезÑлÑÑÐ°Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ. ÐÑо ÑеÑение Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñеализовано Ñ Ð¿Ñименением набоÑа ÑÑедÑÑв PL/Proxy.