Selasa, 11 November 2014

Merancang Arsitektur Basis Data


  1. Implikasi yang Bersifat Arsitektur Terhadap Backup dan Recovery Diidentifikasi
Implikasi yang bersifat arsitektur terhadap backup dan recovery dapat diidentifikasi dangan melakukan peninjauan ulang terhadap arsitektur basis data yang akan terlihat dari beberapa hal berikut.
1. Kecepatan dan kemudahan
            Basis data memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan / manipulasi terhadap data atau menampilkan kembali data tersebut dengan lebih cepat dan mudah, daripada kita menyimpan data secara manual (non elektronis) atau secara elektronis (tetapi tidak dalam bentuk basis data, misalnya dalam bentuk spreadsheet atau dokumen teks biasa).
           2. Efisiensi ruang penyimpanan
            Karena keterkaitan yang erat antar kelompok data dalam sebuah basis data maka redundansi (pengulangan) data pasti akan selalu ada. Banyaknya redundansi akan memperbesar ruang penyimpanan yang harus disediakan. Dengan basis data, efisiensi penggunaan ruang penyimpanan dapat dilaksanakan. Selain itu, kita dapat melakukan penekanan jumlah redundansi data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi-relasi antar kelompok data yang saling berhubungan.
  
3. Keakuratan
         Pemanfaatan pengkodean relasi antar data bersama dengan penerapan aturan / batasan tipe data, domain data, keunikan data dan sebagainya yanga secara ketat dapat diterapkan dalam sebuah basis data sangat berguna untuk menekan ketidakakuratan penyimpanan data.
  
4. Ketersedia
       Semakin lama dalam pertumbuhan data pasti akan membutuhkan ruang penyimpanan yang semakin besar. Padahal tidak semua data itu selalu kita gunakan. Karena itu kita dapat memilah adanya data utama, data transaksi, data history hingga data kadaluarsa. Data yang sudah jarang kita gunakan dapat kita atur untuk dilepaskan dari sistem basis data yang sedang aktif (menjadi off-line) baik dengan cara penghapusan atau dengan pemindahan ke media penyimpanan off-line. Di sisi lain, karena kepentingan pemakaian data, sebuah basis data dapat memiliki data yang disebar di banyak lokasi geografis.
  
5. Kelengkapan 
        Langkap atau tidaknya data yang kita kelola bersifat relatif. Dalam sebuah basis data, di samping data kita juga harus menyimpan struktur. Untuk mengakomodasikan kebutuhan kelengkapan data yang semakin berkembang maka kita tidak hanya dapat menambah record - record data, tetapi juga dapat melakukan perubahan struktur dalam basis data, baik dalam bentuk penambahan objek baru atau dengan penambahan field-field baru pada suatu tabel.
  
6. Keamanan  
           Memang ada sejumlah aplikasi pengelola basis data yang tidak menerapkan aspek keamanan dalam penggunaan basis data. Tetapi untuk sistem yang besar dan serius, aspek keamanan juga dapat diterapkan dengan ketat. Dengan begitu kita dapat menentukan siapa saja yang boleh menggunakan basis data beserta objek-objek di dalamnya dan menentukan jenis-jenis operasi apa saja yang boleh dilakukannya. 
7. Kebersamaan pemakaian  
            Basis data yang dikelola oleh sistem (aplikasi) yang mendukung lingkungan multiuser, akan dapat memenuhi kebutuhan ini, tetapi tetap dengan menjaga / menghindari terhadap munculnya persoalan baru seperti "inkonsistensi data"
Perancangan adalah langkah pertama dalam fase pengembangan rekayasa produk atau sistem. Perancangan itu adalah proses penerapan berbagai teknik dan prinsip yang bertujuan untuk mendefinisikan sebuah peralatan, satu proses atau satu sistem secara detail yang membolehkan dilakukan realisasi fisik
Perancangan data adalah langkah pertama dari empat kegiatan perancangan dalam rekayasa perangkat lunak. Menurut wasserman, aktivitas utama dalam perancangan data adalah memilih gambaran logik dari struktur data yang dikenali selama fase spesifikasi dan pendefinisian keperluan. Pemilihan ini melibatkan analisis algoritma dari alternatif struktur dalam rangka menentukan perancangan yang paling efisien.
Berikut adalah petunjuk dalam melakukan input data :
1. Kurangi jumlah aksi input yang diperlukan pemakai.
2. Jaga konsistensi antara tampilan informasi dan input data.
3. Bolehkan pemakai melakukan penyesuaian input.
            4. Interaksi harus fleksibel tetapi dapat disetel ke mode input yang disukai pemakai
5. Padamkan perintah yang tidak sesuai dengan aksi saat itu, pemakai mengendalikan aliran  interaksi.
6. Sediakan help untuk membantu aksi semua aksi input.
7. Buang input 'mickey mouse'
  1. Mengidentifikasi dan Menguji Skenario Kegagalan dan Resiko Pengidentifikasian dan pengujian terhadap berbagai skenario kegagalan dan resiko dapat dilakukan dengan memantau situasi sebagai berikut :
1. Pencurian.
2. Kehilangan kerahasiaan.
3. Kehilangan Privacy.
4. Kehilangan integritas.
5. Kehilangan ketersediaan.
Proteksi basis data terhadap ancaman / gangguan melalui kendali yang bersifat teknis maupun administrasi perlu dilakukan. Ancaman / gangguan baik desengaja atau tidak yang merusak sistem sehingga merugikan organisasi dapat berupa :
1. Tangible, yaitu kehilangan / kerusakan hardware, software, data.
2. Intangible, yaitu kehilangan kredibilitas, kehilangan kepercayaan client. Kerusakan sistem basis data dapat mengakibatkan aktivitas terhenti. Lamanya waktu pemulihan basis data bergantung pada berikut ini :
1. Apakah ada hardware dan software alternativf yang dapat digunakan.
2. Kapan backup terakhir dilakukan.
3. Waktu yang diperlukan untuk me-restore sistem.
4. Apakah data yang hilang dapat dipulihkan.
Sikap kerja
1. mengidentifikasi implikasi yang bersifat arsitektur terhadap back up dan recovery.
2. mengidentifikasi dan menguji beberapa skenario kegagalan dan resiko.

    Rabu, 24 September 2014

    MENENTUKAN BASIS DAN PROSEDUR RECOVERY


    A.    Dasar Basis Data Dengan Dan Tanpa Persiapan

    Perancangan basis data merupakan proses menciptakan perancangan untuk basis data yang akan mendukung operasi dan tujuan organisasi. Dalam merancang suatu basis data, digunakan metodologi-metodologi yang membantu dalam tahap perancangan basis data. Metodologi perancangan adalah pendekatan struktur dengan menggunakan prosedur, teknik, alat serta bantuan dokumen untuk membantu dan memudahkan dalam proses perancangan. Dengan menggunakan tehnik metode desain ini dapat membantu dalam merencanakan, mengatur, mengontrol dan mengevaluasi data base development project.
    1.      Conceptual  Database Design
    Conceptual  database design adalah proses membangun suatu model berdasarkan informasi yang digunakan oleh organisasi, tanpa pertimbangan perencanaan fisik.



        Langkah Pertama : membuat local conceptual data model untuk setiap pandangan yang spesifik. Conceptual  data model terdiri atas berikut :

    a.      Entitiy Types
             Entity types adalah kumpulan objek yang mempunyai karakteristik yang sama, dimana telah diidentifikasi oleh organisasi. Entity dapat dibedakan menjadi dua :
    -        Strong entity, yaitu entity yang keberadaannya tergantung dari entity lain.
    -        Weak entity, yaitu entity yang keberadannya tergantung dari entity lain.
    b.     Relationship Types
             Definisi dari Relationship types adalah kumpulan antar entity yang saling berhubungan dan mempunyai arti.
    c.      Attribute Dan Attribute Domains
             Attribute adalah karakteristik dari suatu antity atau relasi. Setiap Attribute diperbolehkan untuk memiliki nilai yang disebut domain. Attribute domains adalah kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih Attribute.
    Ada beberapa jenis dalam Attribute yaitu :
    1.      Simple Attribute dan Composite Attribute
    Simple Attribute adalah Attribute yang terdiri atas komponen tunggal dimana Attribute tersebut tidak dapat dipisahkan lagi. Sedangkan Composite Attribute adalah Attribute yang masih dapat dipisahkan menjadi beberapa bagian.
    2.      Single-Valued Attribute dan Multi-Valued Attribute
    Single-Valued Attribute adalah Attribute yang memiliki satu nilai pada setiap entity. Sedangkan Multi-Valued Attribute adalah Attribute yang mempunyai beberapa nilai pada setiap entity.
    3.      Derived Attribute
    Derived Attribute merupakan Attribute yang nilainya diperoleh dari hasil perhitungan atau dapat diturunkan dari Attribute lain yang berhubungan.


    d.     Primary Key Dan Alternate Keys
    Primary key adalah key yang telah menjadi candidate key yang dipilih secara unik untuk mengidentifikasi suatu entity types. Candidate key adalah kumpulan Attribute minimal yang unik untuk mengidentifikasi suatu entity keys. Alternate key adalah key yang digunakan sebagai alternative dari key yang telah didefinisikan.
    e.      Integrity Constraints
    Adalah batasan-batasan yang menentukan dalam rangka melindungi basis data untuk menghindari terjadinya inconsistent.

    2.      Logical Database Design
    Logical database design adalah proses pembuatan suatu model informasi yang digunakan pada organisasi berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari database management system (DBMS) yang khusus dan pertimbangan fisik lain.


    DBMS adalah software yang memungkinkan pemakai untuk mendefinisi, membuat, memelihara, dan mengontrol akses ke basis data. Fasilitas yang disediakan DBMS yaitu :
    a.      Memperbolehkan user untuk mendefinisikan basis data.
    b.      Memperbolehkan user untuk menambah, mengubah dan menghapus serta mengambil data dari basis data.
    c.      Menyediakan control akses ke basis data. Seperti security, integrity, concurrency control, recovery control system dan user-accessible catalog.
    <original post by>
    </micromuafa.blogspot.com>
    *       Langkah Kedua : membuat dan memvalidasi local logical data model untuk setiap pandangan. Bertujuan untuk membuat local logical data model dari local conceptual data model yang mempresentasikan pandangan khusus dari organisasi dan memvalidasi model tersebut untuk menjamin behwa model tersebut mendukung kebutuhan transaksi.
    Pada perancangan model logical langkah kedua, tahapannya adalah sebagai berikut.
    a.      Menghilangkan Features Yang Tidak Compatible Dengan Model Relasional (Pilihan)
    Bertujuan untuk menghasilkan model yang compatible dengan model relasional, yaitu dengan:
    1.      Menghilangkan many-to-many (*:*) Binary Relationship Types
    2.      Menghilangkan many-to-many (*:*) Recursive Relationship Types
    3.      Menghilangkan Complex Relationship Types
    4.      Menghilangkan Multi-Valued Attributes
    b.      Memperoleh Relasi Untuk Local Logical Data Model
    Bertujuan untuk membuat hubungan logical model yang mewakili entity, relationship dan attribute yang telah didefinisi, mendeskripsikan komposisi tiap hubungan memakai Database Definition Language (DDL) untuk relasi yang diikuti dengan daftar dari relasi attribute yang mudah lalu mengidentifikasikan primary key dan foreign key dari suatu relasi, untuk memperoleh relasi untuk local data model, maka diperlukan penjelasan untuk mendeskripsikan struktur yang mungkin dalam data model saat ini.

    Bahasa dalam basis data dapat dibedakan menjadi dua bentuk yaitu sebagai berikut.
    1)      Data Definition Language (DDL)
    DDL merupakan bahasa dalam basis data yang memungkinkan pengguna untuk membuat atau menghapus basis data, membuat atau menghapus tabeel membuat struktur penyimpanan table, hasil dari kompilasi ddl adalah kumpulan table yang disimpan dalam fila khusus yang disebut dengan kamus data.
    2)      Data Manipulation Language (DML)
    DML merupan bahasa dalam basis data yang memungkinkan pengguna untuk melakukan manipulasi data pada suatu basis data, seperti manambah, mengubah, menghapus data dari suatu basis data.
    c.      Memvalidasi Relasi Dengan Menggunakan Normalisasi
     Dengan menggunakan normalisasi, maka model yang dihasilkan mendekati model dari kebutuhan organisasi, kosisten dan memiliki sedikit redundansi dan stabilitas yang maksimum.
    d.      Memvalidasi Relasi Dengan Transaksi Pengguna
    Bertujuan untuk menjamin bahwa relasi dalam model logical tersebut mendukung user’s requirement specification secara detail. Selain itu juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul saat membuat suatu relasi.
    e.      Mendefinisikan Integrity Constraints
    Bertujuan untuk mendefinisikan integrity constraints yang disampaikan dalam pandangan. Terdapat lima tipe integrity constraints yang harus diperhatikan, yaitu:
    - Require Data
    - Attribute Domain Constrains
    - Entity Ontegrity
    - Referential Integrity
    - Enterprise Constrains
    f.       Melihat Kembali Local Logical Data Model Dengan Pengguna
    Bertujuan untuk menjamin local logical data model dan mendukung daokumentasi yang menggambarkan model yang sudah benar.

    *       Langkah Ketiga : membuat dan memvalidasi global logical data model. Bertujuan untuk menyatukan local logical data model menjadi global logical data model.
    Pada perancangan model logical langkah ketiga, tahapannya adalah sbb.
    a.      Menggabungkan local logical data model menjadi global model
    Pada langkah ini, setiap local logical data model menghasilkan E-R diagram, skema relasional, kamus data dan dokumen pendukung yang mendeskripsikan constrains dari model. Beberapa tugas yang harus dikerjakan adalah sebagai berikut.
    -    Memeriksa kembali nama dan isi dari entities atau relationship dari candidate key.
    -        Memeriksa kembali nama dan isi dari relationship/foreign keys.
    -        Menggabungkan entities atau hubungan local data model.
    -     Mengikutsertakan (tanpa menggabungkan) entities atau relationship yang unik pada tiap local data model.
    -        Menggabungkan relationship atau foreign key dari local data model.
    -    Mengikutsertakan (tanpa menggabungkan) relationship atau foreign key unik pada tiap data model.
    -        Memriksa untuk entities (hubungan) dan relationship atau foreign key.
    -        Memeriksa integrity constraints.
    -        Menggambarkan E-R diagram.
    -        Melakukan update dokumen.
    b.      Memvalidasi global logical data model
    Bertujuan untuk memvalidasi relasi yang dibuat dari global logical data model dengan teknik normalisasi dan menjamin bahwa model tersebt mendukung kebutuhan transaksi.
    c.      Mengecek pertumbuhan yang akan datang
    Bertujuan untum menentukan apakah ada perubahan yang signifikan seperti keadaan yang tidak terduga dimasa mendatang dan menilai apakah model logical tersebut dapat menampung atau menyesuaikan perubahan yang terjadi.
    d.      Melihat kembali global logical data model dengan pengguna
    Bertujuan utntuk menjamin model data logical yang bersifat global telah tepat untuk organisasi.
    3.      Physical Database Design
    Adalah suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan untuk efisisiensi data dan menghubungkan beberapa integrity constraints dan tindakan keamanan.

    *       Langkah keempat : menerjemahkan global logical data model untuk target DBMS. Bertujuan untuk menghasilkan skema basis data relasional dalam global logical data model yang dapat di implementasikan ke DBMS
    Pada perancangan model physical, langkah-langkahnya yaitu :
    a.      Merancang Basis Relasional
    Dalam memulai merancang physical design, diperlukan untuk mengumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical database design. Informasi yang penting bisa didapatkan dari kamus data dan DDL.
    b.      Merancang Representasi Dari Data Yang Diperoleh
    Bertujuan untuk menentukan bagaimana setiap data yang diperoleh mewakili global logical data model ke dalam DBMS.
    c.      Merancang Enterprise Constraints
    Pada langkah ini bertujuan untuk merancang batasan-batasan yang ada pada organisasi.

    *       Langkah kelima : Merancang Representasi Physical
    Bertujuan untuk menetukan organisasi file yang optimal untuk penyimpanan dan menentukan indeks yang dibutuhkan untuk meningkatkan performa.
    Pada langkah kelima ini, langkahnya adalah sebagai berikut :
    a.      Menganalisis Transaksi
              Bertujuan untuk mengerti fungsi dari transaksi yang dijalankan pada basis data dan menganalisa transaksi yang penting
    b.      Memilih File Organisasi
          Bertujuan untuk menyimpan data secara tepat ketempat penyimpanan data
    c.      Memilih Indeks
                 Bertujuan untuk meningkatkan performa dalam suatu system basis data. Salah satu pendekatan untuk memilih organisasi file yang cocok untuk relasi adalah untuk menyimpan tuples yang tidak didsimpan dan dibuat sebanyak secondary indeks sebagaimana yang diperlukan.
    d.      Memperbaiki Kebutuhan Ruang Penyimpanan
                Bertujuan untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan dalam basis data. Perkiraannya didasari pada ukuran setiap table dalam suatu relasi.

    *       Langkah Keenam: merancang pandangan pengguna.
    Bertujan untuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional database application lifecycle.

    *       Langkah Ketujuh : merancang keamanan.
    Dalam sebuah system basis data, keamanan adlah elemen yang sangat penting mengingat isi dari bsis data berupa informasi yang sangat penting.

    *       Langkah Kedelapan : mempertimbangkan pengenalan dan redundasi control.
    Pada langkah physical database design ini mempertimbangkan denormalisasi skema relasional untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logical secara stuktural, konsisten, dan menekan jumlah redudansi.

    *       Langkah Ketsembilan : memonitor dan memasang sitem operasi.
    Bertujuan untuk memonitor system operasi, meningkatkan operasi, meningkatkan performa dan menentukan perancangan sistam yang tepat atau menggambarkan perubahan kebutuhan.

      B. Recovery Basis Data Dilakukan Tanpa Kehilangan Transaksi Yang Penting
    Dalam melakukan Recovery basis data harap dilakukan tanpa kehilangan transaksi yang penting. Dalam melakukan Recovery data maka akan mengembalikan harga suatu data item yang telah diubah oleh operasi-operasi dari transaksi ke harga sebelumnya.
    Informasi pada log digunakan untuk mendapatkan harga lama dari data yang harus di rollback. Hal yang perlu dilakukan pada saat Recovery basis data agar tidak kehilangan transaksi yang penting adalah seperti berikut ini :
    1.  Mengubah update yang sesungguhnya ke basis data sampai transaksi menyelesaikan eksekusinya dengan sukses dan mencapai titik commit.
    2.      Selama eksekusi masih berlangsung update hanya dicatat pada system log dan transaction workspace.
    3.   Setelah transaksi commit dan log sudah dituliskan ke disk, maka update dituliskan ke basis data setelah melakukan restore database, lakukan pengecekan apakah restore database berjalan dengan baik atau tidak.

       Langkah yang perlu dilakukan dalam melakukan pemeriksaan hasil restore database adalah sebagai berikut:
    1.    Buka Enterprise Manager atau Query Analyzer untuk melakukan pengecekan terhadap database yang telah direstore.
    2.  Pastikan dan identifikasi bahwa database hasil restore database tidak error dengan mengecek tabel-tebel di dalamnya satu persatu.
    3.      Jika terdapat error, buat kedalam suatu catatan yang berfungsi sebagai dokumentasi yang dapat dipergunakan kembali dimasa datang jika kemungkinan terjadi error yang sama.
    4.     Setelah pengecekan dilakukan dan diidentifikasi tidak ada error, maka Enterprise Manager atau Query Analyzer dapat ditutup.