2016-10-07 22 views
12

Birinin BigQuery yerine BigTable kullanmasının bir nedeni var mı? Her ikisi de son teklifle birlikte Okuma ve Yazma işlemlerini de destekliyor görünmektedir.BigQuery ve BigTable arasındaki fark nedir?

Bağlı bir ağ geliştirmem gerekiyor (bu yüzden tıklamaları ve "satışları" izlemem gerekiyor), bu yüzden büyük olasılıkla kafam karışıyor çünkü bigQuery daha iyi bir API ile sadece bigTable gibi görünüyor.

+0

BigTable'ın daha iyi performansa ihtiyaç duyan kullanıcılar için daha düşük düzeyde ve daha az yönetilen bir Cloud Datastore gibi olduğunu söyleyebilirim. – dyeray

+0

Geçmişte bu SO iş parçacığı da yardımcı olabilir: http://stackoverflow.com/questions/34437572/google-bigtable-vs-bigquery-for-storing-large-number-of-events –

+0

@dyeray Evet bunu biliyorum ama var Birisinin BigQuery yerine hem BigTable hem de BigQuery'de aynı verileri sürdürmesi için herhangi bir sebep var mı? –

cevap

13

fark temelde şudur:

BigQuery ekleyerek fazla bir değişiklik yok veri setleri veya değişim için bir sorgu motordur. Sorgularınız bir "tablo taraması" veya tüm veritabanına bakma ihtiyacı gerektirdiğinde mükemmel bir seçimdir. Toplamları, ortalamaları, sayıları, gruplamaları düşünün. BigQuery, büyük miktarda veri topladığınızda kullandığınız şeydir ve bu konuda soru sormanız gerekir.

BigTable bir veri tabanıdır. Geniş, ölçeklenebilir bir uygulama için temel olması için tasarlanmıştır. BigTable'ı, veri okuması ve yazması gereken herhangi bir uygulamada bulunduğunuzda kullanın ve ölçek potansiyel bir sorundur. İhtiyaçlarınız canlı veritabanı ise

+1

- "BigTable kullan" anlamına geliyordu: o) –

+0

@MikhailBerlyant teşekkürler, düzenlenmiş –

11

, BigTable (yine gerçekten OLTP sistemi değil) ne ihtiyaç vardır. o amaçla ilişkin bir analiz tür daha fazla ise, o zaman BigQuery ne ihtiyaç vardır. OLAP vs OLTP

Think; Eğer Cassandra ve Hadoop'un aşina Veya, BigTable kabaca Cassandra eşittir,

https://cloud.google.com/images/storage-options/flowchart.svg

Not BigQuery kabaca Hadoop'un eşittir (Kabul, adil bir karşılaştırma, ama fikir olsun)

Bigtable bir ilişkisel veritabanı değildir ve SQL sorguları veya JOIN s desteklemiyor, ne de çok sıralı işlemleri desteklemek anlamına unutmayın. Ayrıca, az miktarda veri için iyi bir çözüm değildir. Bir RDBMS OLTP istiyorsanız, cloudSQL (mysql/postgres) veya spanner'a bakmanız gerekebilir.

Bu

Google bulut

enter image description here

Maliyet Perspektif

https://stackoverflow.com/a/34845073/6785908 sunduğu farklı veri depoları arasında karar verirken biraz yardımcı olabilir. Burada ilgili kısımları alıntılamak.

toplam maliyeti ne sıklıkta olacak 'sorgu' verilerine aşağı kaynar. bir yedekleme ve sen çok sık olayları yeniden yoksa, bu kir ucuz olacak. Bununla birlikte, günde bir kez tekrar oynatmanız gerekirse, 5 $/TB taranmasını çok kolay bir şekilde tetikleyen başlayacaksınız. Biz ucuz uçlar ve depolama vardı çok nasıl şaşırdık, ancak Google bekler çünkü onlara zaman içinde bir noktada pahalı sorguları çalıştırmak için ofc budur. , birkaç şey etrafında tasarlamanız gerekir. Örneğin.AFAIK akışının ekleri tabloya yazılma garantisine sahip değildir ve gerçekten yazılmış olup olmadığını görmek için listenin başında sık sık yoklamak için var. Kuyruklama, zaman aralığı tablosu dekoratör, ile verimli bir şekilde yapılabilir (tüm veri kümesini taramak için ödeme yapmaz).

Siparişe önem vermiyorsanız, ücretsiz bir tablo bile listeleyebilirsiniz. numaralı telefonun "sorgu" çalıştırması gerekmiyor.

düzenleme 1

Bulut anahtar o yan uzak CAP teoremini meydan okuyan tek veritabanında olup, nispeten genç, ama çok güçlü ve umut verici. Bu özellikler iki dünyanın en iyisi (Geleneksel RDBMS'yi ve NoSQL) olan var

enter image description here

Ben cevap vermek biraz geç olduğunu biliyorum ama gelecekte başkasını yardımcı olabilir örtmek ekleyerek.