HintergrundGoogle Bigtable vs BigQuery für große Anzahl von Ereignissen zu speichern
Wir möchten unsere unveränderlichen Ereignisse in einem (vorzugsweise) zum Speichern von Managed-Service. Die durchschnittliche Größe eines Ereignisses beträgt weniger als 1 KB und wir haben zwischen 1-5 Ereignisse pro Sekunde. Der Hauptgrund für das Speichern dieser Ereignisse besteht darin, sie erneut wiedergeben zu können (z. B. mit Tabellenscan), wenn wir zukünftige Dienste erstellen, die an diesen Ereignissen interessiert sein könnten. Da wir uns in der Google Cloud befinden, betrachten wir die Google-Dienste offensichtlich als erste Wahl.
Ich vermute, dass Bigtable eine gute Passform für diese wäre aber nach dem price calculator wird es uns mehr als 1400 USD pro Monat kosten (das ist für uns eine große Deal):
ein Blick auf etwas wie BigQuery macht einen Preis von 3 USD pro Monat (wenn ich nicht etwas Wesentliches fehlt bin):
Obwohl eine schemalose Datenbank für uns besser geeignet wäre, würden wir unsere Ereignisse im Wesentlichen als Blob mit einigen Metadaten speichern.
Fragen
Könnten wir verwenden BigQuery da statt Bigtable für die Kosten zu senken? Zum Beispiel hat BigQuery etwas, das streaming inserts genannt wird, was mir scheint, dass wir etwas verwenden könnten. Gibt es irgendetwas, das uns kurz- oder langfristig beißen wird, was mir vielleicht nicht bewusst ist, wenn ich diesen Weg hinunter gehe?
Sie fehlen nicht essentiell, BQ ist extrem "billig". – Pentium10
BigQuery ist für die Langzeitspeicherung und Analyse optimiert, BigTable für die starke Nutzung durch eine Online-App –
Nicht sicher, aber in Bezug auf den Betrieb könnten Grenzen gesetzt sein. ZB kannst du nur 1k pro Tag an eine Tabelle anhängen (das war ein BQ-API-Limit, das ich vor einer Weile getroffen habe). Obwohl ich denke, die Streaming-API ist nachsichtiger. Es könnte einfach eine andere Dimension sein, die es zu berücksichtigen gilt. – andrewm4894