ログの保存にbigqueryを使用したい。Mysqlや他のRDBMSのような固定スキーマが必要ですか、それともスキーマがないnosqlのようなものですか?
3 に答える
まず、「NoSQL」の意味について一般的に受け入れられている定義はありません。この用語は一般に、たとえば MySQL で使用される RDBMS 設計とは異なるデータベースを説明するために使用されます...そして、そのようなキー値データストアを説明するためによく使用されます。 Mongo または BigTable として。
実際、BigQuery はテーブルの作成時にスキーマ定義を必要とし、各テーブルに追加されるデータはそのスキーマの要件に従う必要があります。ただし、BigQuery は null 値をサポートしています。
BigQuery は「列型」ストレージ システムの実装であり、データは列ごとに並べ替えられ、クエリが実行されます。この設計上の決定により、BigQuery の優れたクエリ速度が実現し、BigQuery のリレーショナル DB 管理機能の欠如についての洞察も得られます。
BigQuery は、読み取り専用であるという点でリレーショナル データベースとは異なり、テーブル インデックスや、テーブルを管理または変更するための機能を備えていません (既存のデータセットにデータを追加する機能以外に)。BigQuery はクエリを表現するための SQL に似た構文をサポートしていますが、update メソッドや delete メソッドはサポートしておらず、現在のところ、JOIN 関数の制限範囲のみをサポートしています。
現時点では、列、そのタイプ、null可能性を定義する必要があり、後で変更することはできません。また、SQLのような構文があります。
だから私はそれをNoSQLとは呼びません。
定義上、これは NoSQL モデルです。基本的な CRUD 操作はサポートしていません。議論の余地はありません。Google はこれを NoSQL と定義しています。