Kami memutuskan untuk menyiapkan serangkaian percobaan dengan ulasan dari proyek open source paling populer. Daftar ini mencakup solusi open source yang paling banyak dibicarakan di Hacker News. Topik koleksi pertama adalah
alat dan layanan untuk bekerja dengan log dan basis data .
/ foto AKT.UZ PDKami akan berbicara tentang solusi seperti
FoundationDB ,
LogDevice, dan
Queryparser . Tahun lalu, mereka secara aktif dibahas di Hacker News. Ketertarikan tersebut disebabkan oleh fakta bahwa perusahaan IT besar - Apple, Uber dan Facebook terlibat dalam pengembangan mereka. Ini berarti bahwa ketiga alat ini cocok untuk bekerja dengan infrastruktur TI skala besar dan sangat sarat muatan.
FoundationDB adalah DBMS multi-model yang bertipe
NoSQL . Itu diperkenalkan pada 2012 oleh tiga insinyur dari Ilmu Visual,
yang bekerja pada platform visualisasi data (hari ini adalah bagian dari Adobe Analytics).
Tidak seperti sistem serupa lainnya, operasi di FoundationDB mematuhi prinsip-prinsip
ACID : atomisitas, konsistensi, isolasi, dan daya tahan data. DBMS yang mematuhi model ini dianggap paling andal dan dapat diprediksi, tetapi dalam NoSQL beberapa prinsip ACID sering dikorbankan untuk kinerja yang lebih baik.
Kelebihan lain dari FoundationDB adalah antarmuka tingkat rendah yang kuat. Dengan bantuannya, sistem apa pun dapat menggunakan DBMS untuk penyimpanan data terdistribusi. Misalnya, atas dasar FoundationDB, Anda dapat membangun antarmuka untuk DBMS universal yang lebih besar.
Berkat karakteristik ini, FoundationDB dengan cepat menjadi populer. Itu diimplementasikan oleh beberapa layanan cloud: layanan pemantauan Wavefront (sekarang bagian dari VMware) dan sistem penyimpanan Snowflake dan SkuVault. Popularitas FoundationDB juga dipengaruhi oleh fakta bahwa sejak awal, kode sumber proyek telah terbuka.
Semuanya berubah pada 2015 ketika Apple
mengakuisisi perusahaan. Raksasa IT ini telah menutup akses ke kode FoundationDB dan telah mulai menggunakan DBMS dalam layanan online sendiri. Solusi ini menyebabkan beberapa masalah bagi pengembang yang
menggunakan FoundationDB dalam proyek mereka. Tetapi pada bulan April 2018, Apple memutuskan untuk mengembalikan DBMS open source. Ini tidak hanya menguntungkan komunitas TI, tetapi juga Apple itu sendiri. Dalam dua minggu
, lebih dari tujuh ribu pengembang
menunjukkan minat pada proyek tersebut, dan seratus utas baru dibuka di
forum tematik .
Raksasa IT telah memutuskan untuk terus mematuhi strategi "keterbukaan." Pada November 2018, komponen DBMS baru
diperkenalkan - Lapisan Dokumen - ini memungkinkan Anda untuk membuat repositori dokumen. Di masa depan, direncanakan untuk mengembangkan alat tambahan. Dan siapa pun dapat berkontribusi pada penciptaan produk. Anda dapat mempelajari cara melakukan ini di repositori resmi di GitHub - ada
instruksi terperinci .
LogDevice adalah sistem penyimpanan log terdistribusi yang dibuat di Facebook. Ini dioptimalkan untuk merekam data yang masuk berurutan: setiap informasi dalam sistem disimpan bukan sebagai file terpisah, tetapi sebagai bagian dari "aliran rekaman" tertentu. Ini memungkinkan Anda menentukan urutan data yang diterima secara akurat.
Awalnya, proyek ini digunakan untuk tugas internal Facebook, tetapi pada September 2018, perusahaan membuka kode sumbernya. Sampai saat itu, LogDevice tidak begitu terkenal di komunitas TI, tetapi beberapa pembaca Hacker News sudah tertarik pada alat tersebut. Misalnya,
perhatikan potensinya dalam sistem penyimpanan untuk pembelajaran mesin.
Namun ada pendapat bahwa solusi Facebook akan mendapatkan popularitas secara perlahan. Ada sejumlah besar alat serupa di pasar (misalnya, Apache Kafka). Dan mereka sudah memiliki sejumlah besar integrasi, dan LogDevice hanya perlu mendapatkannya. Ngomong-ngomong, sekarang para pengembang alat
ini berupaya memperkenalkan integrasi LogDevice dengan sistem orkestrasi wadah Kubernetes.
Semua orang diundang untuk berpartisipasi - persyaratan kode dijelaskan
dalam dokumen repositori terpisah di GitHub .
/ foto Alexander Day CC BY
Queryparser adalah sistem parsing untuk tiga dialek SQL: Vertica, Hive, dan Presto. Seperti LogDevice, Queryparser pada awalnya dibuat untuk tugas internal perusahaan IT besar - kali ini proyek tersebut berasal dari Uber.
Pada 2015, insinyur perusahaan memutuskan untuk memperbarui sistem penamaan objek dalam database dan mengganti nama dalam format bilangan bulat dengan angka sesuai dengan standar
UUID . Untuk menulis ulang semua pengidentifikasi, insinyur harus mengidentifikasi semua tautan di tabel. Ini ternyata menjadi tugas yang sulit: puluhan ribu tabel dengan data yang berasal dari berbagai departemen perusahaan disimpan di Uber. Untuk membuat koneksi antara beberapa database, para pengembang menciptakan Queryparser.
Alat berhasil menyelesaikan tugas, tetapi para insinyur menemukan aplikasi lain yang mungkin untuk itu. Misalnya, pemantauan otomatis perubahan dalam basis data. Queryparser menyimpan semua pertanyaan tentang menggabungkan aliran data atau membuat yang baru dan memberi tahu pengguna basis data yang terpengaruh oleh perubahan ini.
Queryparser juga membantu Uber mengumpulkan statistik tentang kueri SQL dan mengoptimalkan penyimpanan: tabel yang jarang digunakan dihapus, dan basis data yang sering disebut satu sama lain digabungkan.
Kode sumber untuk Queryparser terbuka sejak awal proyek, tetapi hanya pada tahun 2018 Uber merilis artikel terperinci tentang alat tersebut. Ini dapat dianggap sebagai panduan untuk bekerja dengan sistem. Dan di repositori Anda dapat menemukan instruksi dan instruksi instalasi untuk mereka yang ingin berpartisipasi dalam pengembangan Queryparser.
Di masa depan, Uber
berencana untuk mengembangkan solusi lebih lanjut. Misalnya, tambahkan dukungan untuk dialek SQL baru: PostgreSQL, MySQL, dan SQLite. Juga di antara tugas perusahaan adalah menambahkan tipe data yang memeriksa kueri dan menerjemahkan kueri dari satu dialek ke dialek lainnya.
Lain kali kami melanjutkan kisah tentang proyek open source populer tahun 2018. Mari kita bicara tentang solusi manajemen cloud open source dan alat pengembang.
Beberapa posting dari Blog IaaS Perusahaan Pertama:
Apa yang kami tulis di saluran Telegram: