タグ付けされた質問 「db.databases」

5
回答検索の理論的な指数関数的な複雑さ(クエリのサイズ)を考えると、なぜリレーショナルデータベースがまったく機能しないのですか?
リレーショナルデータベースでクエリ回答を見つけるには、時間が必要であり、指数を取り除くことができないことがわかっているようです。D | D | | Q | | Q |QQQDDD| D || Q ||D||Q||D|^{|Q|}| Q ||Q||Q| 非常に大きくなる可能性があるデータベースは、実際にすべてで働いなぜ、我々は疑問に思います。DDD 実際のアプリケーションでは、通常のクエリがまったく大きくないというだけの問題ですか?(その後、リレーショナルデータベースシステムに提示されるクエリの通常のサイズと、実際にDBシステムが効果的に回答できると予想されるクエリの「最大」サイズが何であるかを知ることは興味深いです。) 指数に関する注意事項「取り外し可能」ではない| Q ||Q||Q| 指数は削除可能ではありません。データベースによって指定されたグラフにサイズnのクリークが存在するかどうかを問い合わせるクエリを使用できます。グラフにnクリークがあるかどうかを確認することは、NP完全問題です。さらに、パラメータnを使用した固定パラメータは扱いやすくありません。詳細については、たとえば、 Libkin、L .: Elements of Finite Model Theoryに記載されています。Springer(2004) または Papadimitriou、CH、Yannakakis、M .:データベースクエリの複雑さについて。J.計算 システム。科学 58(3)、407–427(1999)| Q ||Q||Q|nnnnnnnnn

5
計算可能な数が有理数か整数かをテストすることはできますか?
計算可能な数が有理数か整数かをアルゴリズムでテストすることはできますか?言い換えれば、それは道具計算数字は機能を提供するために、そのライブラリは可能でしょうisIntegerかisRational? 私はそれが不可能であると推測し、これは何らかの形で2つの数値が等しいかどうかをテストすることができないという事実に関連していると推測していますが、それを証明する方法はわかりません。 編集:計算数はxxxの関数で与えられるfx(ϵ)fx(ϵ)f_x(\epsilon)の合理的な近似値を返すことができxxx高精度でϵϵ\epsilon:|x−fx(ϵ)|≤ϵ|x−fx(ϵ)|≤ϵ|x - f_x(\epsilon)| \leq \epsilonいずれについても、ϵ>0ϵ>0\epsilon > 0。このような関数を考えると、それがあれば、テストすることが可能であるx∈Qx∈Qx \in \mathrm{Q}またはx∈Zx∈Zx \in \mathrm{Z}?
18 computability  computing-over-reals  lambda-calculus  graph-theory  co.combinatorics  cc.complexity-theory  reference-request  graph-theory  proofs  np-complete  cc.complexity-theory  machine-learning  boolean-functions  combinatory-logic  boolean-formulas  reference-request  approximation-algorithms  optimization  cc.complexity-theory  co.combinatorics  permutations  cc.complexity-theory  cc.complexity-theory  ai.artificial-intel  p-vs-np  relativization  co.combinatorics  permutations  ds.algorithms  algebra  automata-theory  dfa  lo.logic  temporal-logic  linear-temporal-logic  circuit-complexity  lower-bounds  permanent  arithmetic-circuits  determinant  dc.parallel-comp  asymptotics  ds.algorithms  graph-theory  planar-graphs  physics  max-flow  max-flow-min-cut  fl.formal-languages  automata-theory  finite-model-theory  dfa  language-design  soft-question  machine-learning  linear-algebra  db.databases  arithmetic-circuits  ds.algorithms  machine-learning  ds.data-structures  tree  soft-question  security  project-topic  approximation-algorithms  linear-programming  primal-dual  reference-request  graph-theory  graph-algorithms  cr.crypto-security  quantum-computing  gr.group-theory  graph-theory  time-complexity  lower-bounds  matrices  sorting  asymptotics  approximation-algorithms  linear-algebra  matrices  max-cut  graph-theory  graph-algorithms  time-complexity  circuit-complexity  regular-language  graph-algorithms  approximation-algorithms  set-cover  clique  graph-theory  graph-algorithms  approximation-algorithms  clustering  partition-problem  time-complexity  turing-machines  term-rewriting-systems  cc.complexity-theory  time-complexity  nondeterminism 

1
関係代数/計算とカテゴリー理論の間に関係はありますか?
リレーショナルデータベースを理解するための少なくとも2つの異なる理論的アプローチを知っています。Coddの関係代数/計算とカテゴリ理論です。 これら2つのアプローチの間に関係はありますか?ある意味では同等ですか?これらのフレームワークの両方がリレーショナルデータベースをどのように説明するかを説明する導入作業はありますか? 背景: しばらく前に、David Spivakの科学者向けカテゴリ理論を読みました。このカテゴリ理論では、リレーショナルデータベースの理論を理解するために、カテゴリ理論をどのように適用できるかについてかなり議論しました。ただし、リレーショナルデータベースとは何か、またはそれらが有用である理由について個人的な経験はほとんどありませんでしたが、当時は、この本に見られる深い洞察を十分に理解していませんでした。 しかし、最近、SQLクエリと、データ操作用の2つのRパッケージdplyrとdata.tableについて学びました。SQLは明らかにCoddの関係代数/計算/モデルのアイデアの多くを表現できますが、すべてではありません。また、dplyrの著者、ハドレーウィッカムは、している明示的に述べパッケージの基礎となる彼の哲学は、リレーショナル代数にコッドの仕事に基づいて、およびの基本的なコマンドであることをdata.table SQLとdplyrのコマンドにかなりよくマップ。 カテゴリー理論は、Haskellのような関数型プログラミング言語を使用する多くのプログラマーに影響を与えることも知っています。ただし、R向けのHadley Wickhamのpurrrパッケージ、Apache SparkがScalaで記述されているという事実、およびMapReduceに関連するテクノロジー以外に、データ操作またはデータサイエンスに関数型プログラミングが使用されていることはあまり知りません。 この種のすべては、カテゴリ理論とコッドの関係代数/計算との間に何らかの関係があるべきだと示唆していますが、そのような接続を明示的にしたり、一般的なデータ操作の設計決定の根底にあることを説明したりする人を聞いたことはありませんおよびリレーショナルデータベーステクノロジー。それで、私は完全に間違っているかもしれないと疑っています。 編集:どうやらDavid Spivakは「関数クエリ言語(FQL)」に取り組んでいるようです。これは、存在する限り、このような理論的な接続のアプリケーションである可能性があります。 注:「リレーショナル構造」がリレーショナルデータベースまたはリレーショナル代数/計算の議論に適切なタグであるかどうかはわかりません。このウィキペディアの記事は、それらが接続されている可能性を示唆していますが、最終的には「リレーショナル構造」というフレーズの意味がわかりません。再度タグを付けてください。


3
リレーショナルデータベースの最近の進歩は何ですか?
リレーショナルデータベース理論と関連ドメインの最近の進歩はどうなっているのでしょうか? 私は、新しいアプローチ、クエリ言語(SQLの代替および/またはその拡張)、製品(私はオープンソースにはるかに興味がありますが、独自のオープンソース)および昨年開発された研究プロジェクトに興味があります。

1
データベース集約はどのようにしてモノイドを形成しますか?
上cs.stackexchange私はについて尋ねalgebird彼らは抽象代数パッケージを必要とするかもしれない理由を推測、githubの上でScalaのライブラリ。 githubページにはいくつかの手がかりがあります。 ブルームフィルター、HyperLogLog、CountMinSketchなどの興味深い近似アルゴリズム用のモノイドの実装。これらにより、これらの洗練された操作を数字のように考えることができ、強力な統計と分析を生成するためにそれらをhadoopまたはオンラインで合計できます。 GitHubページの別の部分で: 元々は、ScaldingのMatrix APIの一部として開発されたもので、マトリックスには、モノイド、グループ、またはリングの要素である値がありました。その後、Scalding内およびTwitter内の他のプロジェクトでコードがより広範なアプリケーションを持つことが明らかになりました。 TwitterのOskar Boykinでさえ、 主な答えは、セミグループ構造を活用することで、基になる操作を知らなくても正しく並列化するシステムを構築できることです(ユーザーは結合性を約束しています)。 モノイドを使用することで、スパース性を利用できます(モノイドではほとんどすべての値がゼロである多数のスパース行列を扱います)。 リングを使用することにより、数値以外の行列乗算を実行できます(場合によっては実行しました)。 algebirdプロジェクト自体(および問題の履歴)は、ここで何が行われているのかをかなり明確に説明しています。 (これは通常、数千のノードでアルゴリズムを生産しようとするときの問題点です)。 セミグループ/モノ/グループ/リングについてシステムの問題を一度解決すれば、Memcache、Hadoop、Stormなどを考えずにアルゴリズムをプラグインできます。 どのようにしているBloom filters/ hyperloglog/ countminsketch番号など? データベース集約がモノイダル構造を持っているのはどうですか? このモノイドはどのように見えますか?彼らはグループ構造を持っていますか? 文献の参照が役立ちます。

2
効率的なタグベースのルックアップを可能にするデータ構造
次のようなデータを保存するための非常に効率的なデータ構造を探しています。 IDタグOrder1 Order2 -------------------------- 1 1,2 1 1 2 2,5 2 3 3 1,7 4 7 4 6 3 0 タグの表現を含むすべてのIDのリストを提供するように、この構造を照会できるようにする必要があります-サポートANDおよびORand NOT操作。例えば。((1または2)、7ではありません) また、結果の順序(Order1またはOrder2)を指定し、オプションのオフセットで返される最大行を指定できる必要があります。最初の30〜100件の結果を取得するパフォーマンスが重要です。 最後に、「タグの関係」を検索する安価な方法が必要です。たとえば、どのタグがタグ(1または2)に「関連する」か、どの頻度であるかを知りたいです。1 OR 2と同じセットに出現するタグの意味...頻度順に並べられています。 どのようなデータ構造(または構造のセット)がこの種の作業に非常に効率的であるかという考えはありますか? (SEファミリーのサイトのタグ付きページを再設計するための概念実証としてこれを使用したい)

1
分散トランザクションの主な研究課題は何ですか?
背景:トランザクション処理は、データベース理論における伝統的な研究テーマです。現在、分散トランザクションは、通常、データパーティション化(シャーディングとも呼ばれます)とデータレプリケーションを伴う大規模分散ストレージシステムによって普及しています。 分散トランザクションの主な研究課題は何ですか? (理論的な)改善を必要とする有名な理論と解決策はありますか? 参考文献をいただければ幸いです。

1
効率的なクエリのためのデータベースクエリ言語
リレーショナルデータベースの一般的なクエリ言語では、回答に多くのリソースを必要とするクエリを作成できるようです。実際には、データベース管理者は、クエリごとのメモリの量を制限し、データベースに速度低下がある場合は長時間実行されているクエリをチェックすることでこれを管理します。これはその場限りのようですが、これに対するTCSソリューションはありますか? 効率的なクエリのみを実装できるクエリ言語はありますか? そのような言語がない場合、これには理論的な理由がありますか? このようなことが存在するか、少なくとも理にかなっていると私が予想するいくつかの理由: 効率的な計算のみを実装するように特別に設計されたプログラミング言語があります(通常、型システムに制限的なロジックがあることにより) 一般的なクエリ言語(SQLなど)は既にロジックに触発されているため、データベースユーザーがより制限的なロジックを検討することは一見のようではありません。 悪意のないデータベースユーザーは、迅速に実行されるクエリの準備を既に試みているため、これらのより制限的なクエリ言語は悪意のあるユーザーのみを妨害すると期待する必要があります。 この質問は、前の2つの質問の交差点に触発されています。 効率的な計算のためのプログラミング言語 答えの発見の理論的な指数関数的複雑さ(クエリのサイズ)を考えると、なぜリレーショナルデータベースがまったく機能しないのですか?

1
疑い、不確実性、嘘がある場合の論理
私はハリーフランクフルトのOn Bulls * tを読んでいました。これは、真実と虚偽の間のぼやけた概念についての1986年の哲学的エッセイです。 これは不必要な運動ではありません。私たちは常にデータセットを互いにパイプしているので、これはコンピュータサイエンスへの応用があるかもしれません。これらのデータソースの一部は疑わしい場合があり、パイピングプロセスが失敗する可能性があります。または、それらから得られる結論も間違っている可能性があります。 フランクフルトの理論にアプローチする1つの方法は、論理回路の観点から表現することであり、ゲートまたは入力の整合性が問題になる場合があります。 鉛筆と紙では、主にブールロジックを使用し、値は、ゲートはn o t、∨ 、∧です。ブールロジックをわずかに摂動して、回路がどのようにrobusされているか、またはノイズに関してブレークダウンできるかをモデル化することが可能かもしれません。T、FT、FT,Fn o t、∨、∧んot、∨、∧\mathbf{not},\vee,\wedge 疑念と不確実性を説明する論理理論は存在しますか?嘘がどれほど結論の整合性を損なうかを測定できますか? 検証可能な真または偽のステートメントのコレクションがあったとしても、値が真ん中にある引数(および結論)を書くことは可能だと確信しています。あるいは、ある引数が別の引数よりも「より」有効であるかどうかを判断することさえできます。 ここに質問が1つもない場合は、事前に謝罪します。 コメント ロジックは非常に幅広いテーマですが、私はロジック専門家ではないので、具体的にどのようにするかわかりません。使いやすさが優先されます。そのため、ブールロジックのブートストラップのみを検討します。 私たちは命題を「呼び出す」とき...結論は正しいかもしれませんが、VijayDがコメントで示唆しているように、思考プロセスは間違っているかもしれません。 bulls ** tが不確実性と同じであるかどうかは明らかではありません-証明が間違っていると確信している可能性があります。 ステートメントではなくプルーフに値を割り当てるブールロジックの拡張を見るとよいと思います。すべてのステップが有効であるという証明には、Tの値が割り当てられますます。ステップに欠陥がある場合は、前提からどの程度結論に至らないかを測定します。 このアイデアは以前に試されたに違いない。Googleの検索では、代数、トポス、多値ロジックなどの概念や、コメントや回答のソースがさらに増えます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.