Gibt es einen Grund, warum jemand BigTable anstelle von BigQuery verwenden würde? Beide scheinen Lese- und Schreiboperationen zu unterstützen, wobei letztere auch erweiterte Abfrageoperationen bieten.
Ich muss ein Affiliate-Netzwerk aufbauen (daher muss ich Klicks und "Verkäufe" verfolgen), daher bin ich ziemlich verwirrt über den Unterschied, da bigQuery nur bigTable mit einer besseren API zu sein scheint.
google-cloud-platform
google-bigquery
cloud
bigtable
google-cloud-spanner
Der Benutzer ohne Hut
quelle
quelle
Antworten:
Der Unterschied ist im Grunde der folgende:
BigQuery ist eine Abfrage-Engine für Datasets, die sich nicht wesentlich ändern oder durch Anhängen ändern. Es ist eine gute Wahl, wenn Ihre Abfragen einen "Tabellenscan" erfordern oder die gesamte Datenbank durchsuchen müssen. Denken Sie an Summen, Durchschnittswerte, Zählungen, Gruppierungen. BigQuery wird verwendet, wenn Sie eine große Datenmenge gesammelt haben und Fragen dazu stellen müssen.
BigTable ist eine Datenbank. Es soll die Grundlage für eine große, skalierbare Anwendung sein. Verwenden Sie BigTable, wenn Sie eine App erstellen, die Daten lesen und schreiben muss, und die Skalierung ist ein potenzielles Problem.
quelle
Use BigTable
: o)Dies kann bei der Entscheidung zwischen verschiedenen Datenspeichern, die die Google Cloud anbietet, hilfreich sein (Haftungsausschluss! Von der Google Cloud-Seite kopiert).
Wenn Ihre Anforderung eine Live-Datenbank ist, ist BigTable genau das, was Sie benötigen (allerdings nicht wirklich ein OLTP- System). Wenn es sich eher um einen analytischen Zweck handelt, ist BigQuery genau das, was Sie brauchen!
Denken Sie an OLTP vs OLAP ; Oder wenn Sie mit Cassandra vs Hadoop vertraut sind, entspricht BigTable ungefähr Cassandra, BigQuery entspricht ungefähr Hadoop (Einverstanden, es ist kein fairer Vergleich, aber Sie haben die Idee)
https://cloud.google.com/images/storage-options/flowchart.svg
Hinweis
Beachten Sie bitte, dass Bigtable keine relationale Datenbank ist und weder SQL-Abfragen oder
JOIN
s noch mehrzeilige Transaktionen unterstützt. Es ist auch keine gute Lösung für kleine Datenmengen. Wenn Sie ein RDBMS-OLTP möchten, müssen Sie sich möglicherweise CloudSQL (MySQL / Postgres) oder Spanner ansehen.Kostenperspektive
https://stackoverflow.com/a/34845073/6785908 . Zitieren Sie hier die relevanten Teile.
Bearbeiten 1
Cloud Spanner ist relativ jung, aber leistungsstark und vielversprechend (und auch unverschämt teuer). Zumindest behauptet Google Marketing, dass seine Funktionen das Beste aus beiden Welten sind (traditionelles RDBMS und noSQL).
quelle
BigQuery und Cloud Bigtable sind nicht dasselbe. Bigtable ist eine Hadoop-basierte NoSQL-Datenbank, während BigQuery ein SQL-basiertes Datawarehouse ist. Sie haben spezifische Nutzungsszenarien.
In sehr kurzen und einfachen Worten;
quelle