BAB 1 I PENDAHULUAN 1.1. Latar Belakang Perkembangan teknologi saat ini sudah sangat pesat dengan data yang berjumlah cukup besar dan juga semakin dibutuhkannya sebuah pengembangan terbarukan untuk mengelola dan mengolah data tersebut. Perkembangan database sangat cepat dan menjadi sangat kompleks untuk ukuran (terabyte menjadi petabyte), variasi (terstruktur, tak terstruktur, dan semi-terstruktur), dan kecepatan (berkembang dengan sangat pesat) [1]. Relational Database Management System atau disingkat RDBMS sudah sering digunakan dalam pengelolaan data. Namun yang dibutuhkan untuk data-data yang dalam jumlah besar tidak hanya dengan relasi saja, untuk itu diperlukan teknologi baru yang dapat mengoptimalan pengelolaan database [2]. RDBMS pun lebih banyak digunakan untuk data terstruktur dibandingkan dengan data semiterstruktur atau data tak terstruktur. Selain itu, RDBMS yang menangani data secara tradisional ini kurang mumpuni dalam hal menangani data dalam volume yang besar serta heterogenitas [3]. Structured Query Languange (SQL) salah satu yang menggunakan RDBMS sebagai basis dalam pengembangannya. SQL sendiri hanya mendukung pengelolaan data terstruktur saja. Untuk data tak terstruktur seperti gambar, suara, maupun video masih belum efektif untuk diimplementasikan dalam SQL Database 1
2 relasional seperti MySQL mempunyai skema berupa ukuran jenis kolom dan nama tabel yang tetap ini membuat database tidak bekerja dengan baik dalam penggabungan tabel di sistem terdistribusi. Selain MySQL terdapat juga sistem model data relasional lainnya seperti Oracle Database, PostgreSQL, MS Server [1]. Not Only SQL atau dengan sebutan lainnya NoSQL merupakan suatu sistem manajemen basis data yang non-relasional dan juga tak terstruktur. Sistem NoSQL saat ini sudah diadopsi di berbagai domain. Sistemnya dikembangkan untuk mendukung aplikasi yang tidak dilayani dengan baik pada sistem yang relasional, yang melibatkan proses Big data [4]. NoSQL memiliki skema database yang dinamis dan umumnya NoSQL memproses data lebih cepat dari database relasional [1]. NoSQL pada dasarnya memberikan keuntungan dari schema-less atau dengan kata lain tidak menggunakan relasional ini untuk mendukung proses data yang terstruktur dan juga tak terstruktur [5]. Keuntungan yang dimiliki oleh NoSQL ini membuat banyak organisasi untuk melakukan migrasi data dari database relasional seperti MySQL ke format database NoSQL. Beberapa vendor besar telah menggunakan NoSQL dalam sistem pengelolaan basis data, seperti Facebook menggunakan Cassandra, Foursquare menggunakan MongoDB, dan juga Google menggunakan Big Table [6]. Pada penelitian ini akan membahas mengenai proses migrasi dari SQL dengan menggunakan MySQL ke NoSQL yakni menggunakan MongoDB. MongoDB mulai diminati karena kehandalannya dalam mengakomodasi data dalam jumlah besar dan berbasis open source. Jika dibandingkan dengan model basis data lainnya, MongoDB memiliki performa yang lebih baik dibandingkan
3 RDBMS seperti MS SQL dalam proses pengaksesan dan manipulasi data dalam jumlah besar [7]. Ada berbagai macam alasan dalam migrasi data dan beberapa alasan yang dapat di sebutkan, yakni: (1) Upgrade versi terbaru dari basis data: dalam hal meningkatkan perangkat lunak di dalam lembaga, termaksud versi terbaru dari basis data, dimana data harus dipindahkan ke basis data baru, (2) basis data yang tidak mencukupi: dalam hal penyimpanan data yang besar, ada kapasitas yang tidak dapat mencukupi atau juga disebut dengan kecepatan basis data, (3) perubahan kebijakan lembaga: dalam hal mengubah keamanan/kesejahteraan atau bentuk lain dari kebijakan lembaga, harus dilakukan peningkatan basis data yang lebih baik, (4) masalah ekonomi dalam lembaga: hal ini menyangkut pencopotan/penarikan iklan dan software basis data yang mahal dan pemasangan open-source serta basis data yang murah sebagai gantinya, (5) menyatukan aplikasi dan basis data: dimana data disatukan dari berbagai macam basis data pada satu basis data yang lebih spesifik untuk memastikan kegunaan dan kemantapan data [21-23]. Beberapa tool Extract, Transform, dan Load (ETL) seperti Informatica, Pentaho, dan Talend telah memiliki fitur untuk melakukan migrasi dari basis data relasional ke MongoDB, akan tetapi fitur-fitur tersebut hanya mengakomodasi proses perpindahan [10]. Perangkat yang digunakan untuk mengakomodasi proses ETL ini ialah dengan menggunakan Pentaho Data Integration/Kettle (PDI/Kettle). PDI/Kettle merupakan salah satu tools dari Pentaho di mana memiliki kemampuan yang dapat diandalkan dalam hal ETL. Desain transform data dapat dilakukan
4 secara visual, dan juga background job untuk mengekstrak data dan membuatnya menjadi tersedia untuk digunakan dalam pelaporan dan analisis [11]. Pengujian yang dilakukan untuk menguji proses migrasi basis data relasional menjadi struktur data berorientasi dokumen ini yakni bagaimana setiap proses tersebut merepresentasikan secara utuh dan konsisten, serta juga membandingkan waktu pengaksesan dari kedua struktur basis data tersebut. Pengujian pada penelitian ini hanyalah menguji waktu pengaksesan query yang dilakukan pada MySQL dan juga pada MongoDB. Berdasarkan pemaparan yang ada, maka proses migrasi dari basis data relasional menjadi model data berorientasi dokumen pada MongoDB dengan menggunakan tool PDI/Kettle ini dapat memberikan solusi untuk pembentukan model data berorientasi dokumen yakni MongoDB berdasarkan basis data relasional yang dibuat pada MySQL. 1.2. Rumusan Masalah Rumusan masalah yang dibuat berdasarkan latar belakang yang telah dipaparkan untuk dikaji dalam penelitian ini, yaitu bagaimana proses migrasi dari basis data relasional (MySQL) menjadi model data berorientasi dokumen (MongoDB) dilakukan sehingga didapatkan hasil dari perbedaan antar kedua model data tersebut.
5 1.3. Tujuan Tujuan dari penelitian ini yakni, sebagai berikut: melakukan perancangan proses migrasi data dari basis data relasional dengan menggunakan MySQL menjadi model data berorientasi dokumen pada MongoDB dengan menggunakan tool ETL pada Pentaho Data Integration/Kettle, dan melakukan pengujian dengan menggunakan waktu pengaksesan query pada MySQL dan MongoDB. 1.4. Manfaat Manfaat dari penelitian ini adalah untuk mengetahui cara melakukan migrasi data dan mengetahui hasil dari perbandingan kedua bentuk perancangan basis data baik itu skema basis data relasional dan juga model data berorientasi dokumen. 1.5. Batasan Masalah Penelitian ini memiliki batasan masalah yaitu sebagai berikut: 1. Penelitian ini tidak membahas proses normalisasi secara keseluruhan karena telah dilakukan pada penelitian sebelumnya. 2. Penelitian ini menggunakan skema basis data relasional pada MySQL dengan hasil keluaran berupa model data berorientasi dokumen yang dihasilkan adalah dengan menggunakan MongoDB.
6 3. Penelitian ini hanya membahas mengenai proses migrasi data tanpa memperhitungkan optimasi waktu proses migrasi. 1.6. Sistematika Penulisan Sistematika penulisan dari penelitian ini terdiri dari lima bab yang juga tersusun dari beberapa sub bab. Berikut ini merupakan sistematika penulisan yang dibuat untuk memberikan gambaran mengenai penelitian ini. Bab 1. Pendahuluan Pada bagian pendahuluan membahas mengenai latar belakang mengapa diadakan penelitian ini yang menghasilkan rumusan masalah, manfaat, tujuan, batasan masalah, dan juga menjelaskan bagaimana sistematika penulisan dari penelitian. Bab 2. Tinjauan Pustaka dan Dasar Teori Pada Bab 2 berisikan tinjauan pustaka dimana diuraikannya penelitianpenelitan sebelumnya serta menghubungkannya dengan penelitian yang dilakukan dan dasar teori yang di dalamnya menjelaskan mengenai basis data relasional, normalisasi, MySQL, NoSQL, MongoDB, dan Pentaho. Bab 3. Metodologi Metodologi berisikan setiap alat dan bahan yang digunakan untuk penelitian, serta menjelaskan setiap rancangan proses migrasi yang dilakukan. Pada setiap rancangan dijelaskan lebih detail lagi bagaimana proses migrasi yang dilakukan serta pengujiannya.
7 Bab 4. Hasil dan Pembahasan Bagian ini berisikan rincian hasil dan pembahasan dari proses migrasi yang dilakukan dalam penelitian ini. Bab 5. Penutup Pada bagian Penutup meruapakan bagian akhir yang menjelaskan apa kesimpulan dan saran yang didapatkan sehingga dapat menjadi rekomendari dari penelitian ini untuk penelitian-penelitian selanjutnya.