Tujuan Umum Zorba – Prosesor XQuery Yang Diimplementasikan

Tujuan Umum Zorba – Prosesor XQuery Yang Diimplementasikan – Tujuan dari proyek ini adalah untuk mengeksplorasi perbatasan komponen mana dari sistem manajemen data yang dapat digantikan oleh komponen yang dipelajari. Dalam makalah terbaru berjudul The Case for Learned Index Structures, kami menunjukkan bahwa indeks inti/struktur data dapat dianggap sebagai model: BTree-Index adalah model untuk memetakan kunci ke posisi record dalam array yang diurutkan, Hash- Indeks sebagai model untuk memetakan kunci ke posisi catatan dalam array yang tidak disortir, dan BitMap-Index sebagai model untuk menunjukkan apakah catatan data ada atau tidak. Dengan demikian, semua struktur indeks yang ada dapat diganti dengan jenis model lain, termasuk model pembelajaran mendalam, yang kami sebut indeks yang dipelajari. Hasil awal kami menunjukkan, bahwa dengan menggunakan jaringan saraf, kami mampu mengungguli B-Trees yang dioptimalkan untuk cache hingga 70% dalam kecepatan sambil menyimpan urutan besarnya dalam memori pada beberapa set data dunia nyata.

Tujuan Umum Zorba – Prosesor XQuery Yang Diimplementasikan

zorba-xquery.com – Hasil ini ditampilkan dalam podcast acara data O’Reilly dan mendapat banyak perhatian di media sosial, di mana ia menciptakan komentar seperti “Wow! Ini bisa memiliki manfaat besar >> Kasus untuk Struktur Indeks yang Dipelajari” oleh Kirk Borne, Data Utama Ilmuwan di Booz Allen atau “Makalah ini mengejutkan saya. Saya menghabiskan 100% kuliah dan sekolah pascasarjana pada indeks. Astaga, tidak berpikir itu akan membuang-buang waktu. 😉 #ML memenuhi struktur data tahun 1960-an dan menghancurkannya ” oleh Steven Sinofsky, Mitra Dewan di A16Z dan mantan Presiden Divisi Windows Microsoft.

Namun, mengapa hasil awal kami sangat menjanjikan, banyak tantangan penelitian terbuka tetap ada untuk membuat gagasan itu layak untuk sistem dunia nyata. Namun, jika mungkin untuk mengatasi keterbatasan indeks yang dipelajari saat ini dan memperluas cakupan ke komponen lain (misalnya, optimasi kueri), gagasan untuk mengganti komponen inti dari sistem manajemen data melalui model yang dipelajari memiliki implikasi yang luas untuk desain sistem masa depan. . Yang paling penting, dimungkinkan untuk mengubah kelas kompleksitas dari beberapa algoritma (misalnya, kinerja insert O(log n) dari B-Trees ke O(1)). Demikian pula, komponen yang dipelajari mungkin memungkinkan untuk memanfaatkan GPU/TPU dengan lebih baik untuk sistem.

Mengungkap potensi Big Data untuk jangkauan pengguna yang lebih luas membutuhkan perubahan paradigma dalam algoritme dan alat yang digunakan untuk menganalisis data. Menjelajahi kumpulan data yang kompleks membutuhkan lebih dari sekadar antarmuka pertanyaan dan respons. Idealnya, pengguna dan sistem terlibat dalam “percakapan”, masing-masing pihak memberikan kontribusi terbaiknya. Pengguna dapat menyumbangkan penilaian dan arahan, sementara mesin dapat menyumbangkan kemampuannya untuk memproses sejumlah besar data, dan bahkan mungkin memprediksi apa yang mungkin dibutuhkan pengguna selanjutnya. Bahkan dengan visualisasi yang canggih, mencerna dan menafsirkan kumpulan data yang besar dan kompleks seringkali melebihi kemampuan manusia. Teknik ML dan statistik dapat membantu dalam situasi ini dengan menyediakan alat yang membersihkan, memfilter, dan mengidentifikasi subset data yang relevan. Sayangnya, dukungan untuk ML sering ditambahkan sebagai renungan: tekniknya terkubur dalam kotak hitam dan dieksekusi dengan cara semua-atau-tidak sama sekali. Hasil seringkali membutuhkan waktu berjam-jam untuk dihitung, yang tidak dapat diterima untuk eksplorasi data interaktif. Selain itu, pengguna ingin melihat hasilnya seiring perkembangannya. Mereka ingin menginterupsi, mengubah parameter, fitur, atau bahkan keseluruhan saluran. Dengan kata lain, saat ini Ilmuwan Data masih menggunakan antarmuka batch gaya teks yang sama dari tahun 80-an, sedangkan kita harus mengeksplorasi data lebih seperti yang dibayangkan oleh banyak film dari James Bond hingga Minority Report atau sebagaimana diuraikan dalam Visi Antarmuka Pengguna Microsoft. Meskipun ada beberapa pekerjaan untuk membuat antarmuka yang sangat baru, seperti yang ada di Minority Report, ini sering mengabaikan aspek sistem dan ML, dan tidak benar-benar dapat digunakan dalam praktiknya, sedangkan di sisi lain komunitas sistem cenderung mengabaikan antarmuka pengguna. aspek.

Sebagai bagian dari proyek Northstar, kami membayangkan pendekatan yang benar-benar baru untuk melakukan analitik eksplorasi. Kami berspekulasi bahwa dalam waktu dekat banyak ruang konferensi akan dilengkapi dengan papan tulis interaktif, seperti Microsoft Surface Hub, dan bahwa kami dapat menggunakan papan tulis tersebut untuk menghindari interaksi bolak-balik selama seminggu antara ilmuwan data dan pakar domain. Sebaliknya, kami percaya bahwa keduanya dapat bekerja sama selama satu pertemuan menggunakan papan tulis interaktif semacam itu untuk memvisualisasikan, mengubah, dan menganalisis bahkan data yang paling kompleks di tempat. Pengaturan ini tidak diragukan lagi akan membantu pengguna dengan cepat sampai pada solusi awal, yang dapat disempurnakan lebih lanjut secara offline. Hipotesis kami adalah bahwa kami dapat membuat eksplorasi data lebih mudah bagi pengguna awam sekaligus secara otomatis melindungi mereka dari banyak kesalahan umum. Selanjutnya kami berhipotesis, bahwa kami dapat mengembangkan sistem eksplorasi data interaktif, yang memberikan hasil yang berarti dalam hitungan sub-detik bahkan untuk pipeline ML yang kompleks melalui kumpulan data yang sangat besar. Teknik tersebut tidak hanya akan membuat ML lebih mudah diakses oleh pengguna yang lebih luas, tetapi juga pada akhirnya memungkinkan lebih banyak penemuan dibandingkan dengan pendekatan berbasis batch apa pun.

Network-Attached-Memory (NAM) dibuat karena pengalaman kami dengan Tupleware di klaster perusahaan modern. Kami menemukan, bahwa generasi berikutnya dari jaringan berkemampuan RDMA berkinerja tinggi memerlukan pemikiran ulang mendasar tidak hanya kerangka kerja analitis tetapi juga sistem manajemen basis data terdistribusi (DDBMS) yang lebih tradisional. DDBMS umumnya dirancang dengan asumsi bahwa jaringan adalah hambatan dan karenanya harus dihindari sebisa mungkin. Asumsi ini tidak berlaku lagi. Dengan InfiniBand FDR 4x, bandwidth yang tersedia untuk mentransfer data di seluruh jaringan sama dengan bandwidth satu saluran memori, dan bandwidth meningkat lebih banyak lagi dengan standar EDR terbaru. Selain itu, dengan meningkatnya kemajuan dalam RDMA, latensi transfer meningkat pada kecepatan yang sama. Melalui analisis teoretis dan evaluasi eksperimental, kami menemukan bahwa desain basis data terdistribusi “lama” tidak mampu mengambil keuntungan penuh dari jaringan cepat dan oleh karena itu kami menyarankan desain baru berdasarkan abstraksi baru yang disebut Network-Attached-Memory (NAM). Lebih mengejutkan, kami menemukan bahwa kebijaksanaan umum bahwa transaksi terdistribusi tidak berskala juga tidak lagi berlaku dengan jaringan generasi berikutnya dan desain ulang sistem yang sesuai. Hasil awal kami menunjukkan bahwa kami dapat mencapai 2 juta transaksi terdistribusi yang menakjubkan per detik melalui delapan mesin e5v2 soket ganda dan Infiniband FDR 4x, dibandingkan 32.000 transaksi per detik menggunakan lebih banyak

Sebagai bagian dari proyek Mengukur Ketidakpastian dalam Eksplorasi Data (QUTE), kami mulai mengembangkan teknik untuk secara otomatis mengukur berbagai jenis kesalahan dalam alur eksplorasi data. Tentu saja, ada jenis ketidakpastian yang jelas, yang biasanya divisualisasikan menggunakan batang kesalahan dan dihitung melalui teknik pengambilan sampel. Namun, ada banyak jenis kesalahan lain, yang sering diabaikan. Misalnya, adalah praktik umum bagi ilmuwan data untuk memperoleh dan mengintegrasikan sumber data yang berbeda untuk mencapai hasil yang lebih berkualitas. Namun, bahkan dengan kumpulan data yang dibersihkan dan digabungkan dengan sempurna, dua pertanyaan mendasar tetap ada: (1) Apakah kumpulan data terintegrasi sudah lengkap? (2) Apa dampak dari data yang tidak diketahui (yaitu, tidak teramati) pada hasil kueri? Sebagai langkah pertama dalam proyek QUDE, kami mengembangkan dan menganalisis teknik untuk memperkirakan dampak data yang tidak diketahui (alias, tidak diketahui tidak diketahui) pada kueri agregat. Ide utamanya adalah bahwa tumpang tindih antara sumber data yang berbeda memungkinkan kita untuk memperkirakan jumlah dan nilai item data yang hilang. Anehnya, teknik statistik kami bebas parameter dan tidak mengasumsikan pengetahuan sebelumnya tentang distribusi. Melalui analisis teoretis dan serangkaian eksperimen, kami menunjukkan bahwa memperkirakan dampak yang tidak diketahui yang tidak diketahui sangat berharga untuk menilai hasil kueri agregat melalui sumber data terintegrasi. Untuk proyek ini, kami bekerja sama dengan Center of Evidence-Based Medicine (EBM) di Brown University.

MLbase: Pembelajaran mesin (ML) dan teknik statistik adalah kunci untuk mengubah data besar menjadi pengetahuan yang dapat ditindaklanjuti. Terlepas dari keunggulan data modern, kompleksitas algoritme ML yang ada sering kali membuat kewalahan|banyak pengguna tidak memahami trade-o s dan tantangan dalam membuat parameter dan memilih di antara teknik pembelajaran yang berbeda. Selain itu, sistem skalabel yang ada yang mendukung pembelajaran mesin biasanya tidak dapat diakses oleh peneliti ML tanpa latar belakang yang kuat dalam sistem terdistribusi dan primitif tingkat rendah. Dalam karya ini, kami menyajikan visi kami untuk MLbase, sistem baru yang memanfaatkan kekuatan pembelajaran mesin untuk pengguna akhir dan peneliti ML. MLbase menyediakan (1) cara deklaratif sederhana untuk menentukan tugas ML, (2) pengoptimal baru untuk memilih dan mengadaptasi pilihan algoritme pembelajaran secara dinamis, dan (3) seperangkat operator tingkat tinggi untuk memungkinkan peneliti ML mengimplementasikan berbagai metode ML tanpa pengetahuan sistem yang mendalam.

Tupleware: Kerangka kerja analitik saat ini (mis., Hadoop, Spark, dan Flink) dirancang untuk memproses kumpulan data besar yang didistribusikan di seluruh kelompok besar. Asumsi ini mewakili masalah yang dihadapi oleh perusahaan Internet raksasa tetapi mengabaikan kebutuhan pengguna biasa. Perusahaan non-teknologi seperti bank dan pengecer—atau bahkan ilmuwan data biasa—jarang mengoperasikan penyebaran ribuan mesin, alih-alih lebih memilih cluster yang lebih kecil dengan perangkat keras yang lebih andal. Faktanya, survei industri baru-baru ini melaporkan bahwa median cluster Hadoop memiliki kurang dari sepuluh node, dan lebih dari 65% pengguna mengoperasikan cluster yang lebih kecil dari 50 node. Selain itu, meskipun data mentah mungkin sangat besar, setelah langkah pembersihan dan prapemrosesan pertama, model ML data yang dilatih jarang berukuran lebih dari 1-2 TB dan mudah masuk ke memori utama cluster modern. Menargetkan beban kerja analitik yang kompleks pada kluster yang lebih kecil secara mendasar mengubah cara kita mendesain alat analitik.

Dengan Tupleware, kami membangun kerangka kerja analitis pertama khusus untuk pengguna “normal”, bukan Google dan Facebook. Arsitektur Tupleware menyatukan ide-ide dari database, compiler dan komunitas jaringan untuk menciptakan solusi end-to-end yang kuat untuk analisis data yang mengkompilasi alur kerja fungsi yang ditentukan pengguna ke dalam program terdistribusi. Salah satu kontribusi utama Tupleware adalah aturan pengoptimalan hibrid baru, yang menggabungkan pengoptimalan tingkat rendah yang biasanya dilakukan oleh kompiler dengan pengoptimalan kueri tingkat tinggi yang digunakan basis data, untuk mengoptimalkan alur kerja analitis secara otomatis guna memanfaatkan perangkat keras modern dengan lebih baik. Hasil awal kami menunjukkan bahwa untuk tugas ML umum, Tupleware dapat mencapai peningkatan kinerja hingga tiga kali lipat dibandingkan sistem alternatif, seperti Spark atau Hadoop.

Baca Juga : Informasi XQuery Ke Editor Design Studio

Performance Insightful Query Language (PIQL)

Aplikasi web yang baru dirilis sering kali mengalami “Bencana Sukses”, di mana mesin database yang kelebihan beban dan menghasilkan waktu respons yang tinggi menghancurkan pengalaman pengguna yang sebelumnya baik. Sayangnya, independensi data yang disediakan oleh database relasional tradisional, meskipun berguna untuk pengembangan yang cepat, hanya memperburuk masalah dengan menyembunyikan kueri yang berpotensi mahal di bawah ekspresi deklaratif sederhana. Akibatnya, pengembang aplikasi ini semakin meninggalkan database relasional demi kode imperatif yang ditulis terhadap penyimpanan kunci/nilai terdistribusi, kehilangan banyak manfaat dari independensi data dalam prosesnya. Sebagai gantinya, kami mengusulkan PIQL, bahasa deklaratif yang juga memberikan independensi skala dengan menghitung batas atas jumlah operasi penyimpanan kunci/nilai yang akan dilakukan untuk kueri apa pun. Digabungkan dengan model prediksi kepatuhan tujuan tingkat layanan (SLO) dan arsitektur basis data PIQL yang skalabel, batasan ini memudahkan pengembang untuk menulis aplikasi yang toleran terhadap keberhasilan yang mendukung sejumlah besar pengguna sambil tetap memberikan kinerja yang dapat diterima.

Penempatan Multi-Penyewaan yang Sadar Kegagalan

Bersama dengan SAP dan Hasso-Plattner-Institute, saat ini kami sedang menjajaki teknik baru dan algoritme penjadwalan untuk menempatkan aplikasi multi-tenancy di cloud. SAP menjadi penyedia perangkat lunak sebagai layanan dengan platform sesuai permintaan mereka, Business by Design. Layanan SAP baru tersebut menawarkan hosting aplikasi multi-tenant dengan ketersediaan yang sangat kuat dan jaminan waktu respons. Saat ini, jaminan tersebut terutama dicapai dengan menyediakan perangkat keras untuk layanan secara berlebihan. Tujuan dari proyek ini adalah untuk mengembangkan teknik baru dan algoritma penjadwalan, yang lebih hemat biaya, sambil tetap menjamin kesepakatan tingkat layanan bahkan di hadapan kegagalan besar.

Membangun Database di Infrastruktur Cloud

Dengan proyek ini, kami mengeksplorasi peluang dan batasan penggunaan komputasi awan sebagai infrastruktur untuk aplikasi basis data berbasis web untuk keperluan umum. Bagian dari pekerjaan ini adalah untuk menganalisis arsitektur client-server dan pengindeksan alternatif serta protokol konsistensi alternatif. Selanjutnya, kami mengusulkan paradigma transaksi baru, Consistency Rationing, yang tidak hanya mendefinisikan jaminan konsistensi pada data alih-alih pada tingkat transaksi, tetapi juga memungkinkan untuk mengalihkan jaminan konsistensi secara otomatis saat runtime. Dengan demikian, sistem memungkinkan untuk beradaptasi dan menyeimbangkan konsistensi dengan cepat terhadap kemungkinan risiko inkonsistensi. Hasil dari pekerjaan ini diterbitkan di SIGMOD08 dan VLDB09 dan sebagian dikomersialkan oleh 28msec Inc.

Cloudy/Smoky – penyimpanan terdistribusi dan layanan streaming di cloud

Komputasi awan telah mengubah pandangan tentang manajemen data dengan berfokus terutama pada biaya, fleksibilitas dan ketersediaan daripada konsistensi dan kinerja dengan harga berapa pun seperti yang dilakukan DBMS tradisional. Akibatnya, penyimpanan data cloud berjalan pada perangkat keras komoditas, dirancang agar dapat diskalakan, mudah dirawat, dan sangat toleran terhadap kesalahan, sering kali memberikan jaminan konsistensi yang santai. Keberhasilan toko bernilai kunci seperti Amazon S3 atau berbagai sistem sumber terbuka mencerminkan perubahan ini. Solusi yang ada, bagaimanapun, masih kekurangan fungsionalitas substansial yang disediakan oleh DBMS tradisional (misalnya, dukungan untuk transaksi dan bahasa kueri deklaratif) dan disesuaikan dengan skenario spesifik yang menciptakan hutan layanan. Artinya, pengguna harus memutuskan untuk layanan tertentu dan kemudian dikunci ke dalam layanan ini, mencegah evolusi aplikasi, yang mengarah pada penyalahgunaan layanan dan migrasi mahal ke layanan lain. Selama waktu saya di ETH, kami mulai membangun basis data kami sendiri yang sangat skalabel, yang menyediakan arsitektur yang sepenuhnya termodulasi dan tidak disesuaikan dengan kasus penggunaan tertentu. Misalnya, Cloudy mendukung pemrosesan aliran, serta SQL dan permintaan nilai kunci sederhana. Proyek ini dilanjutkan di ETH dan saya masih terlibat sebagian dalam pengembangan.

Zorba – prosesor XQuery tujuan umum yang diimplementasikan di C++

Zorba adalah prosesor XQuery tujuan umum yang diimplementasikan dalam C++ keluarga spesifikasi W3C. Pemroses kueri telah dirancang untuk dapat disematkan di berbagai lingkungan seperti bahasa pemrograman lain yang diperluas dengan kemampuan pemrosesan XML, browser, Database server, pengirim pesan XML, atau ponsel cerdas. Arsitekturnya menggunakan desain modular, yang memungkinkan penyesuaian prosesor kueri Zorba dengan kebutuhan lingkungan. Secara khusus, arsitektur prosesor kueri memungkinkan penyimpanan XML yang dapat dipasang (misalnya memori utama, penyimpanan DOM, penyimpanan besar berbasis disk persisten, penyimpanan S3). Zorba dapat diakses melalui API dari bahasa berikut: C, C++, Ruby, Python, Java, dan PHP. Zorba berjalan di sebagian besar platform dan tersedia di bawah lisensi Apache v2. Bagian saya dalam proyek ini adalah desain dan implementasi dari main

Facebooktwitterredditpinteresttumblr