Apakah itu Oracle atau MySQL atau sesuatu yang telah mereka bangun sendiri?
Apakah itu Oracle atau MySQL atau sesuatu yang telah mereka bangun sendiri?
Jawaban:
Sistem Penyimpanan Terdistribusi untuk Data Terstruktur
Bigtable adalah sistem penyimpanan terdistribusi (dibangun oleh Google) untuk mengelola data terstruktur yang dirancang untuk skala ke ukuran yang sangat besar: petabyte data di ribuan server komoditas.
Banyak proyek di Google menyimpan data di Bigtable, termasuk pengindeksan web, Google Earth, dan Google Finance. Aplikasi ini menempatkan tuntutan yang sangat berbeda pada Bigtable, baik dalam hal ukuran data (dari URL ke halaman web ke citra satelit) dan persyaratan latensi (dari pemrosesan massal backend ke penyajian data waktu-nyata).
Terlepas dari berbagai tuntutan ini, Bigtable telah berhasil memberikan solusi fleksibel dan berkinerja tinggi untuk semua produk Google ini.
Beberapa fitur
Arsitektur
BigTable bukan basis data relasional. Itu tidak mendukung bergabung juga tidak mendukung pertanyaan kaya seperti SQL. Setiap tabel adalah peta jarang multidimensi. Tabel terdiri dari baris dan kolom, dan setiap sel memiliki cap waktu. Mungkin ada beberapa versi sel dengan prangko waktu yang berbeda. Cap waktu memungkinkan untuk operasi seperti "pilih 'n' versi halaman Web ini" atau "hapus sel yang lebih tua dari tanggal / waktu tertentu."
Untuk mengelola tabel besar, Bigtable membagi tabel pada batas baris dan menyimpannya sebagai tablet. Sebuah tablet berukuran sekitar 200 MB, dan setiap mesin menyimpan sekitar 100 tablet. Pengaturan ini memungkinkan tablet dari satu tabel tersebar di banyak server. Hal ini juga memungkinkan penyeimbangan muatan berbutir halus. Jika satu meja menerima banyak pertanyaan, ia bisa melepaskan tablet lain atau memindahkan tabel sibuk ke mesin lain yang tidak terlalu sibuk. Juga, jika sebuah mesin mati, sebuah tablet dapat tersebar di banyak server lain sehingga dampak kinerja pada mesin yang diberikan adalah minimal.
Tabel disimpan sebagai SSTable yang tidak dapat diubah dan satu ekor log (satu log per mesin). Ketika mesin kehabisan memori sistem, kompres beberapa tablet menggunakan teknik kompresi milik Google (BMDiff dan Zippy). Kompaksi kecil hanya melibatkan beberapa tablet, sementara kompaksi besar melibatkan seluruh sistem tabel dan memulihkan ruang hard disk.
Lokasi tablet Bigtable disimpan dalam sel. Pencarian tablet tertentu ditangani oleh sistem tiga tingkat. Klien mendapatkan poin ke tabel META0, yang hanya ada satu. Tabel META0 melacak banyak tablet META1 yang berisi lokasi tablet yang dicari. Baik META0 dan META1 menggunakan pre-fetching dan caching untuk meminimalkan kemacetan dalam sistem.
Penerapan
BigTable dibangun di Google File System (GFS), yang digunakan sebagai backing store untuk file log dan data. GFS menyediakan penyimpanan yang andal untuk SSTables, format file milik Google yang digunakan untuk mempertahankan data tabel.
Layanan lain yang BigTable manfaatkan adalah Chubby , layanan kunci terdistribusi yang sangat tersedia dan dapat diandalkan. Chubby memungkinkan klien untuk mengambil kunci, mungkin mengaitkannya dengan beberapa metadata, yang dapat diperbarui dengan mengirim pesan yang tetap hidup kembali ke Chubby. Kunci disimpan dalam struktur penamaan hirarki seperti filesystem.
Ada tiga jenis server utama yang diminati dalam sistem Bigtable:
Contoh dari makalah penelitian Google:
Sepotong tabel contoh yang menyimpan halaman web. Nama baris adalah URL terbalik . Keluarga kolom isi berisi konten halaman , dan keluarga kolom anchor berisi teks dari setiap jangkar yang mereferensikan halaman. Halaman beranda CNN direferensikan oleh halaman beranda Sports Illustrated dan MY-look, sehingga baris tersebut berisi kolom bernama
anchor:cnnsi.com
dananchor:my.look.ca
. Setiap sel jangkar memiliki satu versi ; kolom isi memiliki tiga versi , di cap waktut3
,t5
dant6
.
API
Operasi khas untuk BigTable adalah pembuatan dan penghapusan keluarga tabel dan kolom, menulis data dan menghapus kolom dari satu baris. BigTable menyediakan fungsi ini untuk pengembang aplikasi dalam API. Transaksi didukung di tingkat baris, tetapi tidak di beberapa kunci baris.
Berikut ini tautan ke PDF makalah penelitian .
Dan di sini Anda dapat menemukan video yang memperlihatkan Jeff Dean dari Google dalam sebuah kuliah di University of Washington , membahas sistem penyimpanan konten Bigtable yang digunakan di backend Google.
Itu adalah sesuatu yang mereka bangun sendiri - ini disebut Bigtable.
http://en.wikipedia.org/wiki/BigTable
Ada makalah oleh Google di database:
Spanner adalah sistem manajemen basis data relasional (RDBMS) Google yang didistribusikan secara global, penerus BigTable . Google mengklaim itu bukan sistem relasional murni karena setiap tabel harus memiliki kunci utama.
Inilah tautan makalahnya.
Spanner adalah database Google scalable, multi-versi, didistribusikan secara global, dan direplikasi secara sinkron. Ini adalah sistem pertama yang mendistribusikan data dalam skala global dan mendukung transaksi yang didistribusikan secara eksternal. Makalah ini menjelaskan bagaimana Spanner terstruktur, set fiturnya, alasan yang mendasari berbagai keputusan desain, dan API waktu baru yang mengekspos ketidakpastian jam. API ini dan implementasinya sangat penting untuk mendukung konsistensi eksternal dan berbagai fitur canggih: bacaan non-pemblokiran di masa lalu, transaksi hanya-baca yang bebas-kunci, dan perubahan skema atom, di seluruh Spanner.
Basis data lain yang ditemukan oleh Google adalah Megastore . Berikut ini abstraknya:
Megastore adalah sistem penyimpanan yang dikembangkan untuk memenuhi persyaratan layanan online interaktif saat ini. Megastore memadukan skalabilitas datastore NoSQL dengan kenyamanan RDBMS tradisional dengan cara baru, dan memberikan jaminan konsistensi yang kuat dan ketersediaan tinggi. Kami menyediakan semantik ACID sepenuhnya serializable dalam partisi data halus. Partisi ini memungkinkan kita untuk mereplikasi masing-masing penulisan di seluruh jaringan area luas dengan latensi yang wajar dan mendukung failover mulus antara pusat data. Makalah ini menjelaskan semantik dan algoritma replikasi Megastore. Ini juga menjelaskan pengalaman kami mendukung berbagai layanan produksi Google yang dibangun dengan Megastore.
Seperti yang disebutkan orang lain, Google menggunakan solusi buatan sendiri yang disebut BigTable dan mereka telah merilis beberapa makalah yang menjelaskannya ke dunia nyata.
Orang-orang Apache memiliki implementasi dari ide-ide yang disajikan dalam makalah ini yang disebut HBase . HBase adalah bagian dari proyek Hadoop yang lebih besar yang menurut situs mereka "adalah platform perangkat lunak yang memungkinkan seseorang dengan mudah menulis dan menjalankan aplikasi yang memproses data dalam jumlah besar." Beberapa tolok ukurnya cukup mengesankan. Situs mereka ada di http://hadoop.apache.org .
Meskipun Google menggunakan BigTable untuk semua aplikasi utama mereka, mereka juga menggunakan MySQL untuk aplikasi lain (mungkin kecil).
Dan mungkin juga berguna untuk mengetahui bahwa BigTable bukan database relasional (seperti MySQL) tetapi tabel hash besar (didistribusikan) yang memiliki karakteristik yang sangat berbeda. Anda dapat bermain-main dengan (versi terbatas) dari BigTable sendiri di platform Google AppEngine .
Di sebelah Hadoop yang disebutkan di atas ada banyak implementasi lain yang mencoba menyelesaikan masalah yang sama dengan BigTable (skalabilitas, ketersediaan). Saya melihat posting blog yang bagus kemarin daftar kebanyakan dari mereka di sini .
Google terutama menggunakan Bigtable.
Bigtable adalah sistem penyimpanan terdistribusi untuk mengelola data terstruktur yang dirancang untuk skala ke ukuran yang sangat besar.
Untuk informasi lebih lanjut, unduh dokumen dari sini .
Google juga menggunakan database Oracle dan MySQL untuk beberapa aplikasi mereka.
Setiap informasi lebih lanjut yang dapat Anda tambahkan sangat dihargai.
Google also use Oracle
- referensi dibutuhkan.
Layanan Google memiliki arsitektur ketekunan polyglot. BigTable diungkit oleh sebagian besar layanannya seperti YouTube, Google Search, Google Analytics, dll. Layanan pencarian pada awalnya menggunakan MapReduce untuk infrastruktur pengindeksannya tetapi kemudian beralih ke BigTable selama rilis Kafein.
Google Cloud datastore memiliki lebih dari 100 aplikasi dalam produksi di Google yang menghadapi pengguna internal dan eksternal. Aplikasi seperti Gmail, Picasa, Kalender Google, Android Market & AppEngine menggunakan Cloud Datastore & Megastore.
Google Trends menggunakan MillWheel untuk pemrosesan aliran. Google Ads pada awalnya menggunakan MySQL kemudian dimigrasikan ke F1 DB - basis data relasional yang terdistribusi secara tertulis. Youtube menggunakan MySQL dengan Vitess. Google menyimpan exabytes data di seluruh server komoditas dengan bantuan Sistem File Google.
Sumber: Google Databases: Bagaimana Layanan Google Menyimpan Data Skala Petabyte-Exabyte?