問題タブ [historical-db]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
69 参照

ruby-on-rails - 履歴テーブル ActiveRecord に挿入

ユーザーが入力するテーブルeventsがあります。ユーザーはこのテーブルのデータを編集できますが、これが完了すると、別のデータベースにテーブルを入力する必要がありevent_historicsます。

私がしようとしました

しかし、私はundefined method map forエラーが発生します。

create関数内でオブジェクトを直接使用すると、undefined method stringify_keys forエラーが発生します。

これに対する簡単な回避策はありますか?

0 投票する
1 に答える
438 参照

date - 履歴属性を 1 つの SOLR ドキュメントに保存する

各solrドキュメントが会社に関するデータに対応するSOLRクラスターを構築しています。たとえば、次の属性が追跡されます。

私の問題は、変更される可能性のある属性 (サイズ/賞など) の履歴データも追跡したいということです。これを行う簡単な方法は、時間範囲ごとに SOLR にドキュメントを作成することです。したがって、2012 年から 2013 年までの規模が 50 未満のすべての企業を取得したい場合、それは単純な SOLR クエリです。しかし、私は2,000万社近くの企業と取引しています。上記の戦略を使用すると、1 つの属性が変更されるたびにそのドキュメントが複製され、solr クラスター内のドキュメントの数が劇的に増加します。

SOLR でフィールドを使用する賢い方法を考えようとしています。これにより、主要な会社のドキュメント内で非推奨の属性とその日付を追跡できます。しかし、私はそれを行うための良い方法を解決できないようです。この問題はSOLRが設計されたものではなく、この方法でデータを保存することは、適切に正規化されていないことを意味するためです。ただし、データの大規模な複製を避けるための良い方法を探しています。

主な使用例は、次のようなクエリを実行できるようにすることです。

したがって、各属性は、値、有効な日付、および非推奨の日付フィールドにリンクする必要があります。また、属性値と日付は検索可能である必要があります。

私はこのようなことをしたい:

しかし、明らかにそれはSOLRではうまくいきません。また、動的な solr スキーマを使用しているため、属性 (フィールド) は動的です。したがって、すべての属性が何であるかを知る必要はありません。

何か案は?

0 投票する
2 に答える
294 参照

time-series - MarkLogic での時系列データ表現

過去の株価などの時系列データは通常、RDBMS に格納されます。

私は、このデータを使用するためのさまざまなオプションを評価しており、MarkLogic のドキュメント ストアまたはトリプル ストアに格納する可能性があります。また、このデータおよび/またはドキュメント/トリプル ストアに格納されている他の種類のデータと共にいくつかのユース ケースを構築しています。

本質的に、私は

  1. 過去の株価などの時系列データを MarkLogic データベースに保存します。
  2. XQuery などを使用して、このデータ (ML に格納されているか、RDBMS でクエリを実行) をクエリする方法。
  3. doc/triple ストアに格納されている他のデータとともに、このデータをクエリする方法。

この点に関する推奨事項をいただければ幸いです。


さらに情報を追加しました...

このデータをトリプルとしてキャプチャするきちんとした方法を見つけようとしています。このデータを他の関連データとリンクさせるといいだろうという考えです。たとえば、格納しようとしている過去の株価が NYSE に上場している HSBC のものである場合、何らかの方法で HSBC と NYSE のリソースを定義し、株価をリテラルとして (おそらく) キャプチャしてから、リソース HSBC をたとえば、dbpediaに格納されている会社情報です。

基本的に、リンクされたデータを作成することについて話しているので、さまざまなソースからフェッチされたデータ間で簡単にクエリを実行したり、可能であれば推論を使用したりできます。たとえば、このアプローチを使用すると、「ロンドンに本社があり、売上高が 10 億ドルを超える企業の株価を取得する」などのクエリを実行できます。