Desain Table untuk replikasi

  Hi, sudah lama blog ini tidak saya update, tentu saja alasan paling utama adalah kesibukan. Klise sekali ya, jadi ingat para blogger yang lain, selalu memakai alasan yang sama, sibuk.

Baiklah, topik kita kali ini adalah desain tabel yang akan di pergunakan untuk replikasi. Replikasi data ditempat kita adalah Master to Master, artinya setiap lokasi dapat melakukan update data dan masing masing lokasi akan melakukan sinkronisasi dengan lokasi lainnya. Desain tabel ini berdasarkan pengalaman yang kita miliki selama ini, yaitu :

  • Primary Key
    • Setiap record yang tercatat harus memiliki primary key, yang dapat dipergunakan untuk identifikasi unik record tersebut. Tingkat ke-unik-annya harus mempertimbangkan kode lokasi dan kode perusahaan.
    • Dengan pertimbangan di atas, pada saat replikasi, kita yakin bahwasannya data setiap record itu adalah unik, tidak akan mungkin tercampur / bertabrakan dengan data dari lokasi lainnya.
    • Contoh primary key nya :
      • A1   : A untuk kode lokasi, 1 untuk no urut data
      • XA1 : X untuk kode perusahaan, A untuk kode lokasi, 1 untuk no urut data.
  • Tanggal Pembuatan
    • Kita harus mencatat juga kapan record tersebut di catat di dalam tabel. Umumnya kita kombinasikan dengan constraint DEFAULT.
    • Contoh untuk Postgresql dan Oracle :
      • created_date timestamp default NOW()
      • created_by numeric(8)
  • Tanggal Perubahan
    • Kita juga harus mencatat kapan record tersebut berubah/diubah di dalam tabel. Pencatatannya dilakukan pada saat kita menjalankan perintah UPDATE atau REPLACE.
    • Contoh untuk Postgresql dan Oracle :
      • modified_date timestamp
      • modified_by numeric(8)

ID yang unik adalah suatu keharusan, sementara untuk tanggal Pembuatan dan perubahan sebagai data pendukung terhadap status record tersebut. Tentusaja data pendukungnya dapat bertambah sesuai kebutuhan, tetapi kolom kolom yang diatas itu adalah keharusan di tempat kita. Jadi standard DDL untuk tabel yang akan di replikasi seperti berikut :

<!-- Center Pane -->
Create Table Master_tbl
( id varchar(16),
  ...
  ...
  created_date timestamp default NOW(),
  created_by numeric(8),
  modified_date timestamp,
  modified_by numeric(8),
  contraint master_tbl_pk primary key (id)
);

Bagaimana dengan teman teman ?

Author: Nareswara

Ordinary People with eye glasses

4 thoughts on “Desain Table untuk replikasi”

  1. salam kenal mas,

    saya baru kenal dengan replikasi bucardo, disini saya mau membuat master-master,
    misalnya database A & database B, database B merupakan dumping dari database A yang hanya schema nya saja, jadi database B merupakan database yang tidak ada datanya, apakah dengan seperti ini jika saya lakukan sync , database B akan men-copy semua data database A ?

    Terimakasih,

  2. Selamat pagi, salam kenal. Minta tolong bantuan pemikiran untuk replikasi database postgresql. saya punya 7 server database yang terpisah di masing-masing gedung, 7 server ini diinginkan memiliki data dan struktur yang sama karena penggunaanya untuk keperluan yang sama. setiap server ini diakses client di masing-masing gedung.

    kondisi eksisting, 7 server ini memiliki struktur yang sama tapi datanya masih berbeda-beda, server ini berbasis windows.

    tolong bantuanya, bagaimana melakukan replikasinya, jadi kalau salah satu server terisi otomatis 6 server lainnya ikut terisi dengan data yang sama.

    terima kasih.

Leave a Reply

Your email address will not be published. Required fields are marked *