Rumah hujung hadapan web tutorial js Cara Membina Backend Anda Dengan Hasura dan PostgreSQL

Cara Membina Backend Anda Dengan Hasura dan PostgreSQL

Feb 09, 2025 am 09:22 AM

How to Build Your Backend with Hasura and PostgreSQL

Membina backends yang kuat sering melibatkan pengekodan yang luas untuk operasi CRUD, kebenaran, dan logik perniagaan-proses yang memakan masa. Artikel ini meneroka bagaimana Hasura dan PostgreSQL menyelaraskan pembangunan backend, membolehkan aplikasi yang lebih cepat dilancarkan dengan usaha pengekodan yang minimum.

Hasura, enjin GraphQL sumber terbuka, secara automatik menghasilkan API GraphQL dan REST dari skema pangkalan data anda. Ia menyokong pemodelan data, pertanyaan masa nyata, pengaturcaraan acara, kebenaran berasaskan peranan, dan pelaksanaan logik perniagaan tersuai melalui tindakan GraphQL.

PostgreSQL, pangkalan data relasi sumber terbuka yang kuat, menawarkan ciri-ciri peringkat perusahaan yang setanding dengan Oracle dan Microsoft SQL Server, menjadikannya pilihan yang boleh dipercayai untuk aplikasi berskala besar. Penggunaannya oleh syarikat -syarikat seperti Netflix dan Spotify menggariskan keupayaannya. Walaupun Hasura menyokong pangkalan data lain, artikel ini memberi tumpuan kepada PostgreSQL kerana kebolehaksesan dan sifat sumber terbuka. Sokongan MySQL dirancang.

Panduan ini menyoroti ciri Hasura untuk membina backends berskala untuk aplikasi web dan mudah alih. Ia juga menunjukkan bagaimana keupayaan PostgreSQL, yang diakses melalui SQL, boleh melakukan perhitungan dan analisis yang kompleks, mengurangkan keperluan untuk kod sisi pelayan tersuai.

Kelebihan utama:

    pembangunan backend yang cepat:
  • API Auto yang dihasilkan oleh Hasura dengan ketara mengurangkan masa pengekodan.
  • POSTRESQL POWER:
  • Leverage Ciri -ciri canggih PostgreSQL (Warisan Jadual, Kawalan Konvensyen, Jenis Data JSON/Spatial) untuk integriti dan prestasi data yang dipertingkatkan.
  • Keupayaan masa nyata:
  • pertanyaan masa nyata Hasura, pengaturcaraan acara, dan kebenaran berasaskan peranan membuat aplikasi yang sangat responsif.
  • Penyebaran mudah:
  • Menyediakan Hasura Menggunakan Docker untuk Pembangunan Tempatan atau Hasura Cloud untuk aplikasi berskala, selamat, diedarkan secara global dengan ciri -ciri seperti pemantauan dan caching.
  • Konsol Web Komprehensif:
  • Menguruskan pemodelan data, operasi CRUD, dan pertanyaan kompleks dalam konsol web intuitif Hasura. Gabungkan dengan pengesahan dan penyedia storan fail.
  • aliran kerja yang diselaraskan:
  • Gunakan alat penghijrahan Hasura dan pementasan persekitaran untuk peralihan lancar antara pembangunan dan pengeluaran, menyokong CI/CD.
  • Mengapa Pilih PostgreSql?

Pangkalan data relasi seperti kelebihan PostgreSQL menawarkan kelebihan ke atas jenis pangkalan data lain, termasuk pemodelan skema, menyertai operasi, dan urus niaga asid -penting untuk integriti data. PostgreSQL terus cemerlang dengan:

  • warisan jadual: pemodelan data yang cekap.
  • Kawalan Concurrency Advanced: Mengendalikan data volum tinggi menulis dengan berkesan dalam persekitaran pelbagai pengguna.
  • Toleransi kesalahan dan integriti data: mengurangkan risiko rasuah data.
  • Jenis data unik: menyokong jenis data JSON dan spatial, bermanfaat untuk pelbagai aplikasi.

PostgreSQL juga bertindak sebagai pelayan pengiraan, melaksanakan fungsi tersuai dan pencetus untuk tugas analisis, menghapuskan keperluan untuk kod pelayan yang berasingan. Ini dicapai dengan menggunakan:

  • Pandangan: Memudahkan pertanyaan kompleks.
  • Fungsi & Operator: Melaksanakan pemformatan tarikh, pemadanan corak, dan operasi aritmetik.
  • sambungan: melanjutkan fungsi PostgreSQL (mis., Postgis).
  • Bahasa prosedur: Tulis fungsi yang ditentukan pengguna dan prosedur yang disimpan (mis., PL/PGSQL).

Hasura mendedahkan logik PostgreSQL ini melalui GraphQL, menjadikannya mudah diakses dengan aplikasi frontend.

How to Build Your Backend with Hasura and PostgreSQL

Contoh PostgreSQL:

  • Contoh 1 (Pengguna Online View): Pandangan untuk mengambil pengguna sekarang aktif:
CREATE OR REPLACE VIEW "public"."online_users" AS
 SELECT users.id, users.last_seen
   FROM users
  WHERE (users.last_seen >= (now() - '00:00:30'::interval));
Salin selepas log masuk
  • Contoh 2 (geolokasi dengan postgis): Cari kedai dalam radius 1000 meter:
SELECT id, name, address, geom
FROM Seattle_Starbucks
WHERE ST_DWithin(geom, ST_MakePoint(-122.325959,47.625138)::geography, 1000);
Salin selepas log masuk

Apa itu HASURA?

Hasura adalah enjin graphQL sumber terbuka, masa nyata yang menghasilkan API untuk pangkalan data anda. Konsol webnya membolehkan:

Pemodelan skema
  • : Buat jadual, tentukan hubungan, dan menguruskan data.
  • Operasi CRUD: Lakukan Buat, Baca, Kemas kini, dan Padam Tindakan.
  • Kawalan akses berasaskan peranan: Melaksanakan keizinan berbutir.
  • Graphql/Rest Endpoint Penciptaan: menghasilkan API untuk data anda.
  • pelaksanaan SQL:
  • Jalankan pertanyaan SQL tersuai.
  • Tindakan & pencetus Definisi:
  • Automatikkan tugas dan mengendalikan peristiwa.

Nota: Hasura memerlukan integrasi dengan penyedia pengesahan berasingan (mis., Auth0, Firebase) dan perkhidmatan storan fail. NHOST menawarkan penyelesaian bersepadu. How to Build Your Backend with Hasura and PostgreSQL

Pelancaran hasura:

  • Docker: disyorkan untuk pembangunan tempatan, menawarkan persediaan mudah dan tiada kadar mengehadkan.
  • Hasura Cloud: Memudahkan penggunaan dengan skalabilitas, keselamatan, dan pengedaran global, termasuk pemantauan dan ciri caching. Tier percuma boleh didapati dengan batasan.

How to Build Your Backend with Hasura and PostgreSQL Ciri -ciri Hasura (🎜 🎜> Hasura (gambaran terperinci):

Pengurus Data:
    Pereka skema visual untuk membuat jadual, menentukan hubungan, dan menguruskan jenis data (termasuk JSON dan jenis tersuai).
  • How to Build Your Backend with Hasura and PostgreSQL Kebenaran:
  • Kawalan akses berasaskan peranan dengan keizinan berbutir untuk memasukkan, memilih, mengemas kini, dan memadam operasi.
  • How to Build Your Backend with Hasura and PostgreSQL Pertanyaan:
  • Jalankan pelbagai pertanyaan GraphQL (mudah, bersarang, agregasi, penapisan) secara langsung dalam konsol.
  • How to Build Your Backend with Hasura and PostgreSQL Mutasi:
  • Lakukan memasukkan, upsert, kemas kini, dan padam operasi dengan sokongan untuk urus niaga.
  • langganan:
  • Melaksanakan kemas kini data masa nyata menggunakan langganan GraphQL melalui WebSockets.
  • Skema jauh:
  • Bersepadu dengan API pihak ketiga untuk data dan logik.
  • Tindakan:
  • Laksanakan logik perniagaan tersuai melalui webhooks menggunakan mana -mana bahasa pengaturcaraan.
  • Pencetus acara:
  • Memohon webhooks berdasarkan peristiwa pangkalan data (masukkan, kemas kini, padam). Menyokong penyerahan manual.
  • Pencetus yang dijadualkan:
  • Jalankan tugas secara berkala (cron) atau sekali (satu kali) melalui webhooks.
  • How to Build Your Backend with Hasura and PostgreSQL Migrasi dan persekitaran:
  • Menguruskan perubahan skema menggunakan fail migrasi untuk pangkalan data dan metadata Hasura, menyokong aliran kerja CI/CD.
  • Pilihan penempatan:

Hasura Cloud:
    Penyebaran Pengeluaran paling mudah. ​​
  • hosting luaran:
  • heroku, lautan digital, render, azure, kubernet, AWS (lebih kompleks).
  • nhost:
  • penyelesaian semua-dalam-one termasuk PostgreSQL, Hasura, Pengesahan, dan Penyimpanan.
  • Ringkasan:

Hasura dan PostgreSQL menawarkan kombinasi yang kuat untuk pembangunan backend pesat. Usaha pengekodan yang dikurangkan, keupayaan masa nyata, dan ciri-ciri yang mantap menjadikannya penyelesaian yang menarik untuk membina aplikasi berskala dan boleh dipelihara. Walaupun tidak seperti ciri-ciri seperti beberapa alternatif dalam setiap aspek, kemudahan penggunaannya, fokus pada prestasi, dan sifat sumber terbuka adalah kelebihan yang signifikan.

Soalan Lazim (Soalan Lazim): (Soalan Lazim yang disediakan sudah komprehensif dan ditulis dengan baik; tiada pengubahsuaian diperlukan.)

Atas ialah kandungan terperinci Cara Membina Backend Anda Dengan Hasura dan PostgreSQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1663
14
Tutorial PHP
1266
29
Tutorial C#
1239
24
Demystifying JavaScript: Apa yang berlaku dan mengapa penting Demystifying JavaScript: Apa yang berlaku dan mengapa penting Apr 09, 2025 am 12:07 AM

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Evolusi JavaScript: Trend Semasa dan Prospek Masa Depan Evolusi JavaScript: Trend Semasa dan Prospek Masa Depan Apr 10, 2025 am 09:33 AM

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

Enjin JavaScript: Membandingkan Pelaksanaan Enjin JavaScript: Membandingkan Pelaksanaan Apr 13, 2025 am 12:05 AM

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

JavaScript: meneroka serba boleh bahasa web JavaScript: meneroka serba boleh bahasa web Apr 11, 2025 am 12:01 AM

JavaScript adalah bahasa utama pembangunan web moden dan digunakan secara meluas untuk kepelbagaian dan fleksibiliti. 1) Pembangunan front-end: Membina laman web dinamik dan aplikasi satu halaman melalui operasi DOM dan kerangka moden (seperti React, Vue.js, sudut). 2) Pembangunan sisi pelayan: Node.js menggunakan model I/O yang tidak menyekat untuk mengendalikan aplikasi konkurensi tinggi dan masa nyata. 3) Pembangunan aplikasi mudah alih dan desktop: Pembangunan silang platform direalisasikan melalui reaktnatif dan elektron untuk meningkatkan kecekapan pembangunan.

Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Apr 16, 2025 am 12:12 AM

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Cara Membina Aplikasi SaaS Multi-Tenant dengan Next.js (Integrasi Frontend) Cara Membina Aplikasi SaaS Multi-Tenant dengan Next.js (Integrasi Frontend) Apr 11, 2025 am 08:22 AM

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan

Dari C/C ke JavaScript: Bagaimana semuanya berfungsi Dari C/C ke JavaScript: Bagaimana semuanya berfungsi Apr 14, 2025 am 12:05 AM

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Membina aplikasi SaaS Multi-penyewa dengan Next.js (Integrasi Backend) Membina aplikasi SaaS Multi-penyewa dengan Next.js (Integrasi Backend) Apr 11, 2025 am 08:23 AM

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing

See all articles