1 poin oleh GN⁺ 2025-02-08 | 1 komentar | Bagikan ke WhatsApp
  • SQLite Page Explorer

  • SQLite Page Explorer adalah aplikasi GUI kecil yang dibuat dengan redbean, sebuah alat yang memungkinkan Anda menjelajahi basis data SQLite "per halaman" sebagaimana SQLite melihatnya

  • Mengapa ini dibutuhkan?

    • SQLite dan sebagian besar basis data menyimpan data dalam halaman seukuran blok disk (biasanya 4KB) agar operasi baca dan tulis secepat mungkin
    • Biasanya pengembang berinteraksi dengan basis data pada "level skema", tetapi dengan melihat "level halaman", Anda bisa mendapatkan wawasan menarik berikut
      • Anda bisa melihat seperti apa indeks sebenarnya di disk (pada dasarnya berupa tabel kecil yang terpisah)
      • Anda bisa membuat kueri dan aplikasi lebih cepat dengan menyimpan data secara lebih padat
      • Anda bisa menemukan masalah dan inefisiensi yang tidak terlihat pada level skema
      • Anda bisa memperoleh intuisi tentang struktur data penting seperti B-tree, yang menjadi dasar bagi sebagian besar sistem berkas dan basis data
  • Dapat dijalankan di mana saja

    • Berkat redbean, cosmopolitan, dan αcτµαlly pδrταblε εxεcµταblε, ini adalah satu berkas eksekusi 6.5 MB yang berjalan secara native di Windows, Linux, MacOS, berbagai BSD, ARM64, dan x64
    • Berkas ini adalah file zip yang berisi aplikasi serta kode Lua yang mem-parsing format biner basis data
  • Cara instalasi

    • Unduh sqlite-page-explorer.com dari releases
    • Di sistem Unix, jalankan chmod +x
    • Seret file basis data atau jalankan dari konsol: sqlite-page-explorer.com mySqliteDatabase.db
    • Aplikasi akan terbuka di tab browser
    • Setelah selesai, tekan Ctrl-C dua kali di konsol
    • αcτµαlly pδrταblε εxεcµταblεs dapat membingungkan sistem deteksi virus pada browser dan sistem operasi sehingga memicu positif palsu. Tetap lakukan kehati-hatian umum terhadap apa pun yang Anda unduh dari internet
    • Jika menggunakan basis data besar di atas 500 MB, memuat tampilan tingkat atas yang membaca semua halaman bisa memerlukan waktu
  • Cara build

    • Cukup zip isi files/ ke dalam redbean-3.0.0-cosmos.com. Dapat diunduh dari https://cosmo.zip/pub/cosmos/bin/ (klik "redbean" pada daftar)
    • Jika sistem Anda tidak memiliki zip, Anda perlu mengunduhnya dari situs tersebut
    • Anda juga bisa menjalankan skrip Python (3.6+) zipitup.py yang disertakan
    • Untuk memodifikasi, jalankan redbean-3.0.0-cosmos.com -D files agar aplikasi dapat disajikan dari subdirektori files. Tidak perlu membangun ulang zip setiap kali ada perubahan
  • Bukan mahakarya

    • Sebagai bagian dari eksperimen untuk mencoba redbean dan pertama kalinya menggunakan Lua, kodenya mungkin agak berantakan
    • Menggunakan sistem templating seperti Jinja atau template native seperti di bottle.py dapat mengurangi banyak penggabungan string dan pernyataan Write()
    • Akan bagus jika konsol tertutup otomatis saat tab terakhir ditutup, dan untuk basis data besar ada fitur berhenti di halaman 10.000 kecuali pengguna mengonfirmasi sebaliknya
    • PR dipersilakan

1 komentar

 
GN⁺ 2025-02-08
Komentar Hacker News
  • Proyek yang memposting tangkapan layar GIF animasi ini sangat menarik
  • Menulis kode untuk mem-parsing file SQLite dengan merujuk pada dokumentasi format file SQLite ternyata lebih mudah daripada yang dibayangkan
  • Sebagai seseorang yang pernah berpengalaman bekerja dengan bagian internal SQLite, pekerjaan pada proyek ini sangat mengesankan
    • sqlite-repr yang dibangun dengan Dioxus juga menawarkan visualisasi SQLite yang menarik
    • Tautan terkait: sqlite-repr
  • Proyek ini keren, dan ada pendapat bahwa akan bagus jika ditambahkan legenda warna
    • Pada basis data besar (3.6GB, 942719 halaman), muncul masalah performa dan pagination bisa dipertimbangkan
  • Pernah melakukan pekerjaan serupa 10 tahun lalu untuk alat keamanan, dan senang karena proyek ini disediakan dengan lisensi MIT
  • Di source SQLite ada alat CLI showdb yang berguna untuk menjelajahi file basis data
  • Bagi orang yang sulit mengikuti kuliah atau kelas, proyek ini merupakan cara yang baik untuk memvisualisasikan struktur data secara efisien
  • Ini adalah alat yang sangat berguna bagi orang yang sedang mempelajari basis data
  • Pernah menulis dokumentasi dan diagram yang berguna tentang format file SQLite
  • Alat ini bekerja dengan baik