Data Movement and Distribution
Loading and Unloading Data
Salah satu cara paling sederhana
untuk DBA untuk memindahkan data dari satu tempat ke tempat lain adalah dengan
menggunakan memuat dan membongkar utilitas yang datang dengan DBMS. Utilitas
LOAD digunakan untuk mengisi tabel dengan data baru, dan utilitas UNLOAD
digunakan untuk membaca data dari meja dan memasukkannya ke dalam sebuah file
data.
The LOAD Utility
Sebuah utilitas LOAD digunakan
untuk melakukan penyisipan massal dari data ke dalam tabel database. Hal ini
biasanya dapat mendukung
•
Menambahkan baris ke tabel, mempertahankan data saat ini, atau
• Mengganti
semua baris yang ada dengan data baru.
Ketika loading data, DBA harus
memperhitungkan banyak faktor untuk memastikan sukses. Adalah LOAD utilitas
restartable dalam acara itu gagal? Meskipun dibutuhkan lebih banyak waktu untuk
menerapkan proses load restartable, lebih mudah untuk mendukung. Untuk proses
load menjadi restartable, DBA harus memastikan bahwa setiap berkas kerja yang
digunakan dialokasikan dan utilitas LOAD dapat me-restart dari mana ia
tinggalkan. Jika
Utilitas LOAD tidak restartable dan
terjadi kesalahan yang menghentikan proses beban, DBA harus memilih satu dari
dua pilihan:
1. Untuk
menghapus data yang telah dimuat, dan mulai lagi dari awal, atau
2. Untuk menentukan apa yang sudah dimuat dan menghapus catatan-catatan
dari input data file yang sedang dimuat.
Describing the Input File
Menggunakan utilitas LOAD untuk
mengisi tabel membutuhkan file input yang berisi data. DBA harus menentukan
tata letak file input ke utilitas LOAD untuk memungkinkannya untuk
menerjemahkan data mentah menjadi format yang dibutuhkan untuk penyimpanan
dalam database. Hal ini biasanya dilakukan dengan menetapkan tipe data dari
setiap kolom bersama dengan awal dan posisi akhir dalam file di mana data yang
ada. Beberapa utilitas LOAD juga menyediakan format tertentu yang dapat dimuat
dengan spesifikasi terbatas seperti file dipisahkan koma atau file yang dibuat
menggunakan UNLOAD atau utilitas EKSPOR.
Utilitas LOAD harus mampu menangani
nulls. Nulls biasanya ditangani dengan byte indikator dan klausul khusus untuk
memeriksa byte itu. Sebagai contoh, utilitas LOAD bisa menetapkan klausul
seperti :
LOAD .
. . STATUSPOSITION (20:25) CHAR(6) NULLIF(26)='F' . . .
Efficient Loading
Hal ini biasanya ide yang baik untuk membuat semua indeks
diperlukan sebelum loading data ke dalam tabel. Utilitas LOAD biasanya lebih
efisien dalam mengisi indeks selama proses beban daripada membuat indeks baru
untuk meja penuh diisi. Tentu saja, DBA harus memverifikasi ini menjadi kasus
untuk DBMS dan versi yang digunakan.
Jika utilitas LOAD mampu melakukan tugas secara paralel, DBA harus
mengambil keuntungan dari ini ketika sejumlah besar data sedang dimuat.
Utilitas LOAD mungkin mampu menerima beberapa file masukan untuk memuat
bersamaan ke dalam segmen yang berbeda atau partisi meja, atau mungkin mampu
membangun beberapa indeks secara paralel daripada membangun masing-masing
secara berurutan. Operasi paralel seperti ini dapat meningkatkan jumlah CPU
yang diperlukan untuk memuat data sekaligus mengurangi waktu yang telah berlalu
keseluruhan untuk LOAD untuk menjalankan.
The UNLOAD Utility
Informasi dalam tabel database sering harus dipindahkan atau
disalin ke lokasi lain. Sebagai contoh, Anda mungkin ingin memindahkan data ke
database yang berbeda, dari tabel ke file sekuensial untuk pengolahan
eksternal, atau mungkin ke sistem database relasional atau platform lain.
Database tertentu memerlukan perubahan skema objek database yang akan turun dan
diciptakan-dan ketika objek dijatuhkan, begitu juga data. Oleh karena itu, Anda
perlu untuk membongkar data sebelum membuat perubahan objek database. Mungkin
Anda hanya ingin mengekstrak subset dari baris dari tabel untuk digunakan
sebagai data uji. Bahkan untuk membenahi objek database biasanya membutuhkan
data yang akan diturunkan, dioptimalkan, kemudian reloaded.
Tujuan dari utilitas UNLOAD adalah untuk membaca data dari
database dan menulis ke file output data. Tanpa utilitas UNLOAD, pengguna
database terpaksa menggunakan pernyataan SQL SELECT yang dikeluarkan oleh
fasilitas interaktif SQL, laporan penulis, atau program aplikasi untuk
membongkar data. Namun,
metode ini rawan kesalahan dan lambat untuk sejumlah besar data.
Selain itu, membutuhkan pengembang untuk kode program aplikasi untuk membuat
file terlalu tidak fleksibel dan memakan sebagian besar kebutuhan untuk
database produksi waktu. Dengan demikian, banyak DBMSs menyediakan utilitas
UNLOAD untuk memberikan kemampuan kecepatan tinggi dan fleksibilitas untuk
melakukan sebagian besar tugas data pergerakan massal yang dilakukan oleh DBA.
EXPORT and IMPORT
Mirip dengan utilitas UNLOAD,
sebuah utilitas EKSPOR membaca data dari meja dan menempatkannya ke file
eksternal. Utilitas IMPOR akan membaca file eksternal yang dibuat oleh utilitas
EKSPOR dan memasukkan data ke dalam tabel.
Impor dan ekspor fasilitas biasanya
bekerja sama dengan lebih dari sekedar data, meskipun. Kadang-kadang file data
EKSPOR berisi skema untuk meja bersama dengan data. Dalam kasus tersebut,
utilitas IMPOR dapat membuat tabel dan mengimpor data menggunakan hanya file
data EKSPOR. Kadang-kadang file EKSPOR berisi lebih dari hanya satu meja.
Beberapa fasilitas EKSPOR memungkinkan DBA untuk menentukan tabel tunggal, dan
kemudian ikuti hubungan untuk tabel yang untuk mengekstrak semua file yang
terkait dan data.
Beberapa fasilitas IMPOR / EKSPOR
menyediakan fitur UNLOAD seperti untuk sampel, bagian, dan membatasi data yang
diekspor (dan impor). Bedanya, meskipun, adalah kemampuan untuk melakukan
fungsi-fungsi seperti di beberapa tabel dan memelihara data referentially utuh.
Tidak setiap DBMS menawarkan impor
dan ekspor utilitas. Beberapa vendor pihak ketiga (terutama Princeton Sc)
menyediakan produk impor dan ekspor.