Apa yang bisa dilakukan database bertenaga GPU untuk Anda

Database SQL berasal dari tahun 1970-an dan telah menjadi standar ANSI sejak tahun 1980-an, tetapi itu tidak berarti teknologinya masih ada. Itu masih berubah, dan salah satu cara itu sebagai database yang dipercepat GPU.

Database relasional telah tumbuh dalam ukuran set data yang mengukur dalam petabyte dan seterusnya. Bahkan dengan munculnya komputasi 64-bit dan memori terabyte untuk peningkatan pemrosesan, masih banyak data yang harus dikunyah — dan CPU hanya dapat mengelola sebanyak itu. Di situlah GPU berperan.

GPU telah berubah dari misi aslinya untuk mempercepat game menjadi mempercepat hampir semuanya. Nvidia telah berputar secara ahli untuk menjadi sinonim dengan kecerdasan buatan, sebuah proses yang membutuhkan data dalam jumlah besar yang diproses secara paralel dan tugas-tugas lain yang dapat diparalelkan dengan baik. AMD mulai mengejar ketinggalan, tetapi Nvidia memiliki keunggulan panjang.

Ketika sampai pada inti, itu bahkan tidak mendekati. CPU Xeon memiliki maksimum 22 core. AMD Epyc memiliki 32 core. Arsitektur Nvidia Volta memiliki 5.120 core. Sekarang bayangkan lebih dari 5.000 core berjalan secara paralel pada data dan jelas mengapa GPU menjadi sangat populer untuk proyek komputasi besar-besaran.

Jadi kelas database baru telah muncul, ditulis dari bawah ke atas untuk mendukung dan merangkul GPU dan kemampuan pemrosesan paralelnya yang sangat besar. Basis data ini memungkinkan tingkat baru pemrosesan data, analitik, dan Big Data real-time karena mereka dapat menangani kumpulan data yang tidak dapat dilakukan oleh database biasa yang didukung CPU.

Basis data GPU ditentukan

Konsep database GPU cukup sederhana: Ia menggunakan paralelisme GPU untuk melakukan akselerasi pemrosesan data besar-besaran. GPU cocok untuk mempercepat pemrosesan kueri SQL karena SQL melakukan operasi yang sama — biasanya penelusuran — di setiap baris dalam kumpulan.

Namun, Anda tidak hanya meletakkan sekumpulan kartu Nvidia Tesla di server yang menghosting database Oracle. Basis data GPU telah dirancang dan ditulis dari awal untuk melakukan pemrosesan paralel, dimulai dengan JOINoperasi SQL .

JOINs membangun hubungan antara kolom dari beberapa tabel dalam database dan sangat penting untuk melakukan analisis yang berarti. Pendekatan desain tradisional untuk JOINsistem RDBMS lawas dirancang bertahun-tahun yang lalu untuk CPU inti tunggal dan tidak cocok untuk CPU, apalagi GPU.

Selain JOINitu, basis data GPU memiliki tingkat dukungan yang substansial, termasuk:

  • Konektor ke kerangka kerja sumber terbuka populer, seperti Hadoop, Kafka, HBase, Spark, dan Storm.
  • Driver ODBC dan JDBC untuk integrasi dengan visualisasi yang ada dan alat BI seperti Tableau, Power BI, dan Spotfire
  • API untuk binding dengan bahasa pemrograman populer seperti C ++, SQL, Java, Node.js, dan Python.

Tempat menggunakan database GPU

Dalam hal ini, database GPU tidak benar-benar bersaing dengan Oracle, SQL Server, atau DB2. Basis data GPU berorientasi pada pengambilan keputusan analitik data, di mana perusahaan mencoba membuat keputusan secara real time dari sejumlah besar data tetapi ternyata tidak dapat melakukannya karena terlalu banyak data atau karena alat analisis visual terlalu lambat.

Vendor database GPU tidak melihat dirinya sebagai pengganti Oracle atau database OLTP seperti Teradata. Alih-alih menargetkan beban kerja RDBMS tradisional, database GPU mengarah pada dunia OLAP / OLTP dan data besar, di mana kumpulan datanya sangat besar dan dibutuhkan secara real-time. Alih-alih proses batch berjalan selama berjam-jam atau semalam, database GPU adalah tempat data dapat disajikan secara real time atau setiap jam.

Basis data GPU seharusnya menyelesaikan banyak masalah yang coba dipecahkan oleh NoSQL tetapi memungkinkan Anda menggunakan alat kueri terstruktur yang ada. Menggunakan NoSQL berarti menulis ulang semua alat SQL Anda, tetapi basis data GPU menggunakan alat SQL yang ada.

“Apa yang kami pikir akan kami lihat adalah orang-orang menyadari bahwa mereka dapat melakukan sistem multidimensi dan mengambil data dari berbagai skenario dan menggabungkannya,” kata Steve Worthington, arsitek solusi teknologi baru untuk Datatrend Technologies, sebuah konsultan IT yang menggunakan database GPU SQream. “Perusahaan medis ingin mengambil [data] dari berbagai sistem dan melakukan analisis di seluruh database karena sebelumnya, mereka tidak dapat melakukan referensi silang dan tidak memiliki cara untuk menggabungkan database.”

Dia juga mengutip lembaga keuangan yang melakukan penipuan dan analisis risiko yang mungkin hanya melakukan pemeriksaan kartu kredit sekarang tetapi ingin melakukan pemeriksaan di banyak akun. Dengan kekuatan GPU, mereka dapat melakukan referensi silang di semua sumber informasi tersebut sekaligus.

Bagi Rich Sutton, wakil presiden data geospasial di Skyhook, penyedia layanan lokasi, menggunakan basis data GPU OmniSci memberinya visualisasi yang jauh lebih besar dari kumpulan data geografis daripada yang dapat dilakukannya dengan basis data berbasis CPU. "Saya dapat memuat satu miliar baris ke OmniSci dan dengan sedikit atau tanpa latensi daripada harus melihat kumpulan data 10.000 baris dalam ruang CPU tradisional," katanya. “Ini beberapa kali lipat yang bermanfaat bagi saya untuk mengurangi konsumsi data dengan pengurangan latensi secara besar-besaran.”

Todd Mostak, CEO OmniSci, mengatakan salah satu pelanggan mengatakan kepadanya bahwa kecepatan OmniSci “menurunkan biaya rasa ingin tahu. Mereka mengajukan pertanyaan yang sebelumnya mereka tahan. " Seorang pelanggan jasa keuangan memberitahunya bahwa kueri pemrosesan 18 jam pada database tradisional turun ke sub-detik, sementara sebuah perusahaan telekomunikasi memberi tahu dia bahwa kueri yang membutuhkan waktu berjam-jam sekarang merespons dalam waktu kurang dari satu detik.

Tempat lain untuk basis data GPU adalah dalam data besar waktu nyata, di mana Hadoop gagal. Ami Gal, CEO penyedia database GPU SQream, mengatakan banyak janji tentang big data — menemukan semua peluang yang terdapat dalam data baris berpuluh-puluh petabyte — tidak tercapai di Hadoop karena terlalu lambat.

“Spark cukup bagus untuk perpindahan dan transformasi data, tetapi begitu Anda perlu mengolah data dalam jumlah besar dan memindahkannya, Anda mulai menangani ratusan ribu node [menghitung] dan itu dianggap terlalu banyak untuk dihancurkan dalam kumpulan data yang besar. Tapi jika Anda bisa melakukannya dengan sepuluh atau 15 node, itu jauh lebih efisien, ”katanya.

Worthington mengatakan server berbasis GPU dapat melakukan dalam satu kabinet yang memerlukan banyak node pemrosesan paralel (MPP) bertenaga CPU. “Kami dapat mengganti rak node MPP dengan setengah lusin node, masing-masing dengan dua hingga empat GPU di dalamnya. Dengan itu kita bisa mengganti investasi $ 10 juta dengan investasi di bawah $ 1 juta, ”katanya.

GPU juga penting bagi Skyhook, yang melakukan visualisasi kumpulan data geografis yang besar. “Jika Anda memiliki sejuta perangkat di lapangan dan melakukan ping lokasi beberapa kali dalam satu menit, Anda berbicara tentang 2 miliar baris data sehari. Itu tidak mungkin untuk dikonsumsi dalam database tradisional. Itu tidak mungkin. Jadi [a] GPU [database] membawa Anda ke tempat Anda dapat menggunakan data itu, ”kata Sutton.

Sebelum mengadopsi OmniSci, Skyhook harus "melakukan piramida" data, hanya mengambil segmennya untuk visualisasi. Sekarang, kata Sutton, ia bisa melihat gambar data secara keseluruhan. "Saya belum pernah melihat cara realistis lain untuk membentuk data untuk jenis penggunaan saya."

Database GPU: Apa yang tersedia

Database GPU sepenuhnya merupakan fenomena startup, dengan perusahaan seperti Brytlyt, SQream Technologies, OmniSci, Kinetica, PG-Strom, dan Blazegraph.

Semua sedikit berbeda dalam cara kerjanya. Misalnya, OmniSci melakukan visualisasi data, sementara SQream menggunakan konektor ke alat visualisasi seperti Tableau, sehingga masing-masing perlu dievaluasi secara individual untuk menentukan yang paling sesuai dengan kebutuhan Anda.

Nama-nama besar di RDBMS belum bergabung, kecuali IBM, yang mendukung beberapa pemrosesan GPU di DB2 Blu, versi khusus DB2 untuk beban kerja analitik. Oracle dan TeraData sama-sama mengatakan bahwa mereka bekerja dengan Nvidia tetapi belum ada hasilnya. Microsoft tidak mendukung akselerasi GPU di SQL Server. Gal SQream mengatakan dia telah mendengar bahwa semua vendor RDBMS sedang bekerja untuk menambahkan beberapa jenis dukungan GPU ke produk mereka tetapi tidak memiliki informasi lebih lanjut.