Basis data besar-besaran Greenplum - program pendidikan singkat



Untuk Hadoop dan Greenplum ada peluang untuk menyiapkan SaaS. Dan jika Khadup adalah hal yang terkenal, maka Greenplum (itu adalah dasar dari produk ArenadataDB, yang akan dibahas nanti) menarik, tetapi sudah kurang "oleh telinga".

Arenadata DB adalah DBMS terdistribusi berdasarkan open source Greenplum. Seperti solusi MPP (pemrosesan data paralel) lainnya, untuk sistem paralel masif, arsitektur cloud jauh dari optimal. Ini dapat mengurangi kinerja sebanyak 30% (biasanya kurang). Namun, bagaimanapun, masalah ini dapat diratakan (yang akan dibahas di bawah). Selain itu, perlu membeli layanan seperti itu dari cloud, seringkali lebih mudah dan menguntungkan dibandingkan dengan penyebaran cluster Anda sendiri.

On-premise jelas ditunjukkan dalam panduan, tetapi sekarang banyak orang menyadari skala kenyamanan cloud. Semua orang mengerti bahwa akan ada semacam penurunan kinerja, tetapi masih sangat nyaman dan cepat sehingga sudah ada proyek di mana ini dikorbankan pada beberapa tahap seperti pengujian hipotesis.

Jika Anda memiliki gudang data lebih dari 1 TB dan sistem transaksional - bukan profil beban Anda, maka di bawah ini adalah cerita tentang apa yang dapat dilakukan sebagai opsi. Kenapa 1 TB? Mulai dari volume ini, penggunaan MPP lebih efisien dalam hal rasio kinerja / biaya bila dibandingkan dengan DBMS klasik.

Kapan menggunakannya?


Ketika DBMS single-node klasik oleh arsitektur tidak cocok untuk volume Anda. Kasus umum adalah gudang data baru dengan kapasitas lebih dari 1 TB. MPP DBMS sekarang sedang dalam tren, dan Greenplum adalah salah satu yang terbaik di pasar untuk tugas-tugas modern. Apalagi mengingat keterbukaannya. Ada juga banyak sistem berpemilik dengan banyak fitur di luar kotak: Terradata, Sap Khan, Exadata, Vertika. Karena itu, jika Anda tidak mampu membeli nanas dan belibis, maka ambil buah prem.

Kasus kedua adalah ketika Anda memiliki data warehouse yang ada pada sesuatu yang universal seperti Oracle atau Post-Congress, tetapi pengguna secara teratur mengeluh tentang laporan yang lambat. Dan ketika ada tugas baru seperti Big Data - ketika pengguna menginginkan semua data segera, mereka tidak dapat memprediksi apa yang akan mereka lakukan dengan mereka. Ada banyak situasi ketika bisnis yang beroperasi membutuhkan laporan yang relevan hanya satu hari, dan mereka tidak punya waktu untuk melunasi dalam sehari. Artinya, pada dasarnya tidak ada data yang dibutuhkan. Dalam hal ini, juga nyaman untuk mengambil basis data MPP dan mencoba dengan SaaS di cloud.

Kasus ketiga adalah ketika seseorang mengikuti mode Khadup dan menyelesaikan tugas standar pemrosesan data terstruktur batch, tetapi cluster tidak dirakit dengan baik. Kita sering melihat bahwa teknologi ini diterapkan sedikit dan bahkan tidak sama sekali sebagaimana mestinya. Misalnya, Anda tidak perlu membangun database relasional di Khadup. Namun demikian, jika Hadup Anda tiba-tiba tidak memiliki pemrosesan waktu nyata atau seharusnya, tetapi admin dan pengembang melarikan diri dengan ketakutan, maka Anda juga dapat melihat ke arah Greenplum di awan: dukungan akan sangat sederhana sambil mempertahankan kemampuan untuk memproses data dalam jumlah besar.

Mengapa hanya sedikit orang yang mencoba?


Setiap MPP DBMS membutuhkan banyak kapasitas. Itu banyak zat besi. Bahkan, orang takut untuk mencoba ke tingkat pembuktian konsep hanya karena harga masuk. Mereka tidak dapat secara fisik melakukan ini. Salah satu ide utama SaaS kami adalah memberi Anda kesempatan untuk bermain dengan semua ini tanpa membeli besi.

Dan kami secara teratur bertemu dengan pelanggan yang mengatakan bahwa kami tidak ingin menemani, beroperasi, dan sebagainya secara mandiri. Dan saya ingin melakukan outsourcing. Ini adalah sistem analitis, dan yang paling penting adalah bisnis-kritis, tetapi tidak kritis-misi. Banyak di Barat outsourcing, kami juga sudah mulai baru-baru ini.

Apa hal terbaik untuk dilakukan pada MPP?


Gudang data perusahaan klasik: untuk semua sumber data, Anda mendapatkan data tambahan, dan kemudian jendela dibuat untuk pengguna. Pengguna di atas etalase ini membuat laporan. “Setiap hari saya ingin melihat bagaimana keadaan dalam bisnis” - ini dia.

Beberapa kata lagi tentang solusi cloud


Dulu infrastruktur semacam ini dirancang dengan buruk untuk cloud. Namun dalam kenyataannya, semakin banyak pelanggan yang memasuki awan. Pekerjaan membutuhkan kinerja tinggi, karena berputar di sekitar banyak pertanyaan analitis besar yang mengkonsumsi banyak CPU, membutuhkan banyak memori dan memiliki permintaan tinggi pada disk dan infrastruktur jaringan. Akibatnya, ketika pelanggan menggunakan DBMS yang didistribusikan di cloud, mereka mungkin mengalami beberapa masalah.

Yang pertama adalah kinerja jaringan yang buruk. Karena ini semua terjadi di cloud dalam lingkungan virtual, mungkin ada banyak mesin di satu hypervisor. Mesin virtual dapat tersebar di berbagai hypervisor. Selain itu, pada saat-saat tertentu mereka dapat tersebar di berbagai pusat data, pengawas dapat memutarnya secara virtual. Dan karena ini, jaringannya sangat menderita. Saat memproses satu miliar catatan dalam sebuah tabel, katakanlah 10 server, dan ini menggerakkan data ini di antara semua server. Subspesies berfungsi di dalam, dan bahkan di dalam satu server banyak subspesies yang berfungsi. Mungkin ada 10-20, dan sekarang mereka semua mulai mengarahkan data melalui jaringan selama eksekusi permintaan. Jaringannya jatuh seperti tanaman musim dingin. Kesimpulan apa yang bisa ditarik dari ini? Gunakan cloud bandwidth tinggi, seperti CROC Cloud, yang memberikan 56 GB pada Infiniband.

Masalah kedua adalah bahwa firewall dan perlindungan DDoS terlihat sangat miring. Terkelupas, memutuskan. Sebelum digunakan, kami sarankan Anda menjadwalkan satu jam ekstra untuk memeriksa ulang semua pengaturan.

Migrasi langsung dan pembaruan yang tidak terlihat. Untuk menyeret mesin ke hypervisor lain, lalu kembali, Anda tidak perlu kehilangan paket. Perlu untuk perdukunan dengan pengaturan pada akhirnya. Sebagai contoh, kami segera naik untuk menambah clipboard. MTU dinaikkan menjadi 9.000 jumboframe.

Tentu saja, drive yang memiliki HDD. Mereka benar-benar tidak suka catatan seperti itu, terutama ketika ini adalah sektor yang sangat, sangat acak dalam antrian dengan sisa permintaan. Kami memutuskan untuk membagi penyimpanan menjadi segmen: satu hanya untuk Greenplum, yang lain dibagi. Ini diperlukan untuk situasi ketika selusin pelanggan menggunakan instalasi Greenplum secara paralel. MPP memanfaatkan subsistem disk semaksimal mungkin, layanan cloud memiliki interkoneksi ke penyimpanan, dan kinerja di sana hampir sama dengan saluran. Jika semua klien cloud tidak menghitung MPP, maka Anda bisa mendapatkan keuntungan yang sangat signifikan. Distribusi daya yang efisien dalam beban seperti itu bekerja dengan sangat baik.

Dan karena arsitekturnya sendiri, Greenplum di cloud berkinerja lebih baik daripada Redshift, BigQuery dan Snowflake.

Seperti apa penyebaran itu:


Seperti ini:





Arsitekturnya "bernapas", yaitu, Anda dapat dengan cepat menggunakan faktor sederhana dalam konfigurasi. Sebagai contoh, pada sore hari kami memiliki lima CPU, dan pada malam hari kami memiliki 1.000 penangan meningkat, dan sepuluh CPU bekerja. Dalam hal ini, Anda tidak perlu menyeimbangkan data, karena mereka berada di dalam toko yang sama. Ekstensi tersedia di luar kotak, kompresi cepat masih perlu diselesaikan sedikit.



Sekarang untuk pelanggan ada satu titik manajemen. Dia datang ke satu tempat, mengajukan permintaan di sana seperti: "Menyebarkan rencana klaster untuk saya di mesin seperti itu", dan dukungan kami menyebarkan mesin di cloud (bersama kami atau pelanggan), menempatkan Greenplum di sana, meluncurkan, mengkonfigurasi, dan membuat semua pengaturan. Hal yang sama berlaku untuk pemantauan, manajemen, pembaruan. Saat otomatisasi berlangsung, ini akan meninggalkan dukungan pada tombol di akun Anda.

Kami pertama-tama memahami kenyamanan pendekatan semacam itu pada proyek internal, dan kemudian mulai memberikan SaaS kepada pelanggan. Kami memiliki integrasi mendalam dengan S3 - ini memungkinkan Anda untuk menggunakan Greenplum sebagai sistem dengan lapisan terpisah untuk komputasi dan penyimpanan, atau menggunakan S3 untuk cadangan, dan Greenplum sebagai inti dalam QCD di cloud. Ada penerapan lingkungan yang fleksibel untuk perusahaan menggunakan API CROC dan API ADCM.

Source: https://habr.com/ru/post/id485896/


All Articles