Hyperdrive adalah layanan connection-pooling terkelola yang memungkinkan Workers berkomunikasi langsung dengan database PostgreSQL – termasuk yang menggunakan ekstensi pgvector untuk pencarian vektor. Dengan menjaga sekumpulan koneksi database yang dapat digunakan kembali tetap dekat dengan server, Hyperdrive memangkas overhead handshake yang telah lama menghambat beban kerja AI di edge.

Mengapa Workers dan PostgreSQL berbenturan

Cloudflare Workers berjalan sebagai fungsi JavaScript berdurasi singkat di puluhan lokasi edge. Setiap permintaan yang masuk memulai proses baru, dan pola yang umum adalah membuka koneksi TCP baru ke database backend. Namun, PostgreSQL mengharapkan koneksi yang stabil untuk setiap proses klien dan membatasi jumlah total koneksi simultan. Hasilnya adalah dua masalah:

  • Biaya koneksi yang tinggi – membangun koneksi memerlukan beberapa round trip untuk autentikasi dan negosiasi protokol. Round trip tersebut menambah latensi pada setiap permintaan.
  • Batasan koneksi – Workers dapat berskala hingga ribuan eksekusi konkuren, yang dengan cepat menghabiskan connection pool PostgreSQL dan berpotensi membuat database crash.

Bagaimana Hyperdrive menjembatani celah tersebut

Hyperdrive berada di antara Worker dan database, memelihara pool koneksi persisten pada server yang secara jaringan dekat dengan instans PostgreSQL. Dari sudut pandang Worker, satu-satunya perubahan adalah string koneksi baru. Secara internal, proxy menggunakan kembali koneksi yang ada untuk setiap kueri yang masuk, sehingga menghilangkan biaya handshake.

Pengaturan sengaja dibuat ringan:

  1. Jalankan Wrangler CLI (alat baris perintah Cloudflare) untuk membuat instans Hyperdrive, dengan menyertakan URL database asli.
  2. Tambahkan binding Hyperdrive yang dihasilkan ke file konfigurasi wrangler.toml.
  3. Gunakan driver yang kompatibel seperti node-postgres di dalam kode Worker; driver tersebut akan melihat endpoint Hyperdrive sebagai server PostgreSQL biasa.

Karena kata sandi database hanya tersimpan di konfigurasi Hyperdrive, kata sandi tersebut tidak akan pernah muncul di kode sumber Worker, sehingga mengurangi permukaan serangan (attack surface).

Tips praktis untuk pencarian vektor

Beban kerja pencarian vektor yang menggunakan pgvector melibatkan array floating-point besar yang cenderung berubah pada setiap kueri. Perilaku default Hyperdrive mencakup cache baca (read cache), yang dapat berbenturan dengan data yang terus bermutasi. Untuk menjaga hasil tetap segar, buatlah konfigurasi Hyperdrive kedua dengan caching dinonaktifkan.

Transaksi yang berjalan lama adalah jebakan lainnya. Menahan koneksi database saat menunggu respons model AI eksternal akan menyita slot dalam pool dan menghilangkan tujuan dari pooling. Pola yang direkomendasikan adalah:

  • Buka transaksi.
  • Jalankan kueri.
  • Segera commit.
  • Panggil model AI di luar transaksi.

Penyetelan halus (fine-tuning) parameter pgvector (misalnya, pengaturan hnsw.ef_search yang mengontrol akurasi pencarian) dapat dilakukan dengan pernyataan SET LOCAL di dalam transaksi singkat. Hal ini memastikan perubahan hanya berlaku untuk kueri saat ini dan tidak memengaruhi Worker lain yang berbagi pool yang sama.

Batasan yang tetap ada

Hyperdrive tidak memindahkan database itu sendiri. Jika server PostgreSQL berada di wilayah cloud yang jauh, latensi akan tetap dibatasi oleh jarak fisik tersebut. Fitur “Smart Placement” dari Cloudflare dapat membantu dengan mengarahkan Workers ke node edge terdekat yang juga memiliki instans Hyperdrive, tetapi fitur ini tidak dapat menghilangkan round-trip jaringan yang mendasarinya.

Lapisan caching, meskipun berguna untuk pembacaan statis, akan sering mengalami cache miss pada data vektor yang berubah per permintaan. Pengembang perlu menimbang trade-off antara cache hit dan kesegaran hasil pencarian.

Kapan harus memilih alternatif lain

Jika sebuah aplikasi hanya membutuhkan penyimpanan vektor murni tanpa join relasional, Cloudflare menawarkan layanan khusus bernama Vectorize. Vectorize menyimpan vektor secara langsung di edge dan menghilangkan kebutuhan akan backend PostgreSQL. Hyperdrive tetap menjadi pilihan yang lebih baik ketika vektor harus digabungkan (joined) dengan tabel relasional yang ada, seperti profil pengguna atau riwayat transaksi.

Kesimpulan

Hyperdrive memberikan alat praktis bagi pengembang edge untuk menjalankan pencarian vektor berbasis AI tanpa melampaui batasan koneksi PostgreSQL mereka. Layanan ini memangkas latensi handshake, memusatkan kredensial, dan menawarkan kontrol mendalam terhadap caching serta durasi transaksi. Layanan ini tidak menghapus jarak fundamental antara edge dan database, dan cache-miss tetap menjadi perhatian, tetapi untuk beban kerja yang membutuhkan join relasional sekaligus kemiripan vektor, Hyperdrive adalah jalur paling langsung menuju stack edge yang skalabel dan berlatensi rendah.