2 poin oleh GN⁺ 2024-08-29 | 1 komentar | Bagikan ke WhatsApp
  • ChartDB adalah editor diagram DB untuk memvisualisasikan skema database dengan cepat dan mengelolanya sebagai diagram ER, dengan fokus pada kolaborasi tim dan pekerjaan migrasi skema
  • Cloud berjalan di browser dan mengklaim bisa menghasilkan diagram dalam 15 detik tanpa akses ke database
  • Self-Hosted tersedia sebagai open source gratis, cocok untuk kebutuhan keamanan dan kustomisasi yang mengharuskan kontrol langsung atas data dan konfigurasi
  • Mendukung impor skema berbasis kueri tunggal, pembuatan diagram ER dengan AI, ekspor SQL DDL, sinkronisasi otomatis, kolaborasi real-time, dokumen tersemat, dan pelacakan perubahan
  • Dapat digunakan untuk berbagai DBMS relasional dan perancangan cloud data warehouse, termasuk PostgreSQL, MySQL, SQL Server, SQLite, MariaDB, ClickHouse, CockroachDB, Oracle, Snowflake, dan BigQuery

Diagram skema DB di browser

  • ChartDB adalah alat untuk langsung memvisualisasikan skema database dan membuat diagram ER
  • Diperkenalkan sebagai editor diagram DB untuk kolaborasi tim dan migrasi skema
  • Tombol mulai terhubung ke aplikasi ChartDB, disertai keterangan mulai gratis dan tanpa perlu kartu kredit
  • Di GitHub, ChartDB ditampilkan dengan +19K stars

Opsi Cloud dan Self-Hosted

  • ChartDB Cloud adalah cara untuk memvisualisasikan database di browser
    • Diperkenalkan cocok untuk kemudahan penggunaan dan akses tim
    • Ditandai dapat digunakan tanpa akses ke database
    • Mengklaim bisa mendapatkan diagram dalam 15 detik
  • Self-Hosted adalah editor desain database open source gratis
    • Memungkinkan kontrol penuh atas data dan konfigurasi
    • Menjadi pilihan yang sesuai untuk lingkungan yang membutuhkan keamanan dan kustomisasi
  • ChartDB menjelaskan bahwa DB dapat divisualisasikan dengan “kueri tunggal”

Alur kerja Import → Edit → Export

  • Instant Import

    • Menyediakan satu kueri untuk setiap database guna mengimpor seluruh skema
    • Panduan menyebut impor skema dapat dilakukan dalam 15 detik
  • Relational DBMS

    • MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, dan SQLite disebut sebagai DBMS populer dan ditandai sebagai target yang didukung
  • Export SQL

    • Diagram dapat diunduh sebagai skrip SQL DDL untuk dijalankan di database
    • Juga dapat diekspor sebagai gambar untuk dimasukkan ke dokumen
  • Examples

    • Menyediakan contoh yang sudah dirancang sebelumnya untuk pengaturan cepat dan referensi desain
    • Item ini ditandai sebagai WIP
  • Advanced Query Editor

    • Menyediakan fitur undo, redo, copy, paste, dan duplicate
    • Dapat menambahkan tabel, area topik, dan catatan
  • Beautiful Shares

    • Dapat membuat pratinjau visual diagram database untuk dibagikan dengan orang lain

Fitur pembuatan, berbagi, dan sinkronisasi diagram

  • ChartDB - AI Agent
    • Mengubah ide database yang dimasukkan dalam prompt menjadi diagram ER optimal yang bisa diedit
  • Instant Import
    • Fitur untuk mengimpor seluruh skema DB dengan satu kueri
  • Export SQL
    • Menghasilkan skrip DDL dalam dialek SQL yang diinginkan
  • Sync Database
    • Menyinkronkan database live dan diagram secara otomatis
  • Real time collaboration
    • Dapat mengundang anggota tim untuk melihat dan mengedit diagram secara real-time
  • Amazing Docs
    • Membuat diagram yang dapat di-embed dan dokumen yang dapat diperluas serta dikustomisasi
  • Keep on track
    • Melacak diff perubahan skema dan riwayat versi

Database yang didukung

  • ChartDB menjelaskan bahwa mereka mendukung desain untuk database dan cloud data warehouse
  • Item yang ditandai sebagai didukung adalah sebagai berikut
    • PostgreSQL
    • MySQL
    • SQL Server
    • SQLite
    • MariaDB
    • ClickHouse
    • CockroachDB
    • Oracle
    • Snowflake
    • BigQuery

Pertanyaan operasional yang dapat dilihat di FAQ

  • Terdapat pertanyaan tentang apakah ChartDB memodifikasi database
  • Ada item yang menanyakan apakah live ERD dapat di-embed ke Notion, Miro, dan Confluence
  • Ada item untuk memastikan apakah paket ChartDB Cloud bisa dicoba gratis
  • Cara mendapatkan dukungan, cara menyinkronkan diagram dan database, serta ketersediaan invoice dan pembayaran bisnis juga termasuk dalam FAQ

1 komentar

 
GN⁺ 2024-08-29
Komentar di Hacker News
  • Saya sering melihat tim proyek langsung terjun mengembangkan aplikasi baru tanpa diagram dasar yang menjelaskan aspek apa pun dari solusi, termasuk model data
    Saya tidak tahu apa yang diperlukan agar diagram ER sederhana menjadi standar dalam dokumentasi proyek. Ada banyak alat terkait, tetapi di lapangan hampir tidak pernah dipakai
    Mungkin agar orang mau memakainya, Microsoft perlu memasukkannya sebagai fitur Excel atau PowerPoint. Diagram tidak harus lengkap; cukup menyampaikan struktur inti dan relasi yang sesuai konteks. Jika perlu, buat beberapa diagram kecil untuk database yang sama guna mendokumentasikan kebutuhan dan desain

    • Ada beberapa alasan yang terpikir. Orang dengan latar belakang Management Information Systems (MIS) biasanya lebih tertarik pada database dibandingkan yang berlatar belakang computer science (CS), dan cenderung memulai dari ERD lalu beralih ke kode. Kubu CS cenderung ingin coding dulu
      Selain itu, UML nyaris seperti bencana. Sejak 1990-an UML menjadi semacam representasi utama bahasa diagram, tetapi tidak memiliki komponen database, sehingga diagram kelas harus dipaksa digunakan seperti ERD. UML bukan kode, dan membuat kode dengan UML juga sulit atau nyaris mustahil. Dengan ERD, berpindah antara kode dan diagram jauh lebih mudah, tetapi ini tidak berlaku untuk jenis coding lain
      Menurut saya, naik dan gagalnya UML berperan besar dalam membuat developer tidak menggambar diagram. Ditambah lagi, bagi kebanyakan developer, alat navigasi kode yang menampilkan struktur kode sebagai tree di panel kiri editor kode sudah cukup
    • Saya setuju karena saya melihat data terlebih dahulu saat memahami sistem, tetapi rasanya kami bukan mayoritas. Setidaknya di ekosistem Microsoft, meningkatnya pendekatan code-first secara pribadi tidak saya sambut baik
  • Dulu saya cukup positif terhadap pembuatan ERD, dan sering memakainya sebagai tugas onboarding bahkan untuk database dengan lebih dari 100 tabel. Namun ERD yang komprehensif makin jarang, dan menurut saya itu tidak masalah
    Biaya pemeliharaannya tinggi, sehingga nilainya tidak bertahan lama. Memiliki ERD yang rapi memang bagus, tetapi bukan keharusan
    Saat membuat ERD sebagai kode, alat seperti dbdiagram.io atau eraser.io banyak dipakai. ERWin bisa dibilang pelopor diagram UML/ERD, tetapi mahal

    • Membuat hal seperti ini secara manual hampir seperti kesalahan. Seperti yang disebutkan, karena sulit dipelihara. Menurut saya setiap database harus menghasilkan diagram otomatis, atau setidaknya punya alat untuk menghasilkan diagram otomatis
  • Saya penasaran kenapa orang memakai alat seperti ini. Apakah untuk berbicara dengan manajer?
    Saya bertanya sungguh-sungguh. Mungkin saya juga perlu memakainya, tetapi saya masih belum tahu kenapa ini diperlukan

    • Jika kompleksitas sudah mencapai tingkat tertentu sehingga diagram mulai bermakna, maka sebaiknya dipakai. Jika proyek sudah matang dan Anda tidak lagi menyimpan seluruh model database di kepala, atau tidak ingin menyimpannya, maka sebaiknya dipakai
      Ini juga diperlukan jika ada beberapa model di sistem yang berbeda, jika Anda bekerja dengan orang lain dan ingin memudahkan komunikasi tentang model database, jika perlu menjelaskannya secara publik, atau jika ingin merencanakan model sebelumnya
      Yang dimaksud “sebaiknya dipakai” di sini adalah diagram akhirnya, bukan harus alat khusus ini
    • Saya pernah memakai alat seperti ini untuk merapikan desain yang ada di kepala. Secara pribadi saya suka DBML, karena mudah dimasukkan ke source control dan ada plugin editornya
      https://dbml.dbdiagram.io/home/
    • Alasannya adalah “sebuah gambar bernilai seribu kata”
      Anda akan paham jika pernah menerima proyek berisi 80 tabel tanpa dokumentasi, atau paling banter hanya dokumen 50 halaman berisi dump skema database
      Tabel dan relasi inti bisa digambar dalam satu ERD (diagram entitas-relasi), dan bisa dipahami dalam hitungan menit, bukan berjam-jam atau berhari-hari seperti dump skema
      Pada tahap desain skema, Anda bisa memakai berbagai editor ERD atau alat diagram berbasis teks seperti PlantUML, MermaidJS, DBML, dan memasukkan sumber diagram ke source control
      Selain itu, jika CI menghasilkan ERD terperinci untuk skema database saat ini dan meninjaunya secara berkala, Anda bisa memastikan apakah itu sesuai dengan desain awal dan apakah Anda benar-benar memahami skema saat ini
    • Berkomunikasi dengan pihak bisnis dan menjelaskan batasan teknis atau kebutuhan data menjadi jauh lebih mudah. Ini juga membantu saat merancang secara kolaboratif dalam proyek yang kompleks, dan memperjelas di mana kita belum memenuhi kebutuhan data
    • Mirip seperti dokumentasi JavaDoc, ini memberikan sudut pandang yang lebih ringkas tentang bagaimana sesuatu bekerja
      Saya benar-benar tidak suka sikap “kodenya kan sudah menjelaskan dirinya sendiri!”
  • Saya melihat banyak layanan serupa. Namun yang saya cari adalah alat yang bisa digunakan langsung atau dikendalikan lewat skrip
    Use case saya adalah membuat diagram database yang relatif sederhana dari deskripsi model yang saya miliki sebagai bagian dari proses lain. Di dalam struktur memori ada nama tabel, nama kolom, dan relasi, lalu saya ingin menggambar diagram mirip ER
    Saat ini saya sedang melihat pendekatan membuat file puml dari data saya lalu menjalankan PlantUML untuk membuat png atau svg
    Kalau dicari, kebanyakan adalah alat desain database lengkap dengan editor sendiri tetapi tanpa API, sementara alat seperti ini atau dbdiagram.io biasanya hanya online, jadi bukan pilihan bagi saya. Saya akan sangat berterima kasih kalau ada rekomendasi

    • Penasaran apakah Anda sudah mencoba SchemaSpy
  • Seandainya ini ada 5 tahun lalu saat memulai proyek. Saya harus merancang skema database dalam proyek full-stack yang memakai Postgres, dan bekerja bersama pakar bidang sains
    Meninjau diagram bersama sangat membantu, karena pakar tersebut bisa menemukan masalah yang mungkin muncul akibat kebutuhan spesifik domain di masa depan
    Dalam proses itu kami sering melakukan pertemuan empat mata, dan sambil melihat diagram saya mencatat perubahan yang harus dibuat sebelum pertemuan berikutnya
    Jika ada alat seperti ini, kami bisa langsung memperbaikinya saat rapat dan mengurangi banyak iterasi. Ada juga alat seperti pgAdmin, tetapi tidak terlihat ramah bagi orang nonteknis; alat ini tampaknya bisa mengurangi gesekan

  • Keren, tetapi masalah utama alat seperti ini adalah sifatnya satu arah dan mencoba menjadikan dirinya otoritas pusat. Namun ini adalah gambar, bukan database
    Saya paham kenapa orang memakainya, tetapi saya tidak membutuhkan alat seperti ini
    Karena itu semua alat menyediakan “ekspor ke SQL” sambil berharap setiap perubahan pada database tercermin di diagram. Namun diagram bukan database, jadi sekarang pekerjaannya menjadi dua

    • Pernyataan “diagram bukan database” sama seperti “peta bukan wilayah”
      Diagram adalah model, dan model selalu ada, baik eksplisit maupun hanya di dalam kepala
      Model di kepala bisa salah, tetapi karena tidak bisa dilihat siapa pun, tidak ada yang bisa menunjukkan kesalahannya. Termasuk diri sendiri
  • DBeaver juga mendukung ERD: https://dbeaver.com/docs/dbeaver/ER-Diagrams/
    Interaktif dan bisa dimodifikasi. Sulit menyebutnya “indah”, tetapi keseluruhan produknya FOSS dan sangat berguna untuk pekerjaan database

    • Saya cukup bermasalah membuat ERD di DBeaver bekerja seperti yang saya inginkan. Bagi orang seperti saya tidak apa-apa, karena tinggal diutak-atik sampai berhasil
      Namun tidak begitu bagi sebagian orang yang pernah bekerja dengan saya. Biasanya hal seperti ini dibutuhkan ketika berkolaborasi merancang dengan orang yang tidak terbiasa dengan SQL, tetapi punya pengetahuan domain dan datang membawa spreadsheet Excel sebesar database kecil
  • Ini landing page statis, tapi saya tidak mengerti kenapa scrolling-nya tersendat separah ini