View a markdown version of this page

Lebih suka menggunakan ID khusus untuk node/relationship - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Lebih suka menggunakan ID khusus untuk node/relationship

Neptunus memungkinkan pengguna untuk secara eksplisit menetapkan ID pada node dan hubungan. ID harus unik secara global dalam dataset dan deterministik agar berguna. ID deterministik dapat digunakan sebagai pencarian atau mekanisme pemfilteran seperti properti; Namun, menggunakan ID jauh lebih dioptimalkan dari perspektif eksekusi kueri daripada menggunakan properti. Ada beberapa manfaat menggunakan ID khusus -

  • Properti dapat menjadi null untuk entitas yang ada, tetapi ID harus ada. Hal ini memungkinkan mesin query untuk menggunakan gabungan yang dioptimalkan selama eksekusi.

  • Ketika kueri mutasi bersamaan dijalankan, kemungkinan pengecualian modifikasi bersamaan (CME) berkurang secara signifikan ketika ID digunakan untuk mengakses node karena lebih sedikit kunci yang mengambil ID daripada properti karena keunikannya yang ditegakkan.

  • Menggunakan ID menghindari kemungkinan membuat data duplikat karena Neptunus memberlakukan keunikan pada ID, tidak seperti properti.

Contoh kueri berikut menggunakan ID kustom:

catatan

Pro ~id perti digunakan untuk menentukan ID, sedangkan hanya id disimpan seperti properti lainnya.

CREATE (n:Person {`~id`: '1', name: 'alice'})

Tanpa menggunakan ID khusus:

CREATE (n:Person {id: '1', name: 'alice'})

Jika menggunakan mekanisme yang terakhir, tidak ada penegakan keunikan dan Anda nantinya dapat menjalankan kueri:

CREATE (n:Person {id: '1', name: 'john'})

Ini menciptakan node kedua dengan id=1 namajohn. Dalam skenario ini, Anda sekarang akan memiliki dua node denganid=1, masing-masing memiliki nama yang berbeda - (alice dan john).