問題タブ [data-storage]

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 投票する
3 に答える
1045 参照

mysql - これらのフィールドの説明をmysqlに保存する方法は?

長いトピックで申し訳ありません。これほど長くするつもりはありませんでしたが、これは私が抱えていた非常に単純な問題です。:)

tagsとという列を持つtag_id単純なテーブルがあるとしますtag。tag_id は単なる自動インクリメント列であり、tag はタグのタイトルです。説明フィールドを追加する必要がある場合、それは平均して約 1 ~ 2 段落 (最大でおそらく 3 ~ 4 段落) であり、単純に説明フィールドをテーブルに追加するか、tag_descriptions という名前の新しいテーブルを作成して保存する必要があります。 tag_id? の説明

説明を選択しないクエリを実行すると、その説明フィールドは依然として mysql を遅くするため、これを行う方が良いと読んだことを覚えています。これは本当ですか?それをどこから読んだか覚えていませんが、ここ数年はそれに従っています... 最後に、これを行う必要があるかどうか疑問に思います。また、説明フィールドが必要な場合はいつでも内部結合する必要があります。

私が持っている別の質問は、最大で非常に少数の行しか保持しない新しいテーブルを作成するのは一般的に悪いことですか? このデータが他のどこにも当てはまらない場合はどうなりますか?

以下に、これら 2 つの質問に関連する簡単なケースを示します。

多対多の関係を構成する 3 つのテーブル content、tags、および content_tags があります。

コンテンツ

  • content_id
  • リージョン (約 6 ~ 7 個の異なる値を持つ列挙列で、後で大きくなることはほとんどありません)

タグ

  • tag_id
  • 鬼ごっこ

content_tags

  • content_id
  • tag_id

タグごとに 1 ~ 2 段落程度の説明を保存したいだけでなく、地域ごとにも説明を保存したいと考えています。これを行うための最良の方法は何だろうかと思いますか?

オプション A:

  • タグテーブルに説明列を追加するだけです
  • region_descriptions の新しいテーブルを作成する

オプション B:

  • フィールドを持つ説明と呼ばれる新しいテーブルを作成します: id、説明、およびタイプ
  • id は、コンテンツの id または列挙型フィールドの id になります。
  • タイプは、それがタグの説明であるか、領域の説明であるかです (これには enum 列を使用します)

多分IDとタイプに主キーがありますか?

オプション C:

  • tag_descriptions の新しいテーブルを作成する
  • region_descriptions の新しいテーブルを作成する

オプション A は、説明列を追加しても、説明を必要としない mysql select クエリの速度が低下しない場合に適しているようです。

説明列が mysql の速度を低下させると仮定すると、オプション B が適切な選択になる可能性があります。また、リージョンの説明を保持するわずか 6 ~ 7 行の小さなテーブルが不要になります。考えてみると、もともとリージョンの説明を取得するために非常に小さな行を通過するだけでよい場合、このテーブルへの接続は遅くなるでしょうか。

オプション C は、説明列が mysql の速度を低下させ、領域の説明のような小さなテーブルが問題にならない場合に理想的です。

これらのオプションのどれもが最適ではない可能性があります。別のオプションを自由に提供してください。ありがとう。

PS通常は1〜2段落のデータを保持するために使用する理想的な列タイプは何ですか?

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

mysql - MySQL unix時間が32ビットの符号なし整数制限に達しないのはなぜですか?

最初のフィールドは、私が与えることができる最高の値ですFROM_UNIXTIME。次のフィールドは、その値に。を返す​​値を加えたものNULLです。3番目のフィールドは、符号なし32ビット整数の可能な最大値です。最終的な値は、可能な限り最高のUNIXTIMEと、可能な限り最高のintの差であり、18日強の秒に相当します。2037ローカルタイムゾーンの終わりで停止しているようです。なぜ何かアイデアはありますか?それは計算の1つにおける自然な限界点ですか?それはただの恣意的な制限mysqldですか?

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

web-applications - ユーザーデータをユーザーの PC だけでなくサーバーにも保存できる技術はありますか?

まず、コンテキストをよりよく説明しましょう。アプリケーションには、次の特性が必要です。

  • 読み取り専用の共有データが、インターネット上のデータベース サーバーで見つかりました。(かなりの量の共有データ。)
  • アプリケーションは、Java-Web-Start のような方法で配布するか、Web アプリケーションにする必要があります。(目標は、メイン パッケージと更新プログラムの配布を簡素化することです。サーバーの負荷を軽減し、エンド ユーザーへの応答性を向上させるソリューションが優先されます。)
  • ユーザー固有のデータは、サーバーのみ、ユーザーの PC のみ、またはその両方に保存できる必要があります。(この理由は、ほとんどのユーザーが自分の PC から自分の情報を持ち出す危険を冒したくないためですが、一部のユーザーはその一部を共有したり、バックアップを作成したりすることを好みます。)

私は Web アプリケーションのプログラミングについてあまり詳しくありません。これをすべて実行できると私が知っている唯一のテクノロジは、Java Web Start です。ほとんどの計算はユーザー側で行われ、ユーザーの PC での読み取り/書き込みが可能で (アクセス権があれば)、集中型データベースへのアクセスが問題にならないため、サーバーの負荷が軽減されます。

このようなアプリケーションの開発を可能にし、従来のローカル インストールを必要としない他のテクノロジがあるかどうかを知りたいです。

どうもありがとうございました、

MJ

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

c++ - 小規模な個人用アプリケーション (SQL データベース、XML、またはその他のファイル タイプ) に最適なデータ ストレージ方法

ここでSOについて少し調査しましたが、必要なものが正確に見つかりませんでした。私は現在、会社の MSSQL Delphi 駆動型アプリケーションを C++ に移行するために C++ を学んでいます。私の学習を容易にするために、私は自宅で使用するための個人用アプリケーションに取り組んでいます。データベースの力が必要になるとは思わないので、データを保存する他の方法を検討していました。プログラムが何をするかを知っていれば、私の質問に答えるのに役立つかもしれません。

概要:家族の予算、医療および計画アプリケーション。

私がそれでやりたいこと:整理されていない方法で、予算のスプレッドシート、PDF 医療文書、およびその他の家族向けのデータをサム ドライブに保管する代わりに。複数のツールを備えたフロントエンドを構築したい。

一般的な個人情報、完全な家族の医療記録 (毎日のブドウ糖の数値やインスリンの投与量などの糖尿病追跡ツールを含む)、予算情報、現在/過去の請求書に関する情報 (口座番号、支払額、支払い済み、期日など)データと、個人データをより整理するために考えられるその他のあらゆるもの。また、レポートを印刷したり、このデータのチャートやグラフを作成したりできるようにする予定です。データを暗号化したいかもしれませんが、現時点では確信が持てません。

これで、実際の sql、mysql、または進行状況データベースがこのプロジェクトに完全に適していることがわかりましたが、より小さくて単純な他のものを使用したいと思っています。XML は有効なオプションでしょうか? すべてのデータを保存するために使用できる他のファイルの種類はありますか? フットプリントが小さく、すばやくアクセスでき、データに対して「マッサージ」を実行できる機能を探しています。

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

c++ - データ ストレージの問題に関する意見 (データベース/自作ソリューション)

現在、自作のファイル形式で保存されている非常に単純な構造化データがありますが、より最新のものに移行する必要があるかどうか疑問に思っています。データは、列doubleによって索引付けされた単純な の表です。double私が実行する必要があることは次のとおりです。

  • テーブルを反復処理します。
  • 任意のレコードの挿入と削除。
  • 特定のキー値の前後の特定の数の行を選択する (キーがデータベースにない可能性がある場合)。

要件は次のとおりです。

  • ストレージは、サーバーを使用せずにファイル ベースである必要があります。
  • ファイル全体をメモリに読み込む必要はありません。
  • 結果のファイルは、異なるアーキテクチャ間で移植可能でなければなりません (wrt エンディアンネス...)
  • 非常に安定したプロジェクトである必要があります (データは非常に重要です)。
  • Solaris/SPARC で実行する必要があり、できれば Linux/x64 でも実行する必要があります。
  • アクセス時間はできるだけ速くする必要があります。
  • C++ ライブラリとして利用できる必要があります。Fortran および Python バインディングのボーナス ポイント :)
  • 倍精度よりも高精度のオプションの数値表現はおまけです。
  • 比較的コンパクトな収納サイズもおまけです。

私の限られた経験から、sqliteは興味深い選択であり、sqlite が十分に高速でない場合は、おそらく非サーバー モードのmysqlです。しかし、本格的な SQL データベースはやり過ぎではないでしょうか?

何を指示してるんですか?

0 投票する
0 に答える
1773 参照

windows - 文法をサポートするASN1ビューア?

誰かが私にWindows用の無料のASN.1ビューアを紹介してもらえますか?これは、出力をフォーマットするための文法ファイル(.asn)のロードもサポートします。

無料版のASN1VEを使用していますが、これは問題ありませんが、文法を読み込めるには料金を支払う必要があります。

ありがとう!

f。

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

enums - NoSql:列挙型と文字列

他の人が列挙型とnosqlをどのように扱うのか興味がありますか?属性を列挙値または文字列として格納する方がよいですか?これは、データベースのサイズやパフォーマンスに影響する場合がありますか?たとえば、プロスポーツ選手を考えてみてください...彼のスポーツタイプは、サッカー、ホッケー、野球、バスケットボールなどです。文字列とエナム、皆さんはどう思いますか?

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

redis - 類似アイテムの巨大なランダム化リストをRedisに保存する

Redis 2.0.3

アイテムの膨大なリストをRedisに保存する必要があります。各項目は短い文字列(256文字未満)です。

リストで2つの操作を行う必要があります。

  • 多数(数千から百万)の同一アイテムを追加します。(一日に何度も)

  • リストからランダムなアイテムを1つ削除します。「公平な」ランダムである必要はありません。「十分に良い」アプローチならどれでもかまいません。(1秒間に最大数百回)

すべてのアイテムを1つずつリストに保存するのに十分なRAMがありません。

アイテムをまとめて、名前とカウンターで保管する必要があると思います。(数百のような、最大数千の異なるアイテムがあります。)

しかし、これを効果的に整理する方法がわかりません。

ヒントはありますか?

0 投票する
7 に答える
754 参照

php - PHP に一部のデータを格納するためのデータベースレス アプローチ

私はPHPは初めてですが、一般的にプログラミングはしていません。Web サービスから取得したデータを保存したいのですが、そのためのデータベースは必要ないと思います。まず、データは非常に頻繁に更新され、そのサイズは常に 1MB 未満です。Apache上のPHPで、高速かつ効率的な最善のアプローチは何ですか? 注: 私はホスティング プロバイダーを使用しているため、カスタム インストールは好みません。おそらく、シングルトン?ありがとう

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

c# - 画像をバイナリデータとしてデータベースに保存

イメージをデータベースにバイナリ形式で保存する最良の方法は何ですか? また、C# を使用してそれを実装するにはどうすればよいですか?