Apa yang dapat dilakukan oleh pangkalan data berkuasa GPU untuk anda

Pangkalan data SQL bermula pada tahun 1970-an dan telah menjadi standard ANSI sejak tahun 1980-an, tetapi itu tidak bermaksud teknologi masih diam. Ia masih berubah, dan salah satu cara seperti pangkalan data dipercepat GPU

Pangkalan data hubungan telah bertambah besar menjadi set data yang mengukur dalam petabyte dan seterusnya. Walaupun dengan pengkomputeran 64-bit dan memori terabyte untuk peningkatan pemprosesan, masih banyak data yang dapat dikunyah — dan CPU hanya dapat menguruskan begitu banyak. Di situlah GPU masuk.

GPU telah berubah dari misi asalnya mempercepat permainan hingga mempercepat hampir semuanya. Nvidia telah berputar dengan mahir untuk menjadi sinonim dengan kecerdasan buatan, suatu proses yang memerlukan sejumlah besar data diproses secara selari dan tugas-tugas lain yang dapat diselaraskan dengan baik. AMD mula bermain catchup, tetapi Nvidia memimpin panjang.

Apabila berkaitan dengan teras, ia bahkan tidak dekat. CPU Xeon mempunyai maksimum 22 teras. AMD Epyc mempunyai 32 teras. Senibina Nvidia Volta mempunyai 5,120 teras. Sekarang bayangkan lebih daripada 5,000 teras berjalan secara selari pada data dan jelas mengapa GPU menjadi sangat popular untuk projek pengkomputeran besar-besaran.

Oleh itu, satu pangkalan data kelas baru telah muncul, ditulis dari awal untuk menyokong dan merangkumi GPU dan kemampuan pemprosesan selari mereka yang besar. Pangkalan data ini mengaktifkan tahap baru pemrosesan data, analitik, dan Big Data masa nyata kerana mereka dapat menangani set data yang tidak dapat dilakukan oleh pangkalan data berkala CPU.

Pangkalan data GPU ditentukan

Konsep pangkalan data GPU cukup mudah: Ia menggunakan paralelisme GPU untuk melakukan pecutan pemprosesan data secara besar-besaran. GPU sangat sesuai untuk mempercepat pemprosesan pertanyaan SQL kerana SQL melakukan operasi yang sama — biasanya pencarian — pada setiap baris dalam set.

Walau bagaimanapun, anda tidak hanya meletakkan sekumpulan kad Nvidia Tesla di pelayan yang menganjurkan pangkalan data Oracle. Pangkalan data GPU telah dirancang dan ditulis dari awal untuk melakukan pemprosesan selari, bermula dengan JOINoperasi SQL .

JOINs menjalin hubungan antara lajur dari beberapa jadual dalam pangkalan data dan sangat penting untuk melakukan analisis yang bermakna. Pendekatan reka bentuk tradisional untuk JOINsistem RDBMS warisan telah dirancang beberapa tahun yang lalu untuk CPU teras tunggal dan tidak meminjamkan diri dengan baik walaupun pada CPU, apalagi GPU.

Di luar JOIN, pangkalan data GPU mempunyai tahap sokongan yang besar, termasuk:

  • Penyambung ke kerangka sumber terbuka yang popular, seperti Hadoop, Kafka, HBase, Spark, dan Storm.
  • Pemacu ODBC dan JDBC untuk integrasi dengan visualisasi dan alat BI yang ada seperti Tableau, Power BI, dan Spotfire
  • API untuk pengikatan dengan bahasa pengaturcaraan yang popular seperti C ++, SQL, Java, Node.js, dan Python.

Tempat menggunakan pangkalan data GPU

Sehubungan itu, pangkalan data GPU tidak benar-benar bersaing dengan Oracle, SQL Server, atau DB2. Pangkalan data GPU berorientasi pada membuat keputusan analisis data, di mana syarikat berusaha membuat keputusan secara real time dari sejumlah besar data tetapi mendapati diri mereka tidak dapat melakukannya kerana terlalu banyak data atau kerana alat analisis visual terlalu lambat.

Penjual pangkalan data GPU tidak melihat diri mereka sebagai pengganti Oracle atau pangkalan data OLTP seperti Teradata. Daripada mensasarkan beban kerja RDBMS tradisional, pangkalan data GPU bertujuan untuk dunia OLAP / OLTP dan data besar, di mana set data sangat besar dan keperluannya adalah masa nyata. Daripada proses kumpulan dijalankan lebih dari berjam-jam atau semalam, pangkalan data GPU adalah tempat data dapat disajikan dalam waktu nyata atau setiap jam.

Pangkalan data GPU harus menyelesaikan banyak masalah yang cuba diselesaikan oleh NoSQL tetapi membolehkan anda menggunakan alat pertanyaan tersusun yang ada. Menggunakan NoSQL bermaksud menulis semula semua alat SQL anda, tetapi pangkalan data GPU menggunakan alat SQL yang ada.

"Apa yang kami rasa akan kami lihat ialah orang menyedari bahawa mereka dapat melakukan sistem multidimensi dan mengambil data dari pelbagai senario dan menggabungkannya," kata Steve Worthington, arkitek penyelesaian teknologi baru untuk Datatrend Technologies, sebuah perunding IT yang menggunakan pangkalan data GPU SQream. "Syarikat perubatan ingin mengambil [data] dari pelbagai sistem dan melakukan analisis di seluruh pangkalan data kerana sebelumnya, mereka tidak dapat melakukan rujukan silang dan tidak mempunyai cara untuk bergabung dengan pangkalan data."

Dia juga menyebut institusi kewangan melakukan analisis penipuan dan risiko yang mungkin hanya melakukan pemeriksaan kad kredit sekarang tetapi ingin melakukan pemeriksaan di beberapa akaun. Dengan kekuatan GPU, mereka dapat membuat rujukan silang di semua sumber maklumat tersebut sekaligus.

Bagi Rich Sutton, naib presiden data geospasial di Skyhook, penyedia perkhidmatan lokasi, menggunakan pangkalan data GPU OmniSci memberinya visualisasi set data geografi yang lebih besar daripada yang dapat dilakukannya dengan pangkalan data berasaskan CPU. "Saya dapat memuat satu miliar baris ke OmniSci dan dengan sedikit atau tanpa latensi daripada harus melihat set data 10.000 baris di ruang CPU tradisional," katanya. "Banyak pesanan besar bermanfaat bagi saya mengurangkan penggunaan data dengan latensi yang dikurangkan secara besar-besaran."

Todd Mostak, Ketua Pegawai Eksekutif OmniSci, mengatakan seorang pelanggan memberitahunya bahawa kelajuan OmniSci “menurunkan kos rasa ingin tahu. Mereka mengemukakan soalan yang sebelumnya mereka akan tahan. Seorang pelanggan perkhidmatan kewangan memberitahunya bahawa permintaan pemprosesan selama 18 jam di pangkalan data tradisional turun menjadi satu detik, sementara telco memberitahunya bahawa pertanyaan yang memakan masa berjam-jam untuk berjalan kini bertindak balas dalam masa sesaat.

Tempat lain untuk pangkalan data GPU adalah dalam data besar masa nyata, di mana Hadoop kekurangan. Ami Gal, Ketua Pegawai Eksekutif penyedia pangkalan data GPU SQream, mengatakan banyak janji tentang data besar - mencari semua peluang yang terdapat dalam puluhan petabyte data baris - tidak dicapai pada Hadoop kerana terlalu lambat.

"Spark cukup bagus untuk pergerakan dan transformasi data tetapi setelah anda memerlukan sejumlah besar data dan memindahkannya, anda mula berurusan dengan ratusan ribu nod [komputasi] dan itu dilihat terlalu banyak untuk dihancurkan dalam set data yang besar. Tetapi jika anda dapat melakukannya dengan sepuluh atau 15 nod, itu jauh lebih cekap, ”katanya.

Worthington mengatakan pelayan berasaskan GPU dapat melakukan dalam satu kabinet yang memerlukan banyak nod pemrosesan selari (MPP) bertenaga CPU. "Kami dapat mengganti rak simpul MPP dengan setengah lusin nod, masing-masing dengan dua hingga empat GPU di dalamnya. Dengan itu kita dapat menggantikan pelaburan $ 10 juta dengan pelaburan di bawah $ 1 juta, ”katanya.

GPU juga penting untuk Skyhook, yang melakukan visualisasi set data geografi yang besar. "Sekiranya anda mendapat sejuta peranti di lapangan dan melakukan ping lokasi beberapa kali dalam satu minit, anda bercakap 2 bilion baris data sehari. Itu mustahil untuk digunakan dalam pangkalan data tradisional. Itu tidak mungkin. Oleh itu, [a] GPU [pangkalan data] membawa anda ke mana anda dapat menggunakan data tersebut, ”kata Sutton.

Sebelum menggunakan OmniSci, Skyhook harus "piramidisasi" data, hanya mengambil segmennya untuk visualisasi. Sekarang, kata Sutton, ia dapat melihat keseluruhan gambar data. "Saya tidak pernah melihat cara lain yang realistik untuk mendapatkan data menjadi bentuk untuk penggunaan saya."

Pangkalan data GPU: Apa yang ada

Pangkalan data GPU sepenuhnya merupakan fenomena permulaan, dengan syarikat seperti Brytlyt, SQream Technologies, OmniSci, Kinetica, PG-Strom, dan Blazegraph.

Semua berbeza sedikit dalam cara kerjanya. Sebagai contoh, OmniSci melakukan visualisasi data, sementara SQream menggunakan penyambung ke alat visualisasi seperti Tableau, jadi masing-masing perlu dinilai secara individu untuk menentukan yang paling sesuai dengan keperluan anda.

Nama-nama besar dalam RDBMS belum dimasukkan, kecuali IBM, yang memang menyokong beberapa pemprosesan GPU di DB2 Blu, versi khas DB2 untuk beban kerja analitik. Oracle dan TeraData sama-sama mengatakan bahawa mereka bekerjasama dengan Nvidia tetapi belum ada yang dapat dicapai. Microsoft tidak menyokong percepatan GPU pada SQL Server. Gal SQream mengatakan bahawa dia telah mendengar bahawa semua vendor RDBMS sedang berusaha untuk menambahkan beberapa jenis sokongan GPU ke produk mereka tetapi tidak mempunyai maklumat lebih lanjut.