Backup Database MySQL Dengan Metode Replikasi


ri32_mysql_backup

Pendahuluan

Setiap organisasi yang memiliki database perlu melakukan aktivitas backup secara periodik. Sebagai bentuk antisipasi jika terjadi sesuatu yang tidak diinginkan. 2 metode yang pernah saya terapkan adalah metode dump file dan metode replikasi.

Metode Dump File .SQL

Metode ini menggunakan script tertentu dan fungsi mysqldump sehingga terbentuk sebuah file dengan penamaan sesuai dengan periode waktu membackup database. Sedangkan untuk penjadwalannya memanfaatkan fasilitas window scheduler. Untuk tutorialnya bisa dibaca di blog berikut ini membuat-jadwal-backup-database-otomatis.

Namun saya menemukan kelemahan dari metode ini. Setelah berjalan beberapa lama file .SQL yang tercipta di PC backup terus terbentuk. bayangkan jika setiap filenya berukuran 2GB dan dibackup setiap hari. Maka perlu setiap minggu dilakukan penghapusan file di PC backup.

Ditambah, jika terjadi kesalahan atau error sistem sehingga perlu adanya tindakan restore database maka kita harus mengupload file database yang telah kita backup sebelumnya. dari pengalaman saya untuk import database jika terdapat field yang menampung jenis data BLOB. saya mengalamasi kesulitan karena didalam field BLOB terdapat karakter tertentu sehingga proses import selalu gagal. Sehingga saya menggunakan metode yang lain yaitu replikasi database.

Metode Replikasi Database

Replikasi database adalah seperangkat teknologi yang digunakan untuk menyalin dan mendistribusikan data dari satu database ke database yang lain. Dan selanjutnya, mensinkronisasikan antar database untuk menjaga konsistensi.

Dalam implementasi metode ini saya masih menggunakan PC backup sebagai SLAVE yang menampung data dari Database Server sebagai MASTER. Namun bedanya data dari master tidak ditampung ke dalam dump file .SQL tapi langsung disimpan ke database lokal yang ada di PC backup.

Dengan menggunakan metode ini, tidak perlu banyak file yang terbentuk dari proses backup database. cukup sediakan satu database lokal yang bertindak sebagai SLAVE. yang menampung data dari MASTER secara periodik. karena data nya sudah di sinkronisasi antar 2 database. Sehingga jika terjadi kerusakan data dapat dengan cepat di import dari SLAVE ke MASTER. untuk tutorialnya bisa dibaca di blog berikut ini synchronize-database-mysql-menggunakan.

Namun saya menemukan kelemahan dari metode ini, jika ternyata terdapat kesalahan data di database server dan databasenya sudah di sinkronisasi dengan database lokal secara periodik. maka jika kita ingin mengimport database di SLAVE ke MASTER datanya telah ikut terkontaminasi.

Penutup

Setiap metode ada kekurangan dan kelebihannya. tinggal kita memilih apakah menggunakan salah satu metode atau menggunakan kombinasi 2 metode.

Sekian artikel dari saya, semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Bogor, 02-04-2018

KangAgus

 

Advertisements

Cara Merubah Booting OS di Linux Mint


Latar Belakang

Di komputer saya menggunakan 2 OS yaitu linux mint dan windows 7. Setiap booting default nya adalah linux sedangkan saya lebih sering menggunakan windows. sehingga saya harus memilih manual Windows sebelum linux terpilih otomatis.

Install GRUB Customizer

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
  1. Login ke linux, Kemudian membuka terminal dan mengetikan baris diatas
  2. Setelah instalasi selesai, cari aplikasi Grub Customizer
  3. Pindahkan posisi windows menjadi paling atas->Move up->Save
  4. Setelah disimpan kemudian restart komputer

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Bogor, 28-09-2017

KangAgus

Manajemen Project dengan Assembla dan Tortoise


ri32-assembla

Latar Balakang

Setelah di artikel sebelumnya saya membahas VisualSVNServer dan TortoiseSVN, sekarang saya coba membahas tentang Assembla dan TortoiseSVN. sebagai alternatif jika kita tidak memiliki server yang bisa di akses secara online. kita bisa menggunakan Assembla sebagai SVNserver online dan TortoiseSVN sebagai aplikasi clientnya.

Cara Menggunakan Assembla

  1. Daftar dan Login ke situs Assembla
  2. Pilih tanda plus warna hijau->New Space
  3. Masukan nama project misalnya ri32-webproject
  4. Buat repository baru misalnya mywebproject
  5. Pilih tipe repository : subversion
  6. Create Repository
  7. Setelah berhasil, maka akan masuk ke halaman project
  8. Kemudian klik menu checkout->copy urlnya misalnya https://subversion.assembla.com/svn/ri32-webproject/

Cara Instalasi TortoiseSVN

  1. Buat folder baru di htdocs misalnya ri32-webproject
  2. Klik kanan di folder tersebut->SVN Checkout
  3. Paste url yang didapat dari assembla dengan menambahkan /trunk
  4. Kemudian klik OK
  5. Masukan username dan password yang sama digunakan saat login ke assembla
  6. Jika berhasil, maka folder project tadi ada centang warna hijau tanda sudah terhubung ke server assembla

Cara Penggunaan 

Untuk penggunaanya sama dengan cara penggunaan pada artikel sebelumnya, bedanya saat commite, maka file sourceode kita diupload dan disimpan di server assembla.

Mengingat Assembla adalah produk yang berbayar maka pasti ada fitur-fitur yang tidak bisa dipakai untuk versi free. teman-teman mungkin bisa mencari alternatif lain diluar sana.

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Bogor, 28-09-2017

KangAgus

Manajemen Project dengan SVNServer dan Tortoise


ri32-svnServer

Latar Belakang

Misalnya kita mempunyai sebuah project web, dan project itu dikerjakan oleh lebih dari 1 orang programmer. maka kita butuh suatu software atau aplikasi yang kita gunakan untuk manajemen source code, sehingga kita bisa mengetahui siapa yang terakhir mengedit file source code, jika ada terjadi kesalahan dalam source code kita dapat mengembalikan ke versi file sebelumnya. dan masih banyak lagi fitur-fitur yang bisa kita explore dan dapat membantu kita dalam proses development.

Menurut wikipedia sendiri definisi SVN atau Subversion adalah suatu perangkat lunak sumber terbuka pengontrol versi yang dapat mengatur proses pengembangan perangkat lunak yang dilakukan oleh suatu kelompok pemrogram yang terpisah menjadi runut dan teratur.

Yang Diperlukan

Untuk menerapkan konsep SVN dalam project, saya biasanya menggunakan VisualSVNServer sebagai aplikasi server tempat pengimpanan source code project dan TortoiseSVN sebagai aplikasi client untuk menghubungkan file di komputer local dengan file yang ada di komputer server.

Dalam project saya biasanya menggunakan istilah lingkungan sandbox dan production. sandbox adalah komputer yang digunakan untuk proses development sedangkan production adalah komputer atau server tempat aplikasi atau sistem kita berada dan digunakan oleh end user. Dibawah ini akan saya jelaskan cara penggunaan 2 aplikasi SVN. kita asumsikan bahwa project kita berbasis website yang disimpan di htdocs, sistem operasi windows, dan menggunakan jaringan LAN.

Cara Instalasi VisualSVNServer

  1. Download VisualSVNServer
  2. Setelah diinstall maka jalankan aplikasinya
  3. Buat user SVN misalnya ri32-dev
  4. Setelah user dibuat, maka buat repositori misalnya ri32-project
  5. Klik kanan repositories->create new repositories->reguler FSFS repository
  6. Beri nama repository->single project repository->all subversion user have read/write access
  7. Klik tombol Create->Finish

 Cara Instalasi TortoiseSVN

  1. Download TortoiseSVN
  2. Setelah di install, maka fungsi-fungsinya akan muncul saat kita melakukan klik kanan disuatu file project
  3. Kemudian kita ke SVNServer->klik kanan nama repository->Copy URL to Clipboard
  4. Buat folder di htdocs misalnya ri32-project
  5. Kemudian klik kanan di folder tersebut->SVN Checkout
  6. Kemudian paste URL tadi dengan menambahkan /trunk misalnya http://client-41:8080/svn/ri32-project/trunk
  7. Setelah itu klik OK
  8. Jika ada kotak login, maka masukan username dan password user SVN yang telah dibuat sebelumnya
  9. Jika berhasil, maka difolder tersebut akan ada tanda ceklis hijau

Cara Menggunakan SVN

  1. Misalnya jika membuat sebuah file index.php di folder ri32-project
  2. Kemudian kita klik kanan folder project->SVN Commit->Check All->OK
  3. Maka file sourcecode kita akan disimpan di aplikasi SVNServer
  4. Jika kita melakukan perubahan ke file index.php maka akan ada tanda seru warna merah pada folder project
  5. Jika perubahan itu sudah fix, maka kita bisa meng commit kembali di folder project atau langsung commit di file index.php tersebut
  6. Jika perubahan itu dilakukan oleh orang lain dan kita ingin mengupdate sourcecode kita, maka klik kanan folder project->SVN Update
  7. Jika ingin mengembalikan project ke versi sebelumnya maka klik kanan folder->TortoiseSVN->Revert
  8. Jika ingin mengembalikan project atau file project ke versi tertentu maka klik kanan->TortoiseSVN->Update to revision

 

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Bogor, 28-09-2017

KangAgus

5 Metode penulisan versi Software


software-417880_640

 

Latar Belakang

Kita sering mengunakan software untuk memberikan solusi dan membantu pekerjaan kita sehari-hari. Software-software tersebut kadang memiliki versi yang menunjukan peningkatan dari fitur atau kemampuannya. Artikel kali ini saya akan sharing informasi mengenai cara penulisan versi software yang memiliki beberapa metode.

1) Metode Tanggal bulan Tahun

Teknik ini dibagi lagi menjadi 3 yaitu metode penulisan tahun saja, tahun -bulan, dan tahun-bulan-tanggal.

Metode Tahun (YYYY)

Metode ini sering dipakai oleh software closed source. Contohnya adalah Tune Up Utilites atau antivirus. Cara ini sangat praktis dan mudah diingat oleh user. Contoh produk beserta versi nya :

  • Microsoft Office 2007
  • Visual studio 2010
  • TuneUp Utilities 2009
  • Microsoft Windows 98

Metode Tahun Bulan (YY.MM)

  • Metode ini dipakai oleh ubuntu. Contohnya adalah ubuntu 13.10.
  • Artinya ubuntu yang dirilis pada tahun 2013 di bulan 10.

Metode Tahun bulan tanggal (yyyy-mm-dd).

  • Metode ini sering dipakai untuk software yang belum stabil, biasanya bisa dirilis kapan saja, bahkan bisa tiap minggu atau tiap hari.
  • Contoh software yang memakai penamaan versi seperti ini adalah Wine di versi versi awal. Misalkan Software Wine 20030118

2) Metode X.Y.Z

Metode ini adalah yang Terpopuler, namun cara ini juga punya banyak variasi. Berikut ini adalah variasinya

Metode X

  • Cara ini menuliskan versi software dengan versi integer. Misalkan versi pertama adalah versi 1, maka versi selanjutnya adalah versi 2.
  • Cara ini sering dipakai oleh Game, Misalkan Game Age Of Empire I, Age Of Empire II, atau BatleField 4, Sim City 2 dan sebagainya.

Metode X.Y

Metode ini cukup populer, Alasan utama, jika setiap rilis software baru, harus naik 1 , maka versi software akan naik dengan sangat cepat. Metode ini juga punya aturan. Misalkan CandralabCMS 1.0, artinya versi tersebut adalah versi pertama. Jika ada perbaikan kecil atau penambahan fitur yang tidak terlalu signifikan, maka versi selanjutnya adalah candralabCMS1.1.

Perubahan poin X terjadi jika ada perubahan besar besaran di software yang menyebabkan tidak kompatibel dengan versi sebelumnya Contohnya adalah Windows. Secara internal, windows memakai metode pemversian seperti ini. Berikut ini adalah daftar versi internal Windows.

  • Windows 5.0 (Windows 2000)
  • Windows 5.1 (Windows XP)
  • Windows 5.2 (Windows 2003)
  • Windows 6.0 (Windows Vista)
  • Windows 6.1 (Windows 7)
  • Windows 6.2 (Windows 8)
  • Windows 6.3 (Windows 8.1)

Microsoft menggunakan dua cara pemversian. Versi internal untuk developer dan versi external seperti Windows Vista untuk user. Perhatikan pola versi internalnya. Tampak bahwa Windows vista,7 dan 8 mempunyai nilai X yang sama yang artinya mereka masih satu keluarga.

Bahasa mudahnya, jika sebuah driver atau software berjalan di vista, maka dijamin (secara teori) akan jalan di Windows 8.1 ). Namun jika sebuah software berjalan di Windows XP, belum tentu akan berjalan di windows vista ketas, kenapa? karena versi Mayor (nilai X nya) sudah berbeda.

Metode X.Y.Z

Metode X.Y.Z punya aturan sbagai berikut

  • X versi Mayor (Perubahan arsitektur/fitur besar besaran)
  • Y versi Minor (Penambahan beberapa fitur )
  • Z versi perbaikan/patch/bugfix. (perbaikan /bugfix,security fix dsb).

Contoh software yang memakai teknik ini adalah Android. Contoh versi android

  • Android 2.2.3
  • Android 2.3.7
  • Android 3.1.1
  • Androdi 4.1.2

Namun, demi alasan pemasaran, versi ini hanya dipakai oleh para Programmer, Android menggunakan teknik penamaan makanan penutup untuk user untuk mempermudah pemasaran. Bagian penamaan seperti ini akan dibahas dibawah.

3) Metode X.Y.Z.P

Aturan dari metode ini adalah

  • X Mayor version
  • Y Minor Version
  • Z Micro Version
  • Patch /build

Software yang menggunakan teknik ini adalah Linux. Mengapa linux sampai menggunakan 4 versi? karena linux adalah proyek yang sangat besar, source codenya saja sampai jutaan baris, makanya perbaikan kode atau security fix ada di point P. Walaupun sudah berumur lebih dari 14 tahun, Versi major Linux baru 3. Contoh versi linux adalah Linux 2.6.39.4.

4) Metode Alpha, Beta, RC , Final

Metode ini tidak bisa berdiri sendiri, biasanya di kombinasikan dengan teknik X.Y.Z atau YY-MM seperti ubuntu. 4 nama diatas adalah fase dalam pengembangan software. penjelasannya adalah sebagai berikut :

  • Alpha Versi awal dari software, baru dicoba di lingkungan internal developer atau perusahaan.
  • Beta versi awal dari software, sudah diperkenalkan untuk umum,namun tidak disarankan dipakai untuk keperluan Produksi karena belum stabil (gampang crash).
  • RC (release candidate) adalah tahapan sebelum rilis, biasanya ditujukan untuk memastikan bahwa software memang sudah stabil, biasanya versi RC tidak jauh berbeda dengan versi finalnya.
  • Final release, Software sudah stabil dan siap dipasarkan atau di rilis untuk pemakai umum.

5) Metode versi dengan pola nama tertentu

Teknik ini biasanya dipakai untuk pemasaran, tujuan utamanya, orang awam non IT mudah mengucapkan dan mengingatnya, 3 Software populer yang menggunakan nama ini adalah Mac OS X, Ubuntu dan Android. Ubuntu menggunakan nama hewan khas Afrika, Mac OS menggunakan nama keluarga kucing dan android menggunakan nama makanan penutup yang manis.

  • Ubuntu Saucy Salamander (Ubuntu 13.10)
  • Ubuntu Raring Ringtail (Ubuntu 13.04)
  • Android Kitkat (Android 4.4)
  • Android Jelly Bean (Android
  • Mac OS X Tiger ( Mac OS X 10.4)
  • Mac OS X Lion (Mac OS X 10.7)

Dari semua contoh diatas, ternyata kebanyakan Programmer menggunakan kombinasi pem-versian software. Tujuan utamanya adalah memudahkan mengingat versi baik untuk developer atau user/consumer. Sekarang giliran anda, Mau pakai metode yang mana?

Referensi :

http://www.candra.web.id/2014/02/20/metode-penulisan-versi-software

Sekian sharing artikel dari saya, Semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Cilangkap, 25-11-2014

GusnaNuri

Tutorial cara dasar menggunakan Pentaho


Latar Belakang

Pada sharing artikel saya sebelumnya, salah satu level integrasi adalah Integrasi data. dan salah satu tools yang banyak digunakan untuk integrasi data adalah Pentaho.

Pentaho Kettle adalah versi community dari  Pentaho Data Integration yang free dan open source.  Tool ini digunakan untuk proses ETL  (Extract, Transform, Load)  dalam  data warehouse.  Selain untuk data warehouse,  software  ini dapat digunakan untuk migrasi data, pembersihan data, preprocessing sebelum mining dan banyak lagi.  Kettle  mudah digunakan (user interface drag-drop),  powerfull tapi fleksibel, dan dirancang untuk dapat menangani data berukuran besar.

Tutorial

http://file.upi.edu/Modul_Praktikum_Pentaho_Kettle.pdf

Berikut Saya sharing sebuah tutorial yang cukup bagus untuk pemula seperti saya yang sedang belajar Pentaho. didalam tutorial tersebut terdapat beberapa pembahasan antara lain :

  • Pertama: Ekspor CSV ke XML
  • Kedua: Filter (Ganti Kata)
  • Ketiga: Output ke database
  • Keempat: Lookup tabel
  • Kelima: Job

Download File Latihan

http://www.4shared.com/zip/Repository.html

Capture

capture-pentaho-ri32-repository

Capture Folder Repository

capture-pentaho-ri32-csv

Capture File CSV

capture-pentaho-ri32-transformation

Capture Transformation

Referensi

http://yudiwbs.wordpress.com

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Cilangkap, 14-12-2013

GusnaNuri

Integrasi Data menggunakan Pentaho


Pentaho adalah kumpulan aplikasi Business Intelligence (BI) yang berkembang dengan pesat dan bersifat free open source software (FOSS) yang berjalan di atas platform Java. Aplikasi-aplikasi Pentaho dikembangkan oleh Pentaho corp yang berpusat di Orlanda, Amerika Serikat.

Selain sifatnya gratis dan adopsi yang semakin hari semakin luas, dukungan Pentaho bisa didapatkan dari Pentaho corp dalam bentuk Service Level Agreement (SLA) dan dipaketkan dalam versi Enterprise Edition yang sifatnya annual subscription atau perlu kontrak tahunan. Selain itu jika Anda tetap menggunakan community edition yang gratis, maka bisa mendapatkan support dari banyak system integrator Pentaho di seluruh dunia termasuk di Indonesia. Berikut ini kumpulan aplikasi pentaho :

1.Pentaho Reporting

  • Adalah aplikasi perancangan Ad Hoc Report di Pentaho. Engine reporting yang bisa di-embed di aplikasi Java.
  • Multi Platform.
  • Dapat mengambil source dari berbagai relational engine. Lihat link berikut untuk database relasional yang didukung oleh Pentaho Reporting.
  • Dapat mengambil source OLAP yang didukung driver OLAP4J seperti Mondrian, SQL Server Analysis Service, PALO Molap, SAP BW, dan lainnya.
  • Memiliki kemampuan mengambil source Pentaho Data Integration step. Ini menjadikan source yang dapat diambil hampir menjadi tidak terbatas.
  • Dilengkapi designer yang intuitif dan koleksi chart yang lengkap untuk keperluan analisa.
  • Output dalam format Format PDF, Excel, HTML dan CSV.

2. Pentaho Analysis / Mondrian OLAP Engine

  • OLAP engine open source terpopuler dan digunakan di berbagai produk BI open source (Pentaho dan Jasper).
  • Multi Platform.
  • Mondrian merupakan tipe ROLAP (Relational OLAP) dimana semua perintah data query diterjemahkan via SQL dan ditujukan kepada datamart.
  • Mendukung datamart dengan rancangan multi dimensional Star Schema maupun Snowflake Schema.
  • Mendukung query MDX (Multidimensional Expression) sebagai standar industri.
  • Didukung oleh beberapa aplikasi interface baik web based maupun desktop seperti JPivot, Pentaho Reporting, Pentaho Analysis Tools, dan Pentaho Analyzer.
  • Semua interface di atas memiliki kemampuan drill down / roll up serta drill through untuk melihat detil penyusun sel-sel nilai analisis.

3. Pentaho Data Integration / Kettle

  • Utilitas ETL (Extract, Transform and Load) open source paling populer.
  • Designer GUI yang intuitif dan sangat mudah digunakan.
  • Multi Platform.
  • Script ETL dapat disimpan dalam bentuk filesystem maupun repository.
  • Mendukung multi pipelining sehingga load balance maupun optimasi pekerjaan data warehouse dapat dilakukan dengan mudah.
  • Mendukung clustering (master-slave) engine ETL
  • Terdiri atas lebih dari 200 steps yang mencakup job (workflow kontrol) dan transformation (data worfklow).
  • Mendukung Apache Virtual Filesystem (Apache VFS) sehingga filesystem seperti HTTP Webdav, FTP, SFTP, dan lain sebagainya dapat dengan mudah diakses dengan konfigurasi yang minimal.

4. Pentaho Data Mining / Weka

  • Utilitas data mining yang sangat populer dan digunakan untuk predictive analysis
  • Multi Platform.
  • Mendukung data sumber / source berformat ARFF (Attribute-Relation File Format), XRRF (XML attribute Relation File Format), CSV (Comma Separated Value), maupun table / view dari relasional database.
  • Mendukung standar PMML (Predictive Model Markup Language).
  • Mendukung data nominal dan numerik (continue maupun discrete).
  • Mendukung algoritma yang cukup banyak untuk operasi dasar data mining seperti Classification, Clustering dan Association. Algoritma tersebut diantaranya adalah J48, M5P, SimpleCart, SimpleKMeans, Apriori, dsbnya.
  • Utilitas grafis yang membantu pengolahan dan pemahaman data mulai dari preprocessing, data visualization dalam bentuk plot maupun curve, tree visualization, dsbnya.

5. Pentaho BI Server / Platform

  • Server BI yang berjalan sebagai web application portal yang terdiri dari layanan web service, workflow pada space JVM (Java Virtual Machine), dan sebagai user interface untuk laporan operasional maupun analisis.
  • Multi Platform.
  • Workflow berupa integrasi dari produk Pentaho yang telah disebutkan sebelumnya (Pentaho Data Integration, Pentaho Reporting, dan Pentaho Analysis) dalam bentuk solution.
  • Scheduler berjalan di atas platform BI ini untuk melakukan proses batching, misalkan mengirim laporan dalam bentuk PDF ataupun Excel secara periodik.
  • Script JSP (Java Server Pages) dapat dengan mudah diintegrasikan ke dalam platform.
  • User dapat memiliki space sendiri untuk menyimpan report dan tipe solution lainnya.
  • Ad hoc report yang bisa digunakan untuk membuat rancangan report on the fly tanpa keterlibatan IT.

Referensi

%d bloggers like this: