Sumber terbuka populer - bagian satu: 3 alat untuk bekerja dengan data

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 PD

Kami 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



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



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



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:

Source: https://habr.com/ru/post/id436962/


All Articles