Database grafik terbaik

Database grafik, yang secara eksplisit mengekspresikan koneksi antar node, lebih efisien dalam analisis jaringan (komputer, manusia, geografi, atau lainnya) daripada database relasional. Itu memberi basis data grafik kaki untuk aplikasi seperti deteksi penipuan dan sistem rekomendasi.

Salah satu daya tarik utama dari database grafik adalah kemampuannya untuk menjalankan algoritma komputasi grafik. Ini digunakan untuk tugas-tugas yang tidak cocok dengan database relasional, seperti pencarian grafik, pathfinding, sentralitas, PageRank, dan deteksi komunitas. Algoritme grafik sebagian besar didukung dalam database grafik analitis (OLAP dan HTAP), meskipun beberapa database grafik transaksional (OLTP) seperti Neo4j mendukungnya.

Semua database grafik yang dibahas di sini memiliki skalabilitas horizontal yang baik. Beberapa juga mendukung replika baca, distribusi global, dan sharding horizontal otomatis.

Amazon Neptunus

Amazon Neptune adalah layanan database grafik transaksional terkelola (OLTP) yang terkelola sepenuhnya dengan properti ACID dan konsistensi langsung, yang pada intinya memiliki mesin database grafik berperforma tinggi yang dibuat khusus dan dioptimalkan untuk menyimpan miliaran hubungan dan membuat kueri grafik dengan milidetik latensi. Neptune mendukung dua bahasa kueri grafik sumber terbuka paling populer, Apache TinkerPop Gremlin dan W3C SPARQL.

Kluster database Neptune dapat memiliki penyimpanan penskalaan otomatis hingga 64 TB di enam replika data Anda di tiga zona ketersediaan, dan lebih banyak lagi jika Anda mengaktifkan ketersediaan tinggi dengan menggunakan replika baca di zona tambahan. Neptune secara otomatis mendeteksi database crash, dan restart — biasanya dalam 30 detik atau kurang — tanpa perlu melakukan pemulihan crash atau untuk membangun kembali cache database, karena cache diisolasi dari proses database dan dapat bertahan dari restart. Jika seluruh instance utama gagal, Neptune secara otomatis akan mengalihkan ke salah satu dari hingga 15 replika baca. Cadangan terus dialirkan ke Amazon S3.

Anda dapat menskalakan cluster Neptune naik dan turun baik dengan memodifikasi instance atau, untuk menghindari waktu henti, dengan menambahkan instance dengan ukuran yang diinginkan dan mematikan instance lama setelah salinan data dimigrasi dan Anda telah mempromosikan instance baru ke primer. Ukuran instance VM Neptune berkisar dari db.r4.large (dua vCPU dan 16 GiB RAM) hingga db.r4.8xlarge (32 vCPU dan 244 GiB RAM), memberikan Neptune rentang dinamis 16x untuk penulisan dan rentang dinamis 256x untuk membaca (menghitung replika baca).

Baca ulasan saya tentang Amazon Neptune.

AnzoGraph

AnzoGraph adalah database grafik OLAP dalam memori yang sangat besar dan paralel yang bekerja dengan sumber data perusahaan dan melakukan pemuatan data paralel dalam format RDF dan CSV. AnzoGraph dapat diterapkan di kotak pasir satu node, atau dalam cluster dengan node sebanyak yang diperlukan untuk produksi. AnzoGraph memiliki properti transaksi ACID.

AnzoGraph menggunakan data triple dan quad RDF standar W3C dan kueri SPARQL 1.1. Ini mendukung grafik properti berlabel sebagai bagian dari penyimpanan RDF, sesuai dengan standar RDF * dan SPARQL * yang diusulkan, dan memiliki ekstensi ke SPARQL untuk mendukung algoritme grafik, menyimpulkan, agregat jendela, fungsi BI, dan tampilan bernama. Dukungan untuk bahasa OpenCypher yang kompatibel dengan Neo4j dan protokol Bolt Neo4j telah direncanakan.

AnzoGraph menampilkan eksekusi kueri grafik berkinerja tinggi dan skalabilitas hingga miliaran bahkan triliunan tiga kali lipat, serta pemuatan data paralel cepat yang tidak perlu membuat database offline. Kluster AnzoGraph dapat diterapkan di CentOS, Kubernetes, dan AWS. Penerapan Google Cloud Platform dan Azure dari AnzoGraph biasanya diperlakukan sebagai penerapan Kubernetes. AnzoGraph telah menunjukkan skalabilitas hingga 40 node dalam tolok ukur sintetis.

Baca review saya tentang AnzoGraph.

Neo4j

Neo4j adalah database grafik OLTP terukur dengan beberapa kemampuan OLAP. Neo4j adalah database grafik asli, pertama kali dibuat pada tahun 1999, dan terus menjadi pemimpin pasar.

Sementara open source Neo4j Community Edition terbatas pada satu server, Neo4j Enterprise Edition memungkinkan Anda untuk menambahkan node ke cluster sebanyak yang Anda butuhkan untuk tujuan kinerja.

Setiap node dalam cluster ketersediaan tinggi Neo4j berisi database dan komponen manajemen cluster, dan cluster dapat diakses melalui load balancer. Grafik lengkap direplikasi ke setiap contoh cluster, dan kapasitas baca setiap cluster HA meningkat secara linier dengan jumlah instance server. Neo4j dapat melakukan puluhan ribu penulisan per detik sambil mempertahankan transaksi ACID sepenuhnya.

Dalam cluster kausal Neo4j , cluster inti server baca-tulis digabungkan dengan satu atau beberapa cluster replika baca yang diperbarui secara asinkron. Setiap aplikasi dijamin konsistensi kausal, artinya aplikasi tersebut dijamin untuk membaca setidaknya tulisannya sendiri, bahkan ketika perangkat keras dan jaringan gagal. Replika baca dalam cluster kausal mungkin didistribusikan secara geografis untuk meningkatkan kinerja kueri bagi pengguna di dekat replika.

Baca review saya tentang Neo4j.

TigerGraph

TigerGraph adalah database grafik HTAP paralel real-time yang tersedia untuk diterapkan di cloud atau di lokasi. TigerGraph mendukung properti ACID, memiliki kompresi data internal, secara otomatis mempartisi grafik dalam cluster, dan mengklaim lebih cepat daripada pesaing. Ini menggunakan arsitektur penyampaian pesan yang secara inheren paralel dengan cara yang disesuaikan dengan ukuran data.

TigerGraph dirancang untuk dapat melakukan analitik tautan dalam serta pemrosesan transaksi online waktu nyata dan pemuatan data volume tinggi. Dengan "analitik tautan dalam", TigerGraph berarti mengikuti hubungan dari titik sudut melalui grafik untuk tiga lompatan atau lebih dan menganalisis hasilnya.

Sementara beberapa bahasa kueri grafik sumber terbuka telah diadopsi secara luas, seperti Cypher, Gremlin, dan SPARQL, TigerGraph memiliki bahasa kueri baru, GSQL. GSQL menggabungkan sintaks kueri seperti SQL dengan navigasi grafik seperti Cypher, ditambah pemrograman prosedural dan fungsi yang ditentukan pengguna. TigerGraph dapat mengonversi Cypher ke GSQL untuk orang-orang yang pindah dari database Neo4j.

TigerGraph memiliki penawaran cloud terkelola yang saat ini dalam pratinjau terbatas. TigerGraph telah mendemonstrasikan kecepatan 6,7x saat menjalankan cluster baca-tulis dengan delapan mesin, tetapi tidak mengatakan apa pun tentang replika baca atau distribusi geografis.

Baca review saya tentang TigerGraph.