Friday 12 August 2016

Apa itu IBM DB2

IBM DB2 adalah produk database server yang dikembangkan oleh IBM. Produk-produk ini mendukung sistem manajemen basis data relasional (relational DBMS), namun belakangan ini sudah mendukung pula sistem manajemen basis data berbasis object-relational (object-relationalDBMS) dan juga non-relational seperti XML.
Saat ini, ada tiga produk utama di keluarga IBM DB2: DB2 untuk Linux, UNIX dan Windows (dikenal juga dengan istilah LUW), DB2 untuk z/OS (mainframe) dan DB2 untuk iSeries (dulu disebut OS/400). Produk keempat, DB2 untuk VM/VSE juga sudah tersedia.

Sejarah

Sejarah DB2 dimulai pada tahun 1970 ketika Edgar F. Codd, peneliti yang bekerja untuk IBM menjelaskan tentang teori basis data relasional. Lalu pada Juni 1970 beliau mempublikasikan sebuah model baru untuk manipulasi data.
Pada tahun 1974, pusat riset IBM di San Jose mengembangkan sistem manajemen basis data relasional (relational DBMS) yang diberi nama System R. System R ini dikembangkan sebagai bentuk implementasi dari konsep model data yang telah dipublikasikan Codd sebelumnya. Kunci utama dari proyek pembangunan System R ini adalah adanya pengembangan terkait SQL. Untuk mengaplikasikan model relasional Codd dibutuhkan bahasa basis data relasional yang dia beri nama DSL/Alpha. Pada saat itu IBM ragu akan potensi yang dimiliki dari ide yang digagas Codd, sehingga meninggalkan proses implementasinya kepada kelompok programmer yang bukan dibawah supervisi Codd, yang kemudian diketahui melanggar beberapa konsep fundamental model relasional yang digagas Codd. Hasilnya adalah Structured English Query Languange atau SEQUEL. Ketika IBM merilis produk basis data relasional pertamanya, mereka menginginkan bahasa yang lebih menjual sebagai sebuah produk komersial, sehingga mengganti nama SEQUEL menjadi nama yang lebih sederhana yakni Structured Query Languange (SQL) untuk membedakannya dari SEQUEL. Akronim SEQUEL dirubah menjadi SQL karena “SEQUEL” merupakan merek dagang yang dimiliki oleh Hawker Siddeley, perusahaan pesawat terbang yang berbasis di UK.
IBM lalu membeli Metaphor Computer Systems untuk membungkus platform SQL dengan antarmuka GUI milik mereka yang sudah digunakan sejak pertengahan 80-an. Secara paralel disamping pengembangan SQL, IBM juga mengembangkan Query by Example (QBE), yakni query languange berbasis grafis yang pertama kali diciptakan.
Produk komersil basis data relasional pertama IBM, SQL/DS, dirilis untuk sistem operasi DOS/VSE dan VM/CMS pada tahun 1981. Pada tahun 1976, IBM merilis Query by Example untuk platform VM dimana antarmuka yang digunakan berbasis tabel dan dapat memproduksi bahasa sintaks linier yang kemudian dapat menjalankan transaction ke basis data relasionalnya. Dikemudian hari fitur QMF dari DB2 yang menghasilkan sintaks SQL dibawa ke DB2 dengan membawa tampilan dan rasa yang sama dari “QBE”.
Nama DB2 atau IBM Database 2, pertama kali diberikan ke DBMS pada tahun 1983 ketika IBM merilis DB2 diatas platform mainframe MVS miliknya.
Ketika Informix Corporation mengakuisisi Illustra dan membuat sendiri database engine milik mereka yakni object-SQL DBMS dengan memperkenalkan Universal Server, baik Oracle maupun IBM ikut serta dengan merubah database engine milik mereka sehingga memiliki kemampuan tambahan object-relational. Pada 2001, IBM membeli Informix Software dan pada tahun berikutnya memasukkan teknologi dari Informix kedalam produk DB2 milik IBM. Sekarang, secara teknis DB2 dapat dipandang juga sebagai object-SQL DBMS.
Selama beberapa tahun perkembangan DB2, DBMS ini secara eksklusif tersedia hanya untuk mainframe IBM. Kemudian IBM membawa DB2 ke platform-platform lainnya, termasuk OS/2, UNIX dan MS Windows Server, lalu Linux (termasuk Linux pada zSeries) dan PDA. Proses ini terjadi sepanjang tahun 1990. Inspirasi untuk versi mainframe dari arsitektur DB2 diperoleh separuhnya dari IBM IMS, yakni sebuah hierarchical database dan bahasa manipulasi basis data khusus, yakni IBM DL/I. DB2 juga disematkan didalam sistem operasi i5/OS untuk IBM System i (iSeries, dulunya AS/400), dan versi untuk z/VSE dan z/VM.
Versi awal dari kode yang nantinya menjadi DB2 LUW (Linux, Unix, Windows) merupakan bagian dari komponen Extended Edition dari OS/2 yang disebut Database Manager. IBM meningkatkan fungsionalitas Database Manager beberapa kali, termasuk menambahkan fungsi basis data terdistribusi yang memungkinkan akses basis data dengan berbagi sumber daya secara remote melalui jaringan LAN. Lalu pada suatu saat IBM mengumumkan bahwa kode pada Database Manager tersebut berkembang menjadi sangat-sangat kompleks, dan memutuskan untuk menulis kembali software tersebut di Toronto Lab. Versi baru dari Database Manager mereka yakni DB2, sama sepertimainframe induknya, berjalan diatas platform OS/2 dan RS/6000, diberi nama DB2/2 dan DB2/6000. Versi lain dari DB2, dengan basis kode yang berbeda, mengikuti konvensi penamaan yang sama (‘/’) dan menjadi DB2/400 (untuk AS/400), DB2/VSE (untuk DOS/VSE) dan DB2/VM (untuk sistem operasi VM). Pengacara-pengacara IBM menghentikan penggunaan konvensi penamaan seperti ini dan memutuskan semua produk dipanggil dengan tambahan “product FOR platform” (contoh: DB2 for OS/390). Iterasi berikutnya dari mainframe dan produk-produk berbasis servernya diberi nama DB2Universal Database (DB2 UDB), nama yang sudah digunakan sebelumnya untuk versi Linux-Unix-Windows, yang kemudian menimbulkan kebingunan kepada para pengguna, versi mana (mainframe atau server) dari DBMS yang dimaksud tersebut. Pada titik ini, versi mainframe dari DB2 dan versi server dari DB2 menggunakan basis kode yang ditulis menggunakan bahasa yang sama sekali berbeda (PL/S untuk mainframe dan C++ untuk server), namun memiliki fungsionalitas yang serupa dan digunakan untuk arsitektur yang sama yakni SQL optimizationStarburst Optimizer.
Selama bertahun-tahun DB2 sudah mengeksploitasi dan melalui berbagai macam peningkatan integrasi hardware, khususnya pada IBM System z dengan fitur seperti Parallel Sysplex Data Sharing. Faktanya, DB2 UDB versi 8 untuk z/OS sekarang membutuhan sistem 64-bit dan tidak dapat dijalankan pada prosessor sebelumnya, dan DB2 untuk z/OS menjaga perbedaan unik dari sisi software dalam rangka memenuhi kebutuhan pelanggan khususnya. Meskipun prioritas utama dari optimasi hardware/software adalah untuk mainframe IBM, pada beberapa point tertentu fenomena optimasi integrasi hardware/software terjadi pula pada platform lainnya karena software engineer dari IBM secara aktif berkolaborasi pula dengan hardware engineer mereka.
Pada pertengahan tahun 1990, IBM merilis implementasi dari clustered DB2 yang diberi nama DB2Parallel Edition, yang awalnya berjalan diatas platform AIX. Edisi ini memungkinkan skalabilitas yang lebih tinggi dengan menggunakan shared nothing architecture, dimana satu basis data besar di partisi kedalam beberapa server DB2 yang berkomunikasi melalui jaringan berkecepatan tinggi. DB2 edisi ini lalu dibuat untuk platform Linux, UNIX, dan Windows (LUW) dan diberi nama DB2 Extended Enterprise Edition (EEE). IBM lalu menggunakan nama Database Partitioning Feature (DPF) untuk produk ini dan menjualnya sebagai add-on untuk produk utama mereka yakni DB2 Enterprise.
Pada pertengahan tahun 2006, IBM mengumumkan “Viper”, yang mana merupakan nama sandi untuk DB2 9 baik untuk platform terdistribusi maupun z/OS. DB2 9 for z/OS diumumkan pertama kali pada tahun 2007. IBM mengklaim bahwa DB2 baru miliknya merupakan yang basis data relasional pertama yang dapat menyimpan data XML secara native. Peningkatan lainnya meliputi hal-hal yang berhubungan dengan OLTP untuk platform terdistribusi, business intelligence/data warehousinguntuk z/OS, fitur self-tuning dan self-managing, penggunaan 64-bit (khususnya untuk penyimpanan virtual pada z/OS), peningkatan performa stored procedure untuk z/OS, dan konvergensi struktur bahasa SQL antara z/OS dan platform terdistribusi.
Pada Oktober 2007, IBM mengumumkan “Viper 2”, yang mana merupakan nama sandi untuk DB2 9.5 pada platform terdistribusi. Ada 3 tema utama pada rilis kali ini, Simplified ManagementBusiness Critical Reliability dan Agile XML development.
Pada Juni 2009, IBM mengumumkan “Cobra” (nama sandi untuk DB2 9.7 untuk LUW). DB2 9.7 menambahkan kompresi data untuk database indexestemporary table, dan large objects. DB2 9.7 juga mendukung native XML data in hash partitioning (database partitioning), range partitioning (table partitioning) dan multi-dimensional clustering. Fitur native XML ini mengijinkan user untuk bekerja langsung dengan XML pada lingkungan data warehouse. DB2 9.7 juga menambahkan beberapa fitur yang membuatnya memudahkan pengguna database oracle untuk bekerja di DB2. Hal ini meliputi dukungan untuk sintaks SQL yang sering digunakan, sintaks PL/SQL, scripting syntax dan tipe data dari Oracle Database. DB2 9.7 juga meningkatkan concurrency model untuk menyamakan perilaku yang umum digunakan oleh pengguna Oracle Database dan Microsoft SQL Server.
Pada Oktober 2009, IBM memperkenalkan rilis kedua mereka di tahun yang sama ketika mereka mengumumkan DB2 pureScale. DB2 pureScale merupakan solusi database cluster untuk platformnon-mainframe, cocok untuk penggunaan Online Transaction Processing (OLTP). IBM menggunakan implementasi data sharing Parallel Sysplex pada mainframe sebagai basis desain dari DB2 pureScale. DB2 pureScale menyediakan arsitektur fault-tolerant dan shared-disk storage. Sistem DB2 pureScaledapat berkembang hingga 128 database server dan menyediakan continuous availability dan load balancing secara otomatis.
Awal 2012, IBM mengumumkan versi berikutnya dari DB2, DB2 10.1 (dengan nama sandi Galileo) untuk Linux, UNIX, dan Windows. DB2 10.1 mengandung beberapa kemampuan manajemen data yang baru meliputi kontrol akses baris dan kolom yang memungkinkan “fine-grained” control dari basis data dan multi-temperature data management yang dapat memindahkan data untuk menghasilkan cost effective storage berdasarkan antara seberapa “hot” atau “cold” data dimaksud (seberapa sering data diakses). IBM juga memperkenalkan kemampuan “adaptive compression” pada DB2 10.1, sebuah pendekatan baru dalam kompresi data pada tabel.
Pada Juni 2013, IBM merilis DB2 10.5 (nama sandi “Kepler”), versi terakhir dari DB2 untuk Linux, UNIX dan Windows. Bersamaan dengan rilis kali ini, IBM mengkombinasikan fungsi-fungsi dan tools yang ditawarkan pada DB2 generasi sebelumnya dan juga InfoSphere Warehouse pada Linux, UNIX dan Windows untuk menciptakan single multi-workload database software. DB2 10.5 memiliki beberapa kemampuan tambahan seperti IBM BLU Acceleration, kumpulan inovasi dari IBM Research and Development Labs untuk akselerasi proses pelaporan dan analisis. IBM BLU Accelerationmengintegrasikan teknologi Dynamic In-Memory (in-memory columnar processing) dengan inovasi lainnya seperti Parallel Vector ProcessingActionable Compression dan Data Skipping. Teknologi DB2pureScale clustered database sekarang benar-benar terintegrasi dengan fungsi DB2 high-availability disaster recovery. Sebagai tambahan, DB2 10.5 juga mendukung update fix pack secara online, yang memungkinkan pengguna untuk melakukan operasi maintenance fix pack pada anggota individu yang menjalankan pureScale cluster dengan efek samping yang minim kepada pengguna. IBM juga menambahkan beberapa fungsionalitas mobile kedalam DB2 10.5. DB2 sekarang mengijinkan pengguna untuk menyimpan dan mengelola objek JSON.

Struktur IBM DB2 Database Server

Objek-Objek IBM DB2 Database Server
Objek-Objek IBM DB2 Database Server
1. DB2 Database
DB2 Database berisikan sekumpulan tabel dan indeks-indeks yang berhubungan dengan tabel-tabel tersebut. Dengan mendefinisikan tabel-tabel dan indeks-indeks dapat membuat sebuah basis data yang khusus. Kita dapat memberikan sebuah nama pada basis data, tabel, dan indeks tersebut, dan dapat melakukan start dan stop sebuah basis data dalam sebuah operasi tunggal. Juga dapat memberikan hak akses ke seluruh obyek yang terdapat dalam basis data.
2. Table Space
Table Space merupakan area penyimpanan yang berisikan satu atau lebih tabel DB2. Secara fisik, sebuah table space berisikan 1 – 64 VSAM entry-sequenced data sets (ESDS) dan dapat berisikan lebih dari 64 gigabytes data. Sebuah table space dibagi lagi  kedalam bentuk page-page. Tiap-tiap page dapat dibaca atau ditulis pada sebuah direct-access storage device (DASD) dalam sebuah operasi tunggal.
Table space dapat berisikan simplepartition, atau segmentedSimple table space berisikan satu atau lebih tabel yang lengkap. Partition table space dibagi dalam unit-unit yang disebut partitions, setiap unit dapat berisikan sebagian tabel. Pembagian tabel ke dalam partisi-partisi berdasarkan atas pendefinisian clustering index untuk tabel tersebut. Hanya satu tabel saja yang dapat disimpan dalampartition table spaceSegmented table space dibagi dalam ukuran segment yang sama. Segment yang diberikan berisikan baris-baris yang hanya berasal dari satu tabel saja. Segmented table spacememberikan peningkatan kinerja melalui simple table space untuk menyimpan banyak tabel karena hanya segment-segment milik sebuah tabel saja yang perlu diproses pada saat tabel dibaca atau dikunci.
Sebuah table space menggambarkan bagian dasar dari DB2 database recovery. Jika sebuah table space berisikan banyak tabel, semuanya akan di-recover menjadi sebuah unit. Pada partition table space, setiap partisi dapat di-recover secara terpisah. Jika diinginkan, keseluruhan basis data dapat juga di-recover menjadi sebuah unit dengan menspesifikasikan nama basis data tersebut daripada menspesifikasikan nama table space selama proses recovery.

Objek-Objek Universal DB2
Objek-Objek Universal DB2
3. Indeks
Sebuah indeks berisikan sekumpulan pointer pada baris dalam sebuah tabel. Terdapat sebuah entry untuk setiap nilai dalam kolom dengan sebuah pointer yang disebut “RID” (Record ID) untuk tiap baris yang berisikan nilai tersebut. Sebuah indeks yang didefinisikan pada sebuah tabel dapat digunakan untuk berbagai macam kebutuhan. Sebagai contoh : sebuah indeks dapat digunakan untuk melakukan pengaksesan data yang lebih efisien dengan mengizinkan individual atau multiple row yang diakses secara langsung bila dibandingkan dengan pembacaan data secara keseluruhan pada sebuah tabel.
Unique index merupakan bentuk khusus dari indeks yang dapat digunakan untuk meyakinkan bahwa tidak terdapat dua baris pada sebuah tabel yang mempunyai nilai yang sama. Cluster index merupakan bentuk lain dari indeks yang dapat digunakan untuk mengontrol urutan pada seuah tabel dimana tabel tersebut disimpan. Cluster index juga dapat menentukan bagaimana baris-baris dibagi dalam partisi-partisi pada sebuah partition table space.
Setiap indeks disimpan pada sebuah area penyimpanan yang disebut index space. Sebuah index space berisikan 1 – 64 VSAM ESDS. Pada saat indeks didefinisikan, DB2 secara otomatis membuat dan mengurus indeks tersebut. Program aplikasi dan pemakai interaktif tidak perlu secara spesifik menentukan penggunaan indeks, kecuali jika ingin melihat perbedaan kinerjanya.
4. Storage Group
DB2 menggunakan storage group untuk mengawasi cara bagaimana data pada DB2 yang secara fisik disimpan pada volume DASD. Sebuah storage group berisikan kumpulan volume DASD yang semuanya harus terletak pada peralatan yang sama jenisnya. Setiap storage group mempunyai nama, dan nama tersebut digunakan untuk menunjuk sebuah table space ke sebuah storage group yang dipilih.
Sebuah simple table space harus disimpan pada sebuah storage group tunggal. Sedangkan partition table space, partisi-partisi yang berbeda dapat disimpan pada storage group yang berbeda. Sebuah index space juga dapat ditentukan pada storage group, dan index space bisa ditentukan pada storage group yang sama atau tidak sesuai dengan tabel yang berhubungan dengan indeks tersebut.
Storage group dibuat oleh system administrator DB2 dengan menggunakan perintah SQL, khususnya fasilitas interaktif seperti SPUFI atau QMF.
5. View
View adalah pilihan data sebelum didefinisikan dimana sebuah aplikasi atau pemakai akan bekerja. Meskipun View digunakan sebagai “TABLE” oleh pemakai, data tetap terletak pada table aslinya.
Pada saat sebuah view mendefinisikan sebuah virtual table yang menggunakan data pada base table, CREATE VIEW tidak perlu menspesifikasikan basis data, storage group, atau pilihan-pilihan lainnya yang berhubungan dengan sebuah tabel fisik. Perintah ALTER tidak dapat digunakan untuk sebuah view; untuk merubah view, view tersebut harus dihapus dan dibuat kembali. Menghapus view hanya mempengaruhi terhadap program yang menggunakan view tersebut; merubah view tidak mempengaruhi tabel-tabel yang digunakan oleh view tersebut.
6. Database Manager Instance
Berisikan gambaran mengenai lingkungan manger basis data sesungguhnya
7. Catalog
Terdiri dari sekumpulan table yang berisikan informasi mengenai seluruh obyek DB2 yang telah didefinisikan. Catalog juga berisikan informasi mengenai otorisasi, recovery dan keterhubungan yang ada di antara table catalog yang berbeda. Hanya dapat dilihat oleh DBA dan pemakai yang diberi izin oleh DBA.
8. DB2 Catalog
• Sekumpulan tabel yang berisi informasi mengenai segala sesuatu yang didefinisikan dalam sistem
• Digunakan oleh DB2 untuk menentukan jalur akses dan mengatur sumber-sumber
• Struktur tabel catalog dibedakan oleh platform
9. Log
Menyimpan semua perubahan terhadap basis data yang ada.
10. DB Configuration File
Mengatur parameter-parameter konfigurasi file-file basis data.

Built-in Data Type DB2

Itulah sedikit pengenalan mengenai IBM DB2 Database Server. Kita akan kupas lebih detail di artikel-artikel berikutnya.


1 comment:

  1. sebelumnya saya ijin posting komentar ya ka,
    semoga kaka diberi kesehatan dan rejeki yang melimpah ya ka :)
    kartu king

    ReplyDelete