Dolt: Membuat SQL Terasa Seperti Git
BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00kode Anda memiliki git, data Anda memiliki apa sebenarnya? Itulah masalahnya, satu CSV yang buruk, satu baris konfigurasi
00:00:07satu editan spreadsheet dan sekarang aplikasi Anda rusak, tidak ada diff yang bersih, tidak ada pull request cabang, tidak ada
00:00:13rollback yang jelas. Inilah Dolt, basis data SQL yang bekerja seperti git, Anda dapat membuat cabang tabel
00:00:20mengedit baris, melakukan diff pada perubahan, commit, dan menggabungkannya kembali, kontrol versi nyata untuk data nyata. Saya akan
00:00:26menunjukkan cara menjalankan ini dan cara memulainya dalam beberapa menit ke depan
00:00:35sekarang kita tahu sebagian besar waktu basis data hebat dalam hal menjadi basis data, mereka menyimpan data, mereka membiarkan
00:00:41Anda melakukan kueri dengan SQL tetapi mereka tidak hebat dalam alur kerja yang kita gunakan setiap hari, yaitu percabangan
00:00:47meninjau, melakukan diff, menggabungkan, melakukan rollback, melihat dengan tepat siapa yang mengubah apa, jadi seringkali kita memilih
00:00:54satu dari dua pilihan buruk. Pilihan pertama adalah Anda menyimpan data di basis data nyata, Anda mendapatkan indeks SQL
00:01:00kendala dan struktur, tetapi ketika data berubah, proses peninjauannya biasanya tidak ada
00:01:07lalu pilihan kedua adalah kita memasukkan data ke dalam CSV, JSON, atau YAML agar git dapat melacaknya, sekarang Anda mendapatkan
00:01:13commit dan pull request, tetapi Anda kehilangan hal-hal yang sebenarnya bagus dari basis data, tidak ada SQL nyata, lemahnya
00:01:20penegakan skema, diff dan merge yang menyakitkan, dan ketika seseorang bertanya siapa yang mengubah catatan ini, yah jawabannya
00:01:27pada dasarnya adalah orang yang sama dengan akses basis data, itu bukanlah alur kerja yang nyata
00:01:32tapi sekarang bayangkan ini sebagai gantinya, bagaimana jika Anda bisa menjalankan perintah cabang, “dolt branch fix this data”
00:01:39dolt diff, dolt commit, dolt merge, sekarang ini adalah perintah yang sudah kita gunakan, tapi kita menggunakannya
00:01:46terhadap tabel basis data Anda yang sebenarnya, itulah yang dilakukan Dolt, ini adalah kontrol versi untuk basis data kita
00:01:52jika Anda menikmati perangkat pengkodean untuk mempercepat alur kerja Anda, pastikan untuk berlangganan, kami memiliki video yang akan keluar
00:01:57setiap saat, cukup bicara, kita punya pilihan, ada Dolt untuk SQL lite, Postgres, sebut saja, mari kita lakukan
00:02:04versi cepat dari ini, saya akan cd ke sini dan saya akan mengkloning dolt hub untuk memulai dari github
00:02:10saya akan cd ke folder sekarang, pertama kloning basis data Dolt publik dan saya akan menjalankan “dolt sql”, sekarang kita
00:02:18berada di dalam SQL, jadi saya bisa menjalankan perintah SQL tepat di sini di terminal, oke keren, saya akan membuat perubahan kecil
00:02:27dan kita akan menjalankan “dolt diff”, dan ini adalah momen “tunggu, apa yang baru saja terjadi di sini”
00:02:34Dolt tidak mengatakan ada file yang berubah, ia menunjukkan diff tabel yang sebenarnya, baris mana yang berubah, kolom mana yang
00:02:43berubah, nilai lama dan nilai baru, saya bisa melihatnya tepat di sini, sekarang kita bisa melakukan commit, jadi “dolt add”
00:02:50lalu saya bisa menjalankan “dolt commit -m”, saya akan menambahkan komentar, saya bisa membuat seluruh cabang dari ini dengan menggunakan
00:02:56checkout, dan kita akan menjalankan “checkout -b” beri nama cabang Anda, jika saya membuat perubahan lain di atas ini, saya bisa
00:03:03melakukan diff lagi dengan dolt diff, saya bisa melakukan commit lagi, dan kemudian saya bisa menambahkannya lagi, sekarang jika saya kembali dan
00:03:10menggabungkan, saya bisa melakukan checkout main dan saya bisa menjalankan “dolt merge”, semua perintah yang sudah kita ketahui, kita hanya melakukannya
00:03:17sekarang dengan SQL, pada akhirnya Anda bisa menjalankan “dolt log”, sekarang basis data Anda memiliki riwayat commit, bukan cadangan
00:03:24bukan file dump, dan bukan log edit spreadsheet, ini basis data versi nyata, itulah ide inti di sini
00:03:31alur kerja git tapi untuk tabel, sekarang mari kita tarik semuanya dan lihat bagaimana semua ini sebenarnya bekerja
00:03:37pada awalnya Dolt terasa familiar dengan sengaja, Anda memiliki perintah seperti dolt status, diff, add, commit, branch
00:03:44checkout, jika Anda tahu git, otak Anda sudah mengerti bentuk dari seluruh alur kerja ini
00:03:48yang mereka tuju untuk Dolt adalah tidak melacak file, ia melacak tabel relasional, Anda dapat menggunakannya dari
00:03:55baris perintah atau Anda dapat menjalankan “dolt sql-server”, dengan melakukan itu Anda sekarang dapat menghubungkannya menggunakan klien yang kompatibel dengan MySQL
00:04:01ORM, alat BI, atau kode aplikasi, sehingga aplikasi Anda dapat memperlakukan Dolt seperti basis data SQL normal, tetapi Anda
00:04:09mendapatkan kontrol versi di sekitar data, itulah bagian pentingnya, Anda tidak memilih antara yang nyata
00:04:14basis data dan alur kerja git, Anda mendapatkan keduanya di tempat yang sama, Dolt menggunakan sesuatu yang disebut Prolly Tree, versi mudah
00:04:22dari Prolly Tree di sini adalah basis data normal menggunakan struktur seperti pohon untuk membuat bacaan dan tulisan
00:04:29cepat, Dolt menggunakan struktur seperti pohon yang juga baik dalam versi, jadi alih-alih menyalin seluruh
00:04:36basis data setiap kali Anda melakukan commit, Dolt dapat berbagi bagian yang tetap sama dan melacak bagian yang
00:04:42sebenarnya berubah, sekarang kita tidak hanya menanyakan hal-hal seperti hei apa nilai saat ini, kita bisa benar-benar bertanya
00:04:47hal-hal seperti seperti apa baris ini sebelum sesuatu terjadi, itu hal besar di sini
00:04:52karena ketika sesuatu rusak kita tidak ingin harus menebak, Anda ingin memeriksa riwayat, saya sekarang bisa
00:04:56meninjau diff, Anda dapat melihat perubahannya, dan jika perlu Anda dapat melakukan rollback, ini adalah kontrol versi
00:05:02untuk data terstruktur, cabang, commit, diff, merge, riwayat Anda untuk baris dan kolom, jadi di mana Dolt
00:05:10sebenarnya cocok dalam alur hal-hal, karena ini semua terdengar hebat tetapi di sinilah mungkin menjadi
00:05:15membingungkan, Anda mungkin mendengar git untuk data dan Anda mungkin berpikir oke yah lihat kita sudah memiliki
00:05:21alat untuk itu, ya kita agak memiliki alat untuk itu tetapi mereka memecahkan masalah yang berbeda, Anda bisa menaruh CSV
00:05:28dan file JSON di git, itu berhasil ketika datanya kecil dan sederhana, git tidak memahami skema Anda
00:05:35ia tidak tahu kunci utama Anda dan ia tidak akan menegakkan kendala, ia tidak bisa menjalankan join pada CSV Anda
00:05:41kecuali Anda menambahkan lebih banyak alat, jadi git memberi Anda kontrol versi tetapi itu tidak benar-benar untuk basis data
00:05:47lalu ada DVC, DVC hebat untuk alur kerja ML terutama kumpulan data besar dan artefak model tetapi
00:05:53itu tidak mencoba menjadi basis data relasional langsung Anda, ya Anda punya LakeFS yang membawa ide seperti git ke
00:06:00penyimpanan objek dan data lake, sangat berguna pada skala danau tetapi sekali lagi itu adalah lapisan yang sama sekali berbeda, itu
00:06:07itu bukan hal yang sama dengan mengatakan cabang tabel SQL, ubah beberapa baris, jalankan diff, dan gabungkan kembali
00:06:13basis data tradisional juga memiliki alat riwayat, tabel temporal, log audit, CDC, tetapi kebanyakan dari mereka
00:06:20tidak terasa seperti alur kerja normal, mereka tidak memberi Anda perulangan bersih cabang, ubah, diff, gabungkan, rollback
00:06:27saya tidak akan secara membabi buta menjatuhkan Dolt ke setiap sistem produksi, bukan itu intinya di sini, intinya adalah ini
00:06:33jika pekerjaan Anda melibatkan data terstruktur yang berubah dari waktu ke waktu dan perubahan itu benar-benar dapat merusak hal-hal
00:06:40saya pikir Dolt layak dicoba, pertama kali ia menyelamatkan Anda dari satu perubahan data buruk yang diam, alur kerjanya
00:06:46mulai terasa sedikit lebih jelas, kita punya git mengapa kita tidak punya sesuatu untuk data, sekarang kita agak memilikinya, jika
00:06:52Anda menikmati alat pengkodean seperti ini pastikan untuk berlangganan ke saluran Better Stack, sampai jumpa di video lain
00:06:57video
Community Posts
No posts yet. Be the first to write about this video!
Write about this video