Wrangling BigQuery at Reddit

This page summarizes the projects mentioned and recommended in the original post on /r/RedditEng

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • bigquery-utils

    Useful scripts, udfs, views, and other utilities for migration and data warehouse operations in BigQuery.

  • Within the audit logs you can find BigQueryAuditMetadata details in the protoPayload.metadataJson submessage in the Cloud Logging LogEntry message. GCP has offered several versions of BigQuery audit logs so there are both older “v1” and newer “v2” versions. The v1 logs report API invocations and live within the protoPayload.serviceData submessage while the v2 logs report resource interactions like which tables were read from and written to by a given query or which tables expired. The v2 data lives in a new field formatted as a JSON blob within the BigQueryAuditMetadata detail inside the protoPayload.metadataJson submessage. In v2 logs the older protoPayload.serviceData submessage does exist for backwards compatibility but the information is not set or used. We scrape details from the JobChange object instead. We referenced the GCP bigquery-utils Git repo for how to use INFORMATION_SCHEMA queries and audit logs queries.

  • nodejs-bigquery

    Node.js client for Google Cloud BigQuery: A fast, economical and fully-managed enterprise data warehouse for large-scale data analytics.

  • If you've ever wondered what it's like to manage a BigQuery instance at Reddit scale, know that it's exactly like smaller systems just with much, much bigger numbers in the logs. Database management fundamentals are eerily similar regardless of scale or platform; BigQuery handles just about anything we throw at it, and we do indeed throw it the whole book. Our BigQuery platform is more than 100 petabytes of data that supports data science, machine learning, and analytics workloads that drive experiments, analytics, advertising, revenue, safety, and more. As Reddit grew, so did the workload velocity and complexity within BigQuery and thus the need for more elegant and fine-tuned workload management.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts