Insert / Update di Kettle

117 views
Skip to first unread message

Christian Koencoro

unread,
Jan 12, 2009, 11:33:20 PM1/12/09
to penta...@googlegroups.com
Dear Bung Feris,

Saya ingin bertanya tentang cara insert / update yang efisien dan cepat..
Saya mempunyai problem update yang lambat menggunakan component insert / update di Kettle, hanya 2 row per second yg diupdate..
Pernah saya cron transformation untuk update jam 9 malam, tapi sampai besoknya jam kerja dimulai pun masi belum selesai..
Rata2 data yang akan diupdate ratusan ribu sampai jutaan, jika update nya 2 row per second rasanya sehari pun ga akan selesai..
Saat ini saya masih menggunakan cara update dengan inisialisasi (ditruncate kemudian dimasukkan data inisialisasi yang baru)..
Apakah ada cara insert / update yang lebih baik ?

Terima kasih banyak  =)

Best Regards,

Christian






Berselancar lebih cepat dan lebih cerdas dengan Firefox 3!

Andreas

unread,
Jan 13, 2009, 12:02:26 AM1/13/09
to Pentaho User Group - Indonesia
Dear Bung Christian,

Bisa coba menggunakan looping.
Bahannya sudah pernah di bahas di thread ini:
http://groups.google.com/group/pentaho-id/browse_thread/thread/470984bb4db7e977

Regards,
Andreas

Christian Koencoro wrote:
> Dear Bung Feris,
>
> Saya ingin bertanya tentang cara insert / update yang efisien dan cepat..
> Saya mempunyai problem update yang lambat menggunakan component insert / update di Kettle, hanya 2 row per second yg diupdate..
> Pernah saya cron transformation untuk update jam 9 malam, tapi sampai besoknya jam kerja dimulai pun masi belum selesai..
> Rata2 data yang akan diupdate ratusan ribu sampai jutaan, jika update nya 2 row per second rasanya sehari pun ga akan selesai..
> Saat ini saya masih menggunakan cara update dengan inisialisasi (ditruncate kemudian dimasukkan data inisialisasi yang baru)..
> Apakah ada cara insert / update yang lebih baik ?
>
> Terima kasih banyak =)
>
> Best Regards,
>
> Christian
>
>
> Jatuh cinta itu seperti apa ya rasanya? Temukan jawabannya di Yahoo! Answers! http://id.answers.yahoo.com

Christian Koencoro

unread,
Jan 13, 2009, 12:04:16 AM1/13/09
to penta...@googlegroups.com
O iya, sebagai info database yg saya gunakan postgresql 8 dan kettle yg digunakan versi 3.0.2..
Efisiensi updatenya mungkin tergantung jumlah datanya..
Kalo jumlah datanya ratusan ribu, updatenya bisa >= 5 row per second..
Kalo jumlah datanya mencapai jutaan, updatenya <= 2 row per second..


Dari: Christian Koencoro <sie_ci...@yahoo.com>
Kepada: penta...@googlegroups.com
Terkirim: Selasa, 13 Januari, 2009 11:33:20
Topik: [pentaho-id] Insert / Update di Kettle


Ada Naruto, Sandra Dewi dan MU di .

Christian Koencoro

unread,
Jan 13, 2009, 12:11:23 AM1/13/09
to penta...@googlegroups.com
Dear Bung Andreas,

Thx buat reply nya..
Tampaknya saya melewatkan topik yang ini..
Ok, akan saya pelajari dulu dan saya akan posting lagi perkembangannya..

Terima kasih banyak

Best Regards,

Christian K


Dari: Andreas <andrea...@aig.com>
Kepada: Pentaho User Group - Indonesia <penta...@googlegroups.com>
Terkirim: Selasa, 13 Januari, 2009 12:02:26
Topik: [pentaho-id] Re: Insert / Update di Kettle

Lebih bergaul dan terhubung dengan lebih baik.
Tambah lebih banyak teman ke Yahoo! Messenger sekarang!

Andreas

unread,
Jan 13, 2009, 12:25:59 AM1/13/09
to Pentaho User Group - Indonesia
Bung Christian,

Boleh tau jumlah column nya ada berapa banyak?
Saya pernah menjalankan transformasi kettle dengan koneksi yang
bermasalah, tapi itu-pun tranfer rate-nya mencapai 300-an/second.
Kalau cuma 2-5 record / second sih lambat banget.

Mungkin kalau dalam kasus anda, disebabkan karena jumlah column yang
terlalu banyak atau karena terjadi casting tipe variable yang terlalu
banyak dalam transformasi-nya.

Regards,
Andreas

On Jan 13, 12:11 pm, Christian Koencoro <sie_cien_...@yahoo.com>
wrote:
> Dear Bung Andreas,
>
> Thx buat reply nya..
> Tampaknya saya melewatkan topik yang ini..
> Ok, akan saya pelajari dulu dan saya akan posting lagi perkembangannya..
>
> Terima kasih banyak
>
> Best Regards,
>
> Christian K
>
> ________________________________
> Dari: Andreas <andreas.tj...@aig.com>
> Kepada: Pentaho User Group - Indonesia <penta...@googlegroups.com>
> Terkirim: Selasa, 13 Januari, 2009 12:02:26
> Topik: [pentaho-id] Re: Insert / Update di Kettle
>
> Dear Bung Christian,
>
> Bisa coba menggunakan looping.
> Bahannya sudah pernah di bahas di thread ini:http://groups.google.com/group/pentaho-id/browse_thread/thread/470984...
>
> Regards,
> Andreas
>
>
>
> Christian Koencoro wrote:
> > Dear Bung Feris,
>
> > Saya ingin bertanya tentang cara insert / update yang efisien dan cepat..
> > Saya mempunyai problem update yang lambat menggunakan component insert / update di Kettle, hanya 2 row per second yg diupdate..
> > Pernah saya cron transformation untuk update jam 9 malam, tapi sampai besoknya jam kerja dimulai pun masi belum selesai..
> > Rata2 data yang akan diupdate ratusan ribu sampai jutaan, jika update nya 2 row per second rasanya sehari pun ga akan selesai..
> > Saat ini saya masih menggunakan cara update dengan inisialisasi (ditruncate kemudian dimasukkan data inisialisasi yang baru)..
> > Apakah ada cara insert / update yang lebih baik ?
>
> > Terima kasih banyak  =)
>
> > Best Regards,
>
> > Christian
>
> >       Jatuh cinta itu seperti apa ya rasanya? Temukan jawabannya di Yahoo! Answers!http://id.answers.yahoo.com
>
>       ___________________________________________________________________________
> Dapatkan alamat Email baru Anda!
> Dapatkan nama yang selalu Anda inginkan sebelum diambil orang lain!http://mail.promotions.yahoo.com/newdomains/id/

Andreas

unread,
Jan 13, 2009, 12:39:21 AM1/13/09
to Pentaho User Group - Indonesia
Maap ralat. transfer ratenya 30-40 an record /second.

Regards,
Andreas

Christian Koencoro

unread,
Jan 13, 2009, 12:46:01 AM1/13/09
to penta...@googlegroups.com
Dear Bung Andreas,

Kalo untuk transfer inisialisasi biasa ga masalah, data ratusan ribu -  jutaan bisa ditransfer dlm hitungan menit (tapi juga tergantung querynya, banyak hitungan dan joinnya atau tidak)..
Yang jadi masalah itu cara insert/update dengan memakai komponen insert/update di Kettle..
Nah, update nya bisa sampai <=2 record per second kalo jumlah datanya jutaan, padahal primary key untuk update yang saya pakai hanya 1..
Saya setuju jumlah kolomnya jg pengaruh, rata2 jumlah kolom di table yang saya update 15-25 kolom..

Best Regards,

Christian K



Feris Thia

unread,
Jan 13, 2009, 11:25:21 AM1/13/09
to penta...@googlegroups.com
Hi Bung Christian dan Bung Andreas,

Mohon maaf karena hari ini sibuk banget implementasi Pentaho di client jadi ga sempat reply email-email.

Untuk Bung Christian, sepertinya lookup key fieldnya tidak diindex. Saya sudah benchmarking dan testing untuk menunjukkan ke Bung Christian efek tanpa index & multiple copies ;)

Skenario : Table yang saya ambil adalah dari Compiere dengan 83 field. Lookup field saya pake cuma 1. Walau cuma 1 tapi kalau tidak diindex juga lemot banget. hehehe

Terus semua field yang lain saya compare, diupdate jika terjadi perubahan dan diinsert jika ada.

Jalan di local computer dengan database yang sama (dengan demikian beban di memori  & cpu di satu computer jadi overheadnya banyak dan harusnya lebih berat dibandingkan dengan scale out). Celeron / RAM 750 MB.

Tanpa index, jalannya cuma sekitar 2/3 record per detik (sedih banget). Dengan index sekitar 280-an record per detik. Dengan multiple copies dapat ditingkatkan sedikittt. Coba dengan distributed architecture, harusnya makin ok.

Tertarik ?

Lihat screenshotnya - dengan petunjuk di caption - aja ya di :

http://picasaweb.google.com/feristhia.phi/Benchmarking_insert_update

So.... bagaimana menurut Anda performance dari Kettle ? ;)

Semoga membantu...

Regards,

Feris

2009/1/13 Christian Koencoro <sie_ci...@yahoo.com>

Dear Bung Andreas,

Kalo untuk transfer inisialisasi biasa ga masalah, data ratusan ribu -  jutaan bisa ditransfer dlm hitungan menit (tapi juga tergantung querynya, banyak hitungan dan joinnya atau tidak)..
Yang jadi masalah itu cara insert/update dengan memakai komponen insert/update di Kettle..
Nah, update nya bisa sampai <=2 record per second kalo jumlah datanya jutaan, padahal primary key untuk update yang saya pakai hanya 1..
Saya setuju jumlah kolomnya jg pengaruh, rata2 jumlah kolom di table yang saya update 15-25 kolom..

Best Regards,

Christian K



--
Thanks & Best Regards,

Feris Thia
Business Intelligence Consultant
PT. Putera Handal Indotama
Phone  : +6221-30119353
Fax      : +6221-5513483
Mobile : +628176-474-525
http://www.phi-integration.com
http://pentaho.phi-integration.com

Feris Thia

unread,
Jan 13, 2009, 11:28:41 AM1/13/09
to penta...@googlegroups.com
O Iya,

Hampir lupa... sebagai tambahan. Intinya semua lookup key harus diindex. Kalau mau menggunakan advisor klik tombol "SQL" di konfigurasi step ini.

2009/1/13 Feris Thia <fe...@phi-integration.com>

Christian Koencoro

unread,
Jan 14, 2009, 12:48:23 AM1/14/09
to penta...@googlegroups.com
Dear Bung Feris and Bung Andreas,

Terima kasih banyak untuk petunjuknya..
Saya sudah mencoba update data dummy jumlah data 1 jutaan dengan memakai index paka field yang saya gunakan untuk lookup..
Dan hasilnya sangat cepat !! kurang dari 1 menit sudah selesai..
Perbedaan yang sangat signifikan antara memakai index dan tidak untuk lookupnya..

Terima kasih Bung Feris,


Best Regards,

Christian K




Reply all
Reply to author
Forward
0 new messages