Ruby on Railsと追加専用データベース(Google BigQuery)を使用して、ソフト削除のベストプラクティスは何ですか?私が検討しているパターンは、更新/削除ごとに新しい行を追加し、最新のレコードのみを収集することです。しかし、私はアクティブレコードでそれを行うためのきれいな方法がわからない。その他の推奨パターン/ベストプラクティスRuby on Railsでの追加データベースによるソフト削除
0
A
答えて
1
大きなクエリは、大量のデータセットに対する分析用です。
この場合、新しい更新/削除行を追加し、履歴行を「維持」することで潜在的に導入される遅さを無視することができます。
BigQueryでは、最新のバージョンの行をwindow functionで取得するのは簡単です。あなたは過去のデータを使用して履歴分析を行う必要がある場合たとえば、「ID」を仮定すると、レコード/行と「TS」を定義する主キーは、タイムスタンプ
SELECT <fields list> FROM (
SELECT <fields list>, ROW_NUMBER() OVER(PARTITION BY id ORDER BY ts DESC) AS num
FROM YourTable
)
WHERE num = 1
です
- ここで行く - それは簡単です。その時の行のそれぞれのバージョンを表す選択を行います。
あなたは歴史的なバージョンを必要としない場合は、定期的に清掃を行うことができます - このために、あなたが一日で仕切られたデータ(または月またはあなたのケースでで仕切られるものは何でもlese dimantionより良いフィット)を維持する方が良い
BigQueryはしていますパーティション表を照会するための優れたサポート - Table wildcard functions
あなたはBigQueryのに固執する場合 - これは良いアプローチとなります
私はそれをより
1
ここで考慮する必要があるのは2つあります。どのように本物のあなたの改訂履歴が必要ですか、そしてパフォーマンスはどれくらい重要ですか?
これを行うには、レコードのJSONコピーを履歴テーブルに保存します。これは簡単ですが、このデータが将来のバージョンの表と互換性があるという保証はありません。つまり、簡単に復元できないことがあります。
削除または履歴バージョンでプライマリテーブルを汚染しないでください。それは厄介なことにつながり、残酷に質問するのが遅くなります。
関連する問題
- 1. Ruby on Rails 5.0テーブル削除
- 2. の削除だけではRuby on Railsでテーブルレコードに参加
- 3. カスケード削除(ソフトとハード削除)ruby
- 4. データベースへのRuby on Railsトラフィックの削減
- 5. Ruby on Railsでシングルステップバッチを削除
- 6. データベースからユーザーを削除する(Ruby on Rails、Devise)
- 7. ruby on railsでaxlsxの行にセルを追加するには
- 8. Ruby on Rails:既存モデルのデータベースにパラメータを追加する方法
- 9. データベース管理Ruby On Rails
- 10. WebpackでRuby on RailsにLostGridを追加する
- 11. Ruby on Rails - データベースのFriendly_id slugからスラッグの一意性を削除
- 12. 追加の関連付け後にエラーになる[Ruby on Rails]
- 13. Ruby on Rails:フォーム上に別のモデルのフォームを追加する
- 14. ソフト削除VSハード削除
- 15. Ruby on railsで削除メソッドを使用できません
- 16. ruby on railsテーブルにカラムを追加する最良の方法
- 17. Ruby on Railsの配列に追加する
- 18. Ruby on RailsのSQLテーブルに行を追加する
- 19. CSSのRuby on Rails 2に背景画像を追加する
- 20. Djangoソフト削除
- 21. RESTfulソフト削除
- 22. MySqlソフト削除
- 23. Ruby on Railsのビューからロジックを削除する
- 24. Ruby on Railsアプリケーションに通知を追加するには?
- 25. Ajax-Ruby on Railsアプリケーションによるデータベースからのデータのロード
- 26. ruby on railsでdeviseからユーザに余分なパラメータを追加
- 27. Ruby on Rails:ブログに説明を追加できません
- 28. ruby on railsでコントローラーを追加してアクセスする
- 29. Ruby on Rails - テストケースにユーザを追加する
- 30. Ruby on Railsサイトにアニメーションを追加する。
@MikhailBerlyantを探求することをお勧めします、Active RecordはRubyの上のクエリインターフェイスですRails。 – Gregology