Minggu, 07 Januari 2024

Inilah 5 Database yang Super-ngebut Karena pakai GPU

Ketika kamu benar-benar butuh kalkulasi ataupun basis data angka-angka secepat kilat, kamu biasanya mengandalkan GPU. Gak heran sih, kebanyakan aplikasi yang butuh matematika berat, termasuk beberapa framework pembelajaran mesin, pada ngegass pake GPU buat nge-speed up perhitungan mereka.

Tapi, sekarang GPU juga lagi jadi bahan bakar basis data. Keduanya pas banget: GPU oke banget buat ngitung perhitungan dalam skala besar, dan basis data sering banget punya tuntutan kayak gitu - misalnya, waktu lagi nge-join yang rumit atau matematika baris per baris.

Berikut adalah lima penawaran, tiga komersial dan dua sumber terbuka, yang menawarkan solusi basis data dengan akselerasi GPU sebagai bagian dari paketnya.

MapD

Sebuah startup yang baru-baru ini mengungkapkan penawarannya, MapD mengkompilasi kueri SQL ke kode GPU asli dengan kerangka kompilasi LLVM. Ini juga bisa menggunakan CPU sebagai cadangan jika diperlukan.

Tapi, sumber akselerasi lain yang besar, menurut perusahaan, adalah toko memori lokal setiap GPU, yang digunakan sebagai cache data yang operasinya jauh lebih cepat daripada cache CPU atau memori utama. MapD mengklaim setup yang didukung GPU-nya berorde kali lebih cepat daripada basis data in-memory dan pengaturan Hadoop sekaligus. Tapi, ya, angka-angka ini mending dicerna dengan bijak, soalnya dihitung pake GPU Nvidia Kepler K80 yang sangat mahal dan ultra-tinggi.

Kinetica

Dulu dikenal sebagai GPUdb, nama lama perusahaan seharusnya memberi petunjuk bahwa itu membuat solusi basis data yang didukung GPU. Versi terbaru dari produk basis datanya, juga bernama Kinetica, tidak hanya menggunakan akselerasi GPU secara umum, tetapi juga memanfaatkan fitur akselerasi khusus untuk tumpukan GPU Nvidia - seperti teknologi NVlink Nvidia, yang mempercepat transfer data antara GPU (dan antara GPU dan CPU) untuk menghindari bottleneck pada bus PCIe.

Tapi Kinetica juga berusaha memastikan perusahaan melihat ini sebagai produk basis data perusahaan modern, bukan hanya pameran teknologi mutakhir. Oleh karena itu, ada dukungan untuk fitur basis data komersial standar seperti kueri SQL-92, pengelompokan, failover, dan instalasi satu kali klik.

BlazingDB

BlazingDB adalah basis data yang didukung GPU yang ditujukan khusus untuk perusahaan yang menggunakan PostgreSQL, MySQL, atau Amazon Redshift. Para pencipta BlazingDB mengklaim peningkatan kecepatan besar-besaran dibandingkan dengan semua produk tersebut.

Perbedaan kunci lainnya adalah bahwa BlazingDB menawarkan instansi produknya baik yang berbasis lokal maupun berbasis cloud. Jika kamu udah punya data di Amazon atau Azure, kamu bisa bikin instansi BlazingDB di sebelahnya, lempar data kamu, dan bandingin performa kueri sendiri.

Perusahaan mulai menawarkan versi komersial produknya pada bulan Juni, serta edisi komunitas gratis. Perlu diingat bahwa kamu butuh driver CUDA Nvidia untuk Linux, dan satu-satunya platform yang didukung saat ini adalah Ubuntu 14.04.

Blazegraph

Gak semua basis data adalah sistem SQL serbaguna; beberapa dioptimalkan untuk jenis pekerjaan manipulasi data tertentu. Basis data grafik, misalnya, menganalisis hubungan antara objek dan melaporkan kembali pada mereka.

Jenis basis data kayak gini juga bisa diakselerasi sama GPU. Nah, ini dia Blazegraph, basis data grafik sumber terbuka yang ditulis dalam Java, dengan dua metode akselerasi GPU. Yang paling dasar adalah dengan menerapkan akselerasi GPU ke pekerjaan analisis grafik yang udah ada, yang pencipta Blazegraph klaim bakal ngasih kecepatan 200-300 kali lipat dibandingkan dengan pekerjaan yang terikat CPU.

Opsi No. 2 adalah nulis ulang pekerjaan dalam Blazegraph DASL, bahasa yang dirancang buat eksekusi paralel di GPU. "Dengan gabungin kemudahan Spark sama kecepatan CUDA dan GPU," klaim pencipta Blazegraph, "aplikasi mereka bisa beroperasi sampe 1.000x lebih cepat dibanding Spark tanpa GPU."

PG-Strom

Basis data sumber terbuka yang populer, PostgreSQL, punya banyak fitur keren: bisa diskalakan, punya fungsi penyimpanan dokumen ala NoSQL/JSON, dan selalu update sama teknologi basis data terbaru.

Satu fitur yang gak dimilikinya secara langsung adalah akselerasi GPU. Tapi, bisa ditambahin akselerasi GPU lewat proyek sampingan bernama PG-Strom. Ketika kueri tertentu dioptimalkan, PG-Strom nentuin apakah bisa dipindahin ke GPU; kalo bisa, dia bangun versi yang dioptimalkan GPU dari kueri itu dengan kompilator just-in-time. Kueri yang dihasilkan kemudian dipindahin ke GPU dan diparalelkan.

Mengatur PG-Strom butuh sedikit kerja, karena perlu toolkit CUDA Nvidia dan perlu di-compile dari sumber. Tapi setelah terintegrasi ke dalam PostgreSQL sebagai penyedia pemindaian kustom, dia bisa kerja sama kueri apa adanya; nggak perlu ditulis ulang buat diakselerasi GPU.

0 komentar:

Posting Komentar