Bagaimana untuk memindahkan, memuat naik dan menyepadukan data yang sangat besar dengan murah dan cepat? Apakah pengoptimuman pushdown?

Sebarang operasi data besar memerlukan banyak kuasa pengkomputeran. Perpindahan data biasa dari pangkalan data ke Hadoop boleh mengambil masa berminggu-minggu atau menelan kos sebanyak sayap kapal terbang. Tidak mahu menunggu dan menghabiskan wang? Imbangkan beban merentas platform yang berbeza. Satu cara ialah pengoptimuman pushdown.

Saya meminta jurulatih terkemuka Rusia untuk pembangunan dan pentadbiran produk Informatica, Alexey Ananyev, untuk bercakap tentang fungsi pengoptimuman pushdown dalam Pengurusan Data Besar Informatica (BDM). Pernahkah anda belajar bekerja dengan produk Informatica? Kemungkinan besar, Alexey yang memberitahu anda asas PowerCenter dan menerangkan cara membina pemetaan.

Alexey Ananyev, ketua latihan di Kumpulan DIS

Apa itu pushdown?

Ramai daripada anda sudah biasa dengan Pengurusan Data Besar Informatica (BDM). Produk ini boleh menyepadukan data besar daripada sumber yang berbeza, mengalihkannya antara sistem yang berbeza, menyediakan akses mudah kepadanya, membolehkan anda memprofilkannya dan banyak lagi.
Di tangan yang betul, BDM boleh melakukan keajaiban: tugas akan diselesaikan dengan cepat dan dengan sumber pengkomputeran yang minimum.

Adakah anda mahu itu juga? Belajar menggunakan ciri tekan bawah dalam BDM untuk mengagihkan beban pengkomputeran merentas platform yang berbeza. Teknologi tekan bawah membolehkan anda menukar pemetaan kepada skrip dan memilih persekitaran di mana skrip ini akan dijalankan. Pilihan ini membolehkan anda menggabungkan kekuatan platform yang berbeza dan mencapai prestasi maksimumnya.

Untuk mengkonfigurasi persekitaran pelaksanaan skrip, anda perlu memilih jenis pushdown. Skrip boleh dijalankan sepenuhnya pada Hadoop atau diedarkan sebahagiannya antara sumber dan sink. Terdapat 4 jenis pushdown yang mungkin. Pemetaan tidak perlu diubah menjadi skrip (asli). Pemetaan boleh dilakukan sebanyak mungkin pada sumber (sumber) atau sepenuhnya pada sumber (penuh). Pemetaan juga boleh diubah menjadi skrip Hadoop (tiada).

Pengoptimuman tekan bawah

4 jenis yang disenaraikan boleh digabungkan dengan cara yang berbeza - tekan bawah boleh dioptimumkan untuk keperluan khusus sistem. Sebagai contoh, selalunya lebih sesuai untuk mengekstrak data daripada pangkalan data menggunakan keupayaannya sendiri. Dan data akan ditukar menggunakan Hadoop, supaya tidak membebankan pangkalan data itu sendiri.

Mari kita pertimbangkan kes apabila kedua-dua sumber dan destinasi berada dalam pangkalan data, dan platform pelaksanaan transformasi boleh dipilih: bergantung pada tetapan, ia akan menjadi Informatica, pelayan pangkalan data atau Hadoop. Contoh sedemikian akan membolehkan anda memahami dengan tepat bahagian teknikal operasi mekanisme ini. Sememangnya, dalam kehidupan sebenar, keadaan ini tidak timbul, tetapi ia paling sesuai untuk menunjukkan kefungsian.

Mari ambil pemetaan untuk membaca dua jadual dalam satu pangkalan data Oracle. Dan biarkan hasil bacaan direkodkan dalam jadual dalam pangkalan data yang sama. Skim pemetaan akan menjadi seperti ini:

Bagaimana untuk memindahkan, memuat naik dan menyepadukan data yang sangat besar dengan murah dan cepat? Apakah pengoptimuman pushdown?

Dalam bentuk pemetaan pada Informatica BDM 10.2.1 ia kelihatan seperti ini:

Bagaimana untuk memindahkan, memuat naik dan menyepadukan data yang sangat besar dengan murah dan cepat? Apakah pengoptimuman pushdown?

Jenis tekan bawah – asli

Jika kita memilih jenis asli pushdown, maka pemetaan akan dilakukan pada pelayan Informatica. Data akan dibaca dari pelayan Oracle, dipindahkan ke pelayan Informatica, diubah di sana dan dipindahkan ke Hadoop. Dalam erti kata lain, kita akan mendapat proses ETL biasa.

Jenis tekan bawah – sumber

Apabila memilih jenis sumber, kami mendapat peluang untuk mengedarkan proses kami antara pelayan pangkalan data (DB) dan Hadoop. Apabila proses dilaksanakan dengan tetapan ini, permintaan untuk mendapatkan semula data daripada jadual akan dihantar ke pangkalan data. Dan selebihnya akan dilakukan dalam bentuk langkah pada Hadoop.
Gambar rajah pelaksanaan akan kelihatan seperti ini:

Bagaimana untuk memindahkan, memuat naik dan menyepadukan data yang sangat besar dengan murah dan cepat? Apakah pengoptimuman pushdown?

Di bawah ialah contoh menyediakan persekitaran masa jalan.

Bagaimana untuk memindahkan, memuat naik dan menyepadukan data yang sangat besar dengan murah dan cepat? Apakah pengoptimuman pushdown?

Dalam kes ini, pemetaan akan dilakukan dalam dua langkah. Dalam tetapannya kita akan melihat bahawa ia telah bertukar menjadi skrip yang akan dihantar kepada sumber. Selain itu, menggabungkan jadual dan mengubah data akan dilakukan dalam bentuk pertanyaan yang diganti pada sumber.
Dalam gambar di bawah, kita melihat pemetaan yang dioptimumkan pada BDM dan pertanyaan yang ditakrifkan semula pada sumber.

Bagaimana untuk memindahkan, memuat naik dan menyepadukan data yang sangat besar dengan murah dan cepat? Apakah pengoptimuman pushdown?

Peranan Hadoop dalam konfigurasi ini akan dikurangkan kepada mengurus aliran data - mengaturnya. Hasil pertanyaan akan dihantar ke Hadoop. Setelah bacaan selesai, fail daripada Hadoop akan ditulis ke sinki.

Jenis tekan bawah – penuh

Apabila anda memilih jenis penuh, pemetaan akan bertukar sepenuhnya menjadi pertanyaan pangkalan data. Dan hasil permintaan akan dihantar ke Hadoop. Gambar rajah proses sedemikian dibentangkan di bawah.

Bagaimana untuk memindahkan, memuat naik dan menyepadukan data yang sangat besar dengan murah dan cepat? Apakah pengoptimuman pushdown?

Contoh persediaan ditunjukkan di bawah.

Bagaimana untuk memindahkan, memuat naik dan menyepadukan data yang sangat besar dengan murah dan cepat? Apakah pengoptimuman pushdown?

Hasilnya, kami akan mendapat pemetaan yang dioptimumkan seperti yang sebelumnya. Satu-satunya perbezaan ialah semua logik dipindahkan kepada penerima dalam bentuk mengatasi sisipannya. Contoh pemetaan yang dioptimumkan dibentangkan di bawah.

Bagaimana untuk memindahkan, memuat naik dan menyepadukan data yang sangat besar dengan murah dan cepat? Apakah pengoptimuman pushdown?

Di sini, seperti dalam kes sebelumnya, Hadoop memainkan peranan konduktor. Tetapi di sini sumber dibaca secara keseluruhannya, dan kemudian logik pemprosesan data dilakukan pada peringkat penerima.

Jenis tekan bawah adalah batal

Nah, pilihan terakhir ialah jenis pushdown, di mana pemetaan kami akan bertukar menjadi skrip Hadoop.

Pemetaan yang dioptimumkan kini akan kelihatan seperti ini:

Bagaimana untuk memindahkan, memuat naik dan menyepadukan data yang sangat besar dengan murah dan cepat? Apakah pengoptimuman pushdown?

Di sini data daripada fail sumber akan dibaca pada Hadoop terlebih dahulu. Kemudian, menggunakan caranya sendiri, kedua-dua fail ini akan digabungkan. Selepas ini, data akan ditukar dan dimuat naik ke pangkalan data.

Dengan memahami prinsip pengoptimuman tolak ke bawah, anda boleh mengatur banyak proses untuk bekerja dengan data besar dengan sangat berkesan. Oleh itu, baru-baru ini, sebuah syarikat besar, hanya dalam beberapa minggu, memuat turun data besar dari storan ke Hadoop, yang sebelum ini telah dikumpulkan selama beberapa tahun.

Sumber: www.habr.com

Tambah komen