Ronsen's Blog

Menyimpan dalam Bentuk Blob atau File System?

Monday, February 28, 2011

Tulisannya sebelumnya membahas tentang bagaimana menyimpan sebuah berkas pada datastore dalam bentuk tipe blob. Hal ini terpaksa saya lakukan karena memang tidak diberi izin untuk menulis file system. Untuk kasus-kasus yang lain tentunya saya tidak akan menyimpan berkas-berkas (dalam kasus ini dalam bentuk berkas gambar) tersebut ke dalam basis data.

Kerugian yang paling terasa jika menyimpan gambar di basis data adalah semakin besarnya ukuran basis data. Dengan ukuran yang besar seperti ini tentunya sangat kesulitan untuk mem-backup basis data secara berkala. Sedangkan jika gambar-gambar tersebut disimpan dalam file system, proses backup (misalnya menggunakan rsync) berkala tentunya hanya perlu menyimpan berkas-berkas yang baru, tidak perlu melakukannya dari awal lagi.

Kerugian lagi lagi, harus selalu melakukan konversi dari tipe blob ke berkas yang sesuai yang tentu saja akan menambah kerja web server setiap kali ada permintaan. Sedangkan jika disimpan di file system hanya perlu melakukan tautan langsung yang sudah dimengerti browser.

Tetapi tentu saja ada juga keuntungannya yaitu mengatur keamanan pada setiap record data yang jauh lebih mudah dibandingkan jika menyimpan di file system.

Bagaimana Mengunggah File di GAE Menggunakan Play Framework

Sunday, February 27, 2011

Menggunakan Play Framework untuk membangun aplikasi di Google App Engine sangatlah menyenangkan. Karena menggunakan framework tersebut sangat mudah dan didukung oleh editor seperti Eclipse dan NetBeans. Untuk bahasan saat ini, saya menggunakan modul GAE dan Siena untuk persistence-nya.

Sayangnya Google App Engine tidak memperbolehkan menggunakan java.io.File di layanannya sehinggga untuk mengunggah (upload) sebuah berkas (file) agak sedikit berbeda tetapi malah jauh lebih sederhana. Karena berkas-berkas tersebut tidak bisa disimpan di file system App Engine, maka harus disimpan dalam bentuk tipe blob di dalam datastore. Jadi bagimana caranya meng-upload contohnya saja sebuah gambar di aplikasi GAE? Berikut caranya.