26.1. ��ͬ�����ıȽ�

�������̹���ת��

�������̹���ת�Ʊ�����ֻʹ��һ�����ݿ⿽��������ͬ�������� ��ʹ��һ���ɶ�������������ĵ�һ�������С���������ݿ������ʧЧ�� �󱸷���������Թ��ز��������ݿ⣬�ͺ�������һ�����ݿ�����лָ������ˡ� ����һ�ֿ��ٵĹ���ת�ƣ����Ҳ��������ݶ�ʧ��

����Ӳ������������洢�豸�кܳ�����Ҳ����ʹ��һ�������ļ�ϵͳ�� ����Ҫע����Ǹ��ļ�ϵͳӦ������ȫ��POSIX��Ϊ ������ 18.2.2 ������ ���ַ�����һ���ش����������������������ʧЧ���𻵣� ��Ҫ�ͺ󱸷������������޷���������һ������������Ҫ����������ʱ�� �󱸷�������Զ���ܷ��ʹ����洢��

�ļ�ϵͳ�����豸������

����Ӳ�����ܵ�һ���޸İ汾���ļ�ϵͳ���ƣ� �����ж�һ���ļ�ϵͳ�����иı�ᱻ����λ����һ̨������ϵ�һ���ļ�ϵͳ�� Ψһ�������Ǹþ�����̱����ܱ�֤�󱸷�������һ�ݸ��ļ�ϵͳ��һ�µĿ��� — �ر��ǶԺ󱸷�������д����밴�����ػ�����ͬ��˳����С� DRBD������ Linux ��һ�����е��ļ�ϵͳ���Ʒ�����

������־����

�±����ȱ��������ܹ�ͨ����ȡһ��Ԥдʽ��־��WAL�� ��¼����������Ϊ��ǰ״̬�������������ʧЧ�� �󱸷�����ӵ�����������ļ����������ݣ� �����ܹ����ٵر�����µ������ݿ���������������ͬ���Ļ��첽�ģ� ����ֻ�������������ݿ��������

����ʹ�û����ļ�����־���ͣ��� 26.2 ������ �����ƣ����� 26.2.5 ���� �����ߵ������ʵ��һ���󱸷������������ȱ�����Ϣ�ɼ� �� 26.5 ����

���ڴ���������-������

һ����-���������û�����������޸IJ�ѯ���͵����������� ���������첽�ؽ������޸ķ��͸��󱸷�������������������������ʱ�� �󱸷��������Իش�ֻ����ѯ���󱸷����������ݲֿ��ѯ��һ�������ѡ��

Slony-I�����ָ������͵�һ�����ӡ���ʹ�ñ����ȣ� ����֧�ֶ���󱸷���������Ϊ�����첽���º󱸷��������������� �ڹ���ת��ʱ���ܻ������ݶ�ʧ��

�������ĸ����м��

ͨ���������ĸ����м����һ����������ÿһ�� SQL ��ѯ���������͸�һ�������з������� ÿһ�������������ز�������д��ѯ���뱻���͸����з������� ����ÿһ�����������ܽ��յ��κ��޸ġ���ֻ����ѯ���Ա�ֻ���͸�һ���������� ���������������ڷ�����֮��ֲ���

�����ѯ���򵥵���δ���޸ĵع㲥��random()�� CURRENT_TIMESTAMP֮��ĺ����Լ������ڲ�ͬ�������Ͽ����в�ͬ��ֵ�� ������Ϊÿһ��������������ز��������� SQL ��ѯ���㲥���������������޸ĵ��У��� ����ⲻ�ɽ��ܣ��м����Ӧ�ñ����һ����һ��������ѯ������ֵ����Ȼ����Щֵ����д��ѯ�С� ��һ��ѡ���ǽ��������ѡ���һ�ִ�ͳ��-������һ��ʹ�ã� �������޸IJ�ѯֻ�����͸�������������ͨ����-�����ƴ������󱸷������� ������ͨ�������м��������Ҫע����ǣ���������Ҫô�����з������϶��ύ�� Ҫô�����з������϶���ֹ��Ҳ������ʹ�����׶��ύ��PREPARE TRANSACTION ��COMMIT PREPARED����Pgpool-II ��Continuent Tungsten�����ָ������͵����ӡ�

�첽�����ػ�����

���ڲ��ᱻ�������ӵķ���������ʼDZ���Զ�̷��������� ���ַ������������һ����һ����ս��ͨ��ʹ���첽�Ķ����ػ����ƣ� ÿһ�������������������Ҷ���������������ͨ����ȷ����ͻ������ ��Щ��ͻ�������û����ͻ��������������Bucardo �����ָ������͵�һ�����ӡ�

ͬ�������ػ�����

��ͬ�������ػ������У�ÿһ���������ܹ�����д���󣬲�����ÿһ�������ύ֮ǰ�� ���޸ĵ����ݻᱻ��ԭʼ���������͸�ÿһ�������������� ���ص�д����ܵ��¹�����������������ºܲ�����ܡ���ʵ�ϣ� д����ͨ����һ����һ��������Ҫ�㡣��������Ա����͸������������ ijЩʵ��ʹ�ù�������������ͨ�Ÿ��ɡ�ͬ�������ػ�������Ҫ���ڴ��������������õģ� �������Ĵ��ŵ���������������ܽ���д���� — û�б�Ҫ�����������ͺ󱸷�����֮�仮�ָ��أ� ������Ϊ�����޸ı���һ�����������͵���һ���������� �����з�ȷ����������random()�������⡣

PostgreSQL���ṩ���ָ������ͣ� ������Ӧ�ô�����м���п���ʹ��PostgreSQL�����׶��ύ ��PREPARE TRANSACTION��COMMIT PREPARED�� ��ʵ�����ָ��ơ�

��ҵ����

��ΪPostgreSQL�ǿ�Դ�IJ��Һ����ױ���չ�� һЩ��˾�Ѿ�ʹ��PostgreSQL���Ҵ����˴���Ψһ����ת�ơ� ���ƺ͸��ؾ�����������ҵ�Եı�Դ������

�� 26-1�ܽ����������ַ�����������

�� 26-1. �߿��á����ؾ���͸������Ծ���

�����������̹���ת���ļ�ϵͳ����������־�������ڴ���������-�������������ĸ����м���첽�����ػ�����ͬ�������ػ�����
��ͨ�õ�ʵ��NASDRBDStreaming Repl.Slonypgpool-IIBucardo 
ͨ�ŷ���shared diskdisk blocksWALtable rowsSQLtable rowstable rows and row locks
��Ҫ������Ӳ�� 
����������ػ�������    
��������������    
���ȴ���������� with sync off  
���ػ�ʧЧ��������ʧ����with sync on  
�󱸻�����ֻ����ѯ  with hot
ÿ��������    
����Ҫ��ͻ���  

��һЩ�������ʺ����������

���ݷ���

���ݷ��������ֿ������ݼ���ÿ������ֻ�ܱ�һ���������޸ġ����磬 ���ݿ��Ը��ݰ칫�һ��֣����׶غͰ��裬ÿһ���칫����һ���������� �����ѯ�б�Ҫ����׶غͰ�������ݣ�һ��Ӧ�ÿ��Բ�ѯ������������ ���߿���ʹ����/����������ÿһ̨�������ϱ��������칫�����ݵ�һ��ֻ��������

����������в�ѯִ��

�����ĺܶ෽��������������������������ѯ�� ����û��һ������һ����һ��ѯʹ�ö����������������ɡ� ���ַ������������������һ����һ��ѯ�ϲ��������� ��ͨ��ͨ���������ڷ�����֮�仮�ֲ�����ÿһ��������ִ�иò�ѯ���������IJ��֣� Ȼ�󽫽�����ظ�һ�����ķ��������������Ͻ�������ظ��û��� Pgpool-II��������������ͬ����Ҳ����ʹ�� PL/Proxy���߼���ʵ�����ַ�����