Ulasan Greenplum 6: Jack of all trade, master of some

Pangkalan data MPP (pemprosesan selari secara besar-besaran) menyebarkan data dan pertanyaan di setiap nod dalam sekumpulan pelayan komoditi. Pendekatan Greenplum untuk membina gudang data MPP adalah unik. Dengan membangun pangkalan data sumber terbuka yang mapan, PostgreSQL, mereka dapat memfokuskan usaha kejuruteraan untuk menambah nilai di mana ia menghitung: paralelisasi dan perancangan pertanyaan yang berkaitan, penyimpanan data kolumnar untuk analisis, dan kemampuan pengurusan.

Greenplum dimiliki dan dikembangkan oleh Pivotal, dengan sokongan dari komuniti sumber terbuka, dan tersedia percuma di bawah lesen Apache 2. Siaran terbaru, Greenplum 6.0, telah banyak menuju ke arah penyatuan semula teras Greenplum dengan PostgreSQL, menggabungkan peningkatan hampir enam tahun dari projek PostgreSQL. Usaha ini bermaksud, ke depan, Greenplum akan memperoleh ciri dan peningkatan baru secara "percuma," sementara Pivotal memberi tumpuan untuk menjadikan penambahan ini berfungsi dengan baik dalam lingkungan yang selari.

Seni bina Greenplum

An MPP kegunaan pangkalan data apa yang dikenali sebagai apa-apa kongsi seni bina. Dalam seni bina ini, pelayan pangkalan data individu (berdasarkan PostgreSQL), yang dikenali sebagai segmen, masing-masing memproses sebahagian data sebelum mengembalikan hasilnya ke induk induk. Senibina serupa dilihat dalam sistem pemprosesan data lain, seperti Spark atau Solr. Ini adalah salah satu ciri seni bina utama yang membolehkan Greenplum mengintegrasikan sistem selari lain, seperti pembelajaran mesin atau analisis teks.

Kerana Solr, misalnya, mempunyai seni bina tersebar yang serupa, Greenplum dapat menghubungkan contoh pemprosesan individu Solr dengan segmen host untuk memberikan pengalaman pertanyaan dan analitik yang lebih kurang. Ini juga bermaksud data diproses di tempat, mengelakkan pergerakan data yang mahal di seluruh rangkaian.

Penting

Menyebarkan Greenplum

Greenplum dapat digunakan dengan beberapa cara: di ketiga-tiga awan utama melalui pasar masing-masing, dalam bekas, atau pada logam kosong. Seperti mana-mana aplikasi kluster, prestasi terbaik diperoleh pada mesin logam kosong. Saya menggunakan kluster dua nod di Google Cloud Platform dengan semua loceng dan wisel hanya dalam beberapa minit. Dan saya memasang Greenplum secara tempatan dalam VM menggunakan binari yang telah disusun dalam masa satu jam.

Pemasangan tempatan diperlukan kerana Greenplum 6 belum tersedia di awan; sudah habis bulan November 2019. Pemasangan tempatan juga memberi saya peluang untuk menilai kualiti dokumentasi Greenplum. Seperti yang anda jangkakan dari sumber tertutup, sumber eksklusif, ia sangat baik.

Mempunyai banyak pilihan penyebaran membolehkan syarikat menyesuaikan penyesuaian mereka agar sesuai dengan keperluan operasi. Sebagai contoh, model dapat dilatih pada kelompok logam telanjang multi-node untuk pengembangan model yang cepat, kemudian digunakan pada satu contoh Pivotal Postgres yang menjalankan titik akhir REST dalam wadah untuk mengoperasikan model tersebut.

Pertanyaan gabungan Greenplum

Data hari ini ada di mana-mana — di lokasi yang berbeza, format yang berbeza, dan “suhu” yang berbeza. Pivotal Extension Framework (PXF), diperkenalkan di Greenplum 5, berkembang dari penyambung HDFS lama menjadi kaedah tujuan umum untuk mengakses jadual data luaran di Greenplum. PXF juga menghubungkan ke format data yang berbeza, seperti fail teks (misalnya log web), pangkalan data asing, ORC, Parquet, dan HBase. Sumber data baru dapat ditambahkan ke PFX menggunakan Java API.

Menggabungkan PXF dengan kemampuan akses luaran yang dibawa dengan PostgreSQL 9.4, Greenplum dapat melakukan pertanyaan gabungan di seluruh lokasi data, termasuk aliran Kafka, HDFS, Spark, dan kedai objek Amazon S3. Kemampuan terakhir, menanyakan kedai objek Amazon S3, termasuk API S3 SELECT asli Amazon, meningkatkan prestasi dengan menyaring di tepi. 

Pertanyaan gabungan boleh menjadi lebih berguna daripada yang anda bayangkan. Sebagai contoh, andaikan kita ingin mencari semua individu yang:

bekerja di '' dan saling mengenali 'secara langsung' dan namanya terdengar seperti 'Doug' atau 'Steve' dan telah membuat panggilan telefon antara satu sama lain dalam masa 24 jam dari Singapura atau San Francisco

Pertanyaan semacam ini dapat dilihat dalam penyelidikan penipuan atau sebagai tindak balas terhadap permintaan maklumat pengawal selia kewangan. Dalam perusahaan biasa, maklumat ini akan tersebar di setengah lusin atau lebih sistem yang berbeza dan mungkin memerlukan seminggu atau lebih untuk menjawab. Dengan pertanyaan gabungan, kita dapat menggabungkannya menjadi satu pertanyaan dan menjawab dalam satu jam. Dalam era pengawasan peraturan yang meningkat, banyak syarikat berjuang untuk mengelakkan denda kerana menjawab pertanyaan lewat, dan pertanyaan gabungan banyak membantu di sini.

Analisis Greenplum dan pembelajaran mesin

Sambungan MADlib Greenplum, perpustakaan berasaskan SQL untuk analisis data dan pembelajaran mesin, pada mulanya dikembangkan oleh beberapa universiti dan Greenplum. MADlib dirancang untuk berfungsi dengan seni bina selari Greenplum yang tidak dikongsi bersama. Tidak semua algoritma pembelajaran mesin dapat dibuat selari, tetapi bagi yang dapat, MADlib mencapai lebih kurang linear skalabilitas dengan ukuran set data, sambil mengelakkan pemindahan data. MADlib merangkumi sedikit daripada 50 algoritma pembelajaran mesin yang paling biasa digunakan.

Salah satu ciri MADlib yang paling berguna adalah antara muka SQL, yang membolehkan saintis data warganegara menambah nilai tanpa harus menaiki kurva pembelajaran Python atau R. Model dapat digunakan melalui titik akhir MADlib REST untuk mengoperasikan wawasan analitik. Untuk syarikat yang mempunyai tahap kematangan analitik sederhana dan menerapkan strategi pengurusan keputusan juara / pencabar, menggunakan SQL dapat meningkatkan jumlah model yang dipertimbangkan tanpa sumber tambahan dialihkan dari pasukan pusat.

Bagi penganalisis data tradisional, penyambung PivotalR (tersedia di CRAN) menyediakan antara muka bahasa R klasik ke MADlib dengan menerjemahkan kod R ke dalam pernyataan SQL yang sesuai pada klien, kemudian menghantarnya ke kluster Greenplum untuk pelaksanaan. Ini mengelakkan pemindahan data dan memungkinkan manipulasi bingkai data besar yang mungkin tidak mungkin dilakukan di R kerana kekangan memori.

Penting

Gudang data HTAP

Pemprosesan transaksional / analitik hibrid (HTAP) adalah istilah yang dicipta oleh Gartner. Definisi mereka:

Pemprosesan transaksi / analitik hibrid (HTAP) adalah seni bina aplikasi yang muncul yang "memecahkan tembok" antara pemprosesan transaksi dan analitik. Ini membolehkan membuat keputusan yang lebih tepat dan “dalam masa nyata perniagaan”. 

Dalam praktiknya ini bermaksud kes penggunaan sistem adalah gabungan pertanyaan panjang dan pendek, serta kemas kini dan penghapusan. Untuk menyokong HTAP dan mencegah kebuluran sumber daya, Greenplum menerapkan satu bentuk pengkondisian SQL yang disebut kumpulan sumber yang memungkinkan pengasingan sumber daya dalam lingkungan HTAP yang banyak disewa. Dengan menggunakan kumpulan sumber anda dapat membatasi CPU, RAM (mengikut kumpulan atau pertanyaan), dan serentak maksimum. Kumpulan sumber meningkatkan prestasi pada beban kerja campuran dan mencegah persaingan pertanyaan untuk mendapatkan sumber.

Salah satu perbezaan utama antara PostgreSQL dan Greenplum adalah perancang pertanyaan. Walaupun Greenplum mewarisi perancang pertanyaan PostgreSQL ketika ia bercabang, perancangan pertanyaan yang efisien dalam persekitaran yang diedarkan jauh berbeza daripada pada satu mesin. Untuk itu Greenplum berencana untuk membina perancang pertanyaan mereka sendiri, berdasarkannya pada Cascades Framework for Query Optimization. Algoritma ini menilai semua kemungkinan rancangan pertanyaan dan memberikannya kos, memilih rancangan kos (terpantas) terendah untuk pelaksanaan.

Greenplum menyediakan beberapa ciri untuk membantu perancang pertanyaan mengelakkan pergerakan data, seperti kemampuan untuk meniru jadual dimensi ke setiap simpul dalam kluster untuk operasi bergabung lokal yang lebih cepat dan pemampatan data yang dapat disetel.

Pemprosesan data separa berstruktur diwarisi dari PostgreSQL dan merangkumi JSON dan JSONB, XML, pasangan nilai-kunci (HSTORE), dan teks biasa. GIN (Generalized Inverted Index), juga diwarisi dari PostgreSQL, dapat digunakan untuk mengindeks lajur teks yang sering digunakan. Untuk pertanyaan teks yang lebih kompleks, GPText boleh digunakan. GPText mengintegrasikan segmen Greenplum dengan pecahan Apache Solr untuk menyediakan pertanyaan carian bahasa semula jadi. Kerana pelindung Solr berada di simpul yang sama, mereka mempunyai seni bina selari yang sama.

Prestasi Greenplum

Pangkalan data HTAP memerlukan tindakan penyeimbangan antara pertanyaan analitik yang besar dan lama, pertanyaan ad-hoc pendek, dan transaksi ACID di sisi persamaan OLTP. Prestasi yang baik dalam senario beban kerja campuran ini penting untuk kes penggunaan hibrid yang diinginkan oleh Greenplum. Kernel PostgreSQL 9.4 memberikan Greenplum 6 sejumlah pengoptimuman, kebanyakannya menghindari penguncian, yang mengakibatkan peningkatan prestasi 60 kali ganda berbanding Greenplum 5 pada penanda aras TPC-B.

Penting

Memandangkan PostgreSQL telah membuka jalan untuk pengoptimuman lebih lanjut (dan sekarang ada di versi 12), kami dapat mengharapkan peningkatan lebih lanjut di Greenplum kerana kernelnya ditingkatkan lagi di Greenplum 7.

Pusat Perintah Greenplum

Pusat Perintah Greenplum adalah sebahagian daripada penawaran Pivotal dan menyediakan antara muka berasaskan web untuk memantau dan mengurus kluster Greenplum (atau beberapa kluster). Walaupun DBA inti tidak mungkin melepaskan antara muka baris perintahnya, Pusat Komando adalah alat pengurusan yang dialu-alukan untuk penyebaran peringkat jabatan yang mungkin tidak mempunyai akses ke DBA sepenuh masa. Saya merasa senang untuk menavigasi dan didokumentasikan dengan baik. Pengguna, pertanyaan, node, segmen, dan kumpulan sumber dapat dikendalikan dengan mudah melalui antara muka.

Greenplum di perusahaan

Greenplum membuat pilihan yang ideal untuk standard jabatan, kerana dapat menangani beban kerja campuran, termasuk analisis ramalan, dalam satu platform. Sekiranya anda tidak memilih perisian a-la-carte dari menu ELA, atau ingin melepaskan diri dari 'pilot purgatory' AI, pelaburan dalam pendekatan HTAP Greenplum mungkin menyediakan cara untuk meningkatkan penggunaan inovatif pembelajaran mesin dan analisis pada titik harga yang lebih rendah daripada penyelesaian bersaing.

Greenplum juga tidak perlu untuk penggantian Netezza atau Teradata peringkat perusahaan. Dan sementara Greenplum tidak cukup untuk merebut OLTP dari orang seperti Pangkalan Data Oracle atau Microsoft SQL Server di seluruh perusahaan, ia akan berfungsi dengan baik untuk sistem urus niaga bersaiz sederhana.

Greenplum adalah contoh yang baik dari peraturan 80/20. Walaupun ia tidak menjalankan tugas tunggal dan juga alat yang dibina untuk tujuan, kebanyakannya cukup baik untuk merangkumi 80% kes penggunaan, dan itu tanpa overhead organisasi dan operasi yang terlibat dalam menjalin bersama beberapa sistem dan mengintegrasikannya ke dalam saluran analisis. Ini sangat memberatkan apabila mempertimbangkan jumlah kos pemilikan.

Kos : Sumber terbuka percuma di bawah Lesen Apache 2.0. 

Platform : Terdapat sebagai kod sumber; sebagai pakej untuk pengedaran CentOS, Red Hat, Debian, dan Ubuntu Linux; dan di pasaran Perkhidmatan Web Amazon, Microsoft Azure, dan Google Cloud Platform.