Blog

Mengapa Setiap Aplikasi Mythex Mendapat Database Sendiri

Saat aplikasi yang Anda bangun di Mythex perlu menyimpan data, seperti pendaftaran, pemesanan, atau pesanan, proyek itu mendapat database Postgres sendiri. Bukan tabel di dalam database bersama, bukan skema di samping milik orang lain: database terpisah, dibuat sesuai permintaan, yang tidur saat tidak ada yang memakainya. Berikut alasan kami membangunnya seperti itu, dan apa biayanya.

Apa yang Anda dapatkan

Saat Anda meminta data (“simpan email daftar tunggu”, “simpan pemesanan”) atau memakai perintah /database, Mythex:

  • membuat database Postgres khusus untuk proyek (saat ini Postgres 17),
  • menyuntikkan detail koneksinya ke workspace Anda dan ke aplikasi yang dipublikasikan sebagai variabel lingkungan, sehingga detail itu tidak pernah muncul di kode Anda, dan
  • membiarkan agen membuat tabel serta membaca dan menulis data untuk Anda.

Database yang sama dipakai oleh pratinjau langsung dan aplikasi yang dipublikasikan. Database itu tidur setelah 5 menit tidak aktif dan bangun pada query berikutnya. Database baru dimulai dengan ukuran kecil dan bisa diskalakan di bawah beban, dengan batas atas agar query yang lepas kendali tidak bisa tumbuh tanpa batas. Info lebih lanjut ada di dokumentasi database.

Mengapa tidak satu database bersama yang besar?

Database bersama dengan kolom yang menyatakan aplikasi mana yang memiliki setiap baris lebih murah dijalankan dan lebih sederhana dioperasikan. Kami memilih tidak melakukannya karena empat alasan.

1. Isolasi yang tidak perlu Anda percayai

Kode yang ditulis AI membuat kesalahan. Di database bersama, satu WHERE app_id = … yang terlewat dalam satu query aplikasi bisa membaca atau menimpa data pelanggan lain. Dengan database per aplikasi, tidak ada data pelanggan lain yang bisa dijangkau. Sebuah bug tetap berada di dalam aplikasinya sendiri.

2. Ini Postgres sungguhan, bukan lapisan milik sendiri

Aplikasi Anda berbicara dengan Postgres standar memakai string koneksi biasa. Library, ORM, atau tool apa pun yang bekerja dengan Postgres juga bekerja di sini. Jika Anda mengekspor proyek untuk menjalankannya di tempat lain, proyek itu mengharapkan database Postgres, sesuatu yang ditawarkan setiap penyedia hosting, bukan API khusus Mythex.

3. Setiap aplikasi bisa dibentuk sesuai kebutuhannya

Satu aplikasi menginginkan tabel bookings dengan constraint unik pada slot waktu; aplikasi lain menginginkan pencarian teks penuh atas produk. Dengan database sendiri, skema dan migrasi setiap aplikasi menjadi urusannya sendiri. Tidak ada yang harus cocok dengan desain yang paling umum disepakati.

4. Biaya mengikuti pemakaian

Karena setiap database tidur sendiri-sendiri, aplikasi yang tidak dipakai siapa pun hampir tidak menimbulkan biaya, dan biaya aplikasi yang sibuk terlihat sebagai baris tersendiri. Penggunaan database yang dipublikasikan ditagih dari apa yang benar-benar diukur database tersebut; cara penagihannya bekerja.

Trade-off-nya

Desain ini tidak gratis:

  • Cold start. Database yang tidur membutuhkan waktu sejenak untuk bangun pada query pertama setelah jeda yang sepi. Bagi sebagian besar aplikasi, ini hampir tidak terasa; untuk aplikasi yang harus menjawab seketika kapan pun, ini perlu dipertimbangkan.
  • Biaya saat terjaga tanpa dipakai. Database tetap terjaga selama ada sesuatu yang melakukan query padanya. Aplikasi yang mem-polling database-nya setiap beberapa detik membuatnya terjaga sepanjang waktu dan biayanya lebih besar daripada aplikasi yang melakukan query saat dibutuhkan. Jika pemakaian Anda terlihat lebih tinggi dari perkiraan, biasanya inilah penyebabnya. Mintalah AI untuk berhenti melakukan polling dan memuat data saat dibutuhkan.
  • Lebih banyak bagian bergerak bagi kami. Membuat, melacak, dan membersihkan ribuan database lebih banyak pekerjaan daripada satu. Itu masalah kami untuk ditangani, bukan Anda.

Jika Anda baru mengenal database

Database adalah tempat aplikasi menyimpan apa yang perlu diingatnya. Jika gagasan ini baru bagi Anda, mulailah dengan apa itu database dan apa itu Postgres. Saat Anda siap membangun sesuatu yang menyimpan data, cara membangun aplikasi dengan AI memandu cara menambahkannya.

Mythex · Pricing · Bangun apa pun dengan AI · Template website dan aplikasi · Mythex dibandingkan · Glosarium membuat aplikasi dengan AI · Alat gratis untuk membuat aplikasi dengan AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)