คำถามติดแท็ก db.databases

5
เพราะเหตุใดฐานข้อมูลเชิงสัมพันธ์จึงใช้งานได้ทั้งหมดเนื่องจากความซับซ้อนเชิงทฤษฎีของการค้นหาคำตอบ (ในขนาดของแบบสอบถาม)
เป็นที่ทราบกันดีอยู่แล้วว่าการค้นหาคำตอบของแบบสอบถามผ่านฐานข้อมูลเชิงสัมพันธ์ต้องใช้เวลาและไม่สามารถกำจัดเลขชี้กำลัง.QQQDDD| D || Q ||D||Q||D|^{|Q|}| Q ||Q||Q| เนื่องจากอาจมีขนาดใหญ่มากเราจึงสงสัยว่าทำไมฐานข้อมูลจึงใช้งานได้จริงDDD มันเป็นเพียงแค่คำถามทั่วไปที่ไม่ได้มีขนาดใหญ่เลยในแอปพลิเคชันในโลกแห่งความเป็นจริง? (จากนั้นเป็นเรื่องที่น่าสนใจที่จะรู้ว่าขนาดของการสืบค้นที่ปกติไปยังระบบฐานข้อมูลเชิงสัมพันธ์คืออะไรและขนาด "สูงสุด" ของการสืบค้นที่คาดว่าจะตอบได้อย่างมีประสิทธิภาพโดยระบบฐานข้อมูลในทางปฏิบัติคืออะไร) หมายเหตุเกี่ยวกับเลขยกกำลังไม่ `ถอดออกได้ '| Q ||Q||Q| เพื่อแสดงว่าเลขชี้กำลังไม่สามารถถอดออกได้เราสามารถใช้แบบสอบถามเพื่อสอบถามว่ามีกลุ่มขนาดnอยู่ในกราฟที่กำหนดโดยฐานข้อมูลหรือไม่ ในการตรวจสอบว่ากราฟมีn -clique หรือไม่นั้นเป็นปัญหาที่ทำให้ NP สมบูรณ์ นอกจากนี้ยังไม่ได้รับการแก้ไขพารามิเตอร์ซูฮกกับพารามิเตอร์n รายละเอียดสามารถพบได้ในเช่น Libkin, L: องค์ประกอบของทฤษฎีแบบ จำกัด Springer (2004) หรือ Papadimitriou, CH, Yannakakis, M .: ความซับซ้อนของการสืบค้นฐานข้อมูล เจคอมพิวเตอร์ Syst วิทย์ 58 (3), 407–427 (1999)| Q ||Q||Q|nnnnnnnnn

5
เป็นไปได้ไหมที่จะทดสอบว่าตัวเลขที่คำนวณได้นั้นเป็นจำนวนตรรกยะหรือจำนวนเต็ม?
เป็นไปได้ไหมที่จะทดสอบอัลกอริธึมว่าจำนวนที่คำนวณได้เป็นจำนวนตรรกยะหรือจำนวนเต็ม? ในคำอื่น ๆ ก็จะมีความเป็นไปได้สำหรับห้องสมุดที่ใช้คำนวณตัวเลขเพื่อให้ฟังก์ชั่นisIntegerหรือisRational? ฉันเดาว่ามันเป็นไปไม่ได้และนี่ก็เกี่ยวข้องกับความจริงที่ว่ามันเป็นไปไม่ได้ที่จะทดสอบว่าตัวเลขสองตัวนั้นเท่ากัน แต่ฉันไม่เห็นวิธีที่จะพิสูจน์มัน แก้ไข: จำนวนที่คำนวณได้ถูกกำหนดโดยฟังก์ชันที่สามารถส่งกลับค่าประมาณด้วยเหตุผลด้วยความแม่นยำ :สำหรับใด ๆ0 รับฟังก์ชั่นดังกล่าวเป็นไปได้หรือไม่ที่จะทดสอบว่าหรือ ?xxxfx(ϵ)fx(ϵ)f_x(\epsilon)xxxϵϵ\epsilon|x−fx(ϵ)|≤ϵ|x−fx(ϵ)|≤ϵ|x - f_x(\epsilon)| \leq \epsilonϵ>0ϵ>0\epsilon > 0x∈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
มีความสัมพันธ์ระหว่างพีชคณิตเชิงสัมพันธ์ / แคลคูลัสและทฤษฎีหมวดหมู่หรือไม่?
ฉันตระหนักถึงวิธีการเชิงทฤษฎีอย่างน้อยสองวิธีในการทำความเข้าใจฐานข้อมูลเชิงสัมพันธ์: พีชคณิต / แคลคูลัสเชิงสัมพันธ์และทฤษฎีหมวดหมู่ มีความสัมพันธ์ระหว่างสองแนวทางนี้หรือไม่? พวกเขามีความรู้สึกที่เท่าเทียมกันบ้างไหม? มีงานเบื้องต้นอธิบายว่ากรอบงานทั้งสองอธิบายฐานข้อมูลเชิงสัมพันธ์ได้อย่างไร ข้อมูลประกอบ: ไม่นานมานี้ฉันอ่านทฤษฎีหมวดหมู่ของ David Spivak สำหรับนักวิทยาศาสตร์ซึ่งใช้เวลาค่อนข้างนานในการอภิปรายว่าจะใช้ทฤษฎีหมวดหมู่เพื่อทำความเข้าใจทฤษฎีฐานข้อมูลเชิงสัมพันธ์ได้อย่างไร อย่างไรก็ตามการมีประสบการณ์ส่วนตัวเล็กน้อยเกี่ยวกับฐานข้อมูลเชิงสัมพันธ์คืออะไรหรือเหตุใดจึงมีประโยชน์ในขณะนั้นฉันไม่ได้ชื่นชมความลึกของข้อมูลเชิงลึกที่พบในหนังสือ อย่างไรก็ตามเมื่อเร็ว ๆ นี้ผมได้เรียนรู้เกี่ยวกับSQLคำสั่งและสองRแพคเกจสำหรับการจัดการข้อมูล: dplyrและdata.table เห็นได้ชัดว่า SQL สามารถแสดงมากความคิดของของ Codd สัมพันธ์พีชคณิต / แคลคูลัส / รุ่น แต่ไม่ทั้งหมด นอกจากนี้ผู้เขียน dplyr นาย Hadley Wickham ได้กล่าวอย่างชัดเจนว่าปรัชญาของเขาที่มีพื้นฐานมาจากบรรจุภัณฑ์นั้นมาจากการทำงานของ Codd ในพีชคณิตเชิงสัมพันธ์และคำสั่งพื้นฐานของdata.table map ค่อนข้างดีสำหรับคำสั่งใน SQL และ dplyr ฉันยังรู้ว่าทฤษฎีหมวดหมู่มีอิทธิพลต่อโปรแกรมเมอร์จำนวนมากที่ใช้ภาษาโปรแกรมการทำงานเช่น Haskell แต่ฉันไม่ได้จริงๆตระหนักถึงการมีการใช้งานของโปรแกรมการทำงานสำหรับการจัดการข้อมูลหรือวิทยาศาสตร์ข้อมูลนอกเหนือจากฮัดลีย์วิคแฮมใด ๆpurrrแพคเกจสำหรับ R, ความจริงที่ว่าApache SparkถูกเขียนในScalaและเทคโนโลยีที่เกี่ยวข้องกับการMapReduce ทั้งหมดนี้แสดงให้ฉันเห็นว่าควรมีความสัมพันธ์ระหว่างทฤษฎีหมวดหมู่กับพีชคณิต / แคลคูลัสเชิงสัมพันธ์ของ …

2
เทียบเท่ากับการทำงานอย่างหมดจดของ B-Tree
ฉันกำลังสำรวจความคิดในการเขียน DBMS ในลักษณะที่ใช้งานได้อย่างหมดจด โครงสร้างข้อมูลแบบดั้งเดิมที่ใช้สำหรับการทำดัชนีคือ B-Tree ฉันต้องการทราบถึงการทำงานที่เทียบเท่า B-Tree อย่างแท้จริงซึ่งจะได้รับการปรับปรุงเพื่อลดการเข้าถึงดิสก์ ขอบคุณ

3
ความก้าวหน้าล่าสุดในฐานข้อมูลเชิงสัมพันธ์คืออะไร?
ฉันสงสัยว่าความก้าวหน้าล่าสุดในทฤษฎีฐานข้อมูลเชิงสัมพันธ์และโดเมนที่เกี่ยวข้องคืออะไร ฉันสนใจวิธีการใหม่ ๆ , ภาษาคิวรี (ทางเลือกของ SQL และ / หรือส่วนขยายของมัน), ผลิตภัณฑ์ (กรรมสิทธิ์และโอเพ่นซอร์สแม้ว่าฉันจะสนใจโอเพนซอร์สมากขึ้น) และโครงการวิจัยที่พัฒนาในปีที่ผ่านมา

1
การรวมฐานข้อมูลก่อให้เกิด monoid ได้อย่างไร?
ในcs.stackexchangeฉันถามเกี่ยวกับห้องสมุดalgebird scala บน github โดยคาดการณ์ว่าทำไมพวกเขาอาจต้องการแพ็คเกจพีชคณิตนามธรรม หน้า GitHub มีเบาะแสบางอย่าง: การนำ Monoids ไปใช้สำหรับอัลกอริทึมการประมาณที่น่าสนใจเช่นตัวกรอง Bloom, HyperLogLog และ CountMinSketch สิ่งเหล่านี้ช่วยให้คุณคิดถึงการดำเนินการที่ซับซ้อนเหล่านี้เช่นคุณอาจใช้ตัวเลขและเพิ่มพวกมันใน hadoop หรือออนไลน์เพื่อสร้างสถิติและการวิเคราะห์ที่มีประสิทธิภาพ และอีกส่วนหนึ่งของหน้า GitHub: เดิมได้รับการพัฒนาขึ้นเป็นส่วนหนึ่งของ Matrix API ของ Scalding โดยที่ Matrices มีค่าซึ่งเป็นองค์ประกอบของ Monoids กลุ่มหรือ Rings ต่อจากนั้นเป็นที่ชัดเจนว่ารหัสมีแอปพลิเคชันที่กว้างขึ้นภายใน Scalding และโครงการอื่น ๆ ภายใน Twitter แม้แต่ Oskar Boykin แห่ง Twitter ก็ยังได้: คำตอบหลักคือโดยการใช้ประโยชน์จากโครงสร้างกึ่งกลุ่มเราสามารถสร้างระบบที่ขนานอย่างถูกต้องโดยไม่ทราบว่าการดำเนินการพื้นฐาน (ผู้ใช้มีความสัมพันธ์ที่มีแนวโน้ม) โดยใช้ Monoids เราสามารถใช้ประโยชน์จาก sparsity (เราจัดการกับเมทริกซ์กระจัดกระจายจำนวนมากซึ่งค่าเกือบทั้งหมดเป็นศูนย์ใน …

2
โครงสร้างข้อมูลที่อนุญาตการค้นหาด้วยแท็กที่มีประสิทธิภาพ
ฉันกำลังมองหาโครงสร้างข้อมูลที่มีประสิทธิภาพสูงสำหรับการจัดเก็บข้อมูลคล้ายกับต่อไปนี้ แท็ก Id Order1 Order2 -------------------------- 1 1,2 1 1 2 2,5 2 3 3 1,7 4 7 4 6 3 0 ฉันต้องการที่จะสามารถที่จะสอบถามโครงสร้างนี้ในลักษณะดังกล่าวว่าจะให้ฉันรายการรหัสทั้งหมดที่มีการแสดงออกของแท็กต์ - สนับสนุนANDและORและNOTการดำเนินงาน เช่น. ((1 หรือ 2) และไม่ใช่ 7) ฉันยังต้องสามารถระบุการเรียงลำดับของผลลัพธ์ (Order1 หรือ Order2) และสามารถระบุแถวสูงสุดที่ส่งคืนพร้อมกับออฟเซ็ตเสริม ประสิทธิภาพสำหรับการดึงผลลัพธ์ 30-100 ครั้งแรกคือกุญแจสำคัญ ในที่สุดฉันต้องการวิธีที่ถูกในการค้นหา "ความสัมพันธ์ของแท็ก" ตัวอย่างเช่นฉันต้องการทราบว่าแท็กใดที่ "เกี่ยวข้อง" กับแท็ก (1 หรือ 2) และในความถี่ใด ความหมายแท็กใดที่ปรากฏในชุดเดียวกันกับ 1 …

1
ปัญหาการวิจัยที่สำคัญในการทำธุรกรรมการกระจายคืออะไร?
ข้อมูลประกอบ:การประมวลผลธุรกรรมเป็นหัวข้อวิจัยแบบดั้งเดิมในทฤษฎีฐานข้อมูล ปัจจุบันการทำธุรกรรมการกระจายกำลังนิยมโดยระบบจัดเก็บข้อมูลขนาดใหญ่กระจายซึ่งมักจะเกี่ยวข้องกับข้อมูลพาร์ทิชัน (ที่เรียกว่าชาร์ด) และการจำลองแบบข้อมูล ปัญหาการวิจัยที่สำคัญในการทำธุรกรรมการกระจายคืออะไร? มีทฤษฎีและวิธีแก้ไขปัญหาที่รู้จักกันดีซึ่งต้องการการปรับปรุง (ตามทฤษฎี) หรือไม่? การอ้างอิงใด ๆ ที่ชื่นชม

1
ภาษาคิวรี่ฐานข้อมูลสำหรับเคียวรีที่มีประสิทธิภาพ
ดูเหมือนว่าในภาษาคิวรีที่เป็นที่นิยมสำหรับฐานข้อมูลเชิงสัมพันธ์มันเป็นไปได้ที่จะสร้างแบบสอบถามที่ต้องใช้ทรัพยากรจำนวนมากในการตอบ ในทางปฏิบัติผู้ดูแลฐานข้อมูลจะจัดการสิ่งนี้โดย จำกัด จำนวนหน่วยความจำต่อข้อความค้นหาและตรวจสอบข้อความค้นหาที่ทำงานเป็นเวลานานหากมีการชะลอตัวของฐานข้อมูล ดูเหมือนว่าจะเป็นการเฉพาะกิจมีวิธีแก้ปัญหานี้หรือไม่ มีภาษาของแบบสอบถามที่สามารถใช้แบบสอบถามที่มีประสิทธิภาพเท่านั้นหรือไม่ หากไม่มีภาษาดังกล่าวมีเหตุผลทางทฤษฎีสำหรับสิ่งนี้หรือไม่? เหตุผลบางอย่างที่ทำให้ฉันคาดหวังว่าสิ่งต่าง ๆ เหล่านี้จะมีอยู่จริงหรืออย่างน้อยก็สมเหตุสมผล: เรามีภาษาการเขียนโปรแกรมที่ออกแบบมาโดยเฉพาะเพื่อการคำนวณที่มีประสิทธิภาพเท่านั้น (โดยปกติจะมีตรรกะที่ จำกัด ในระบบประเภทของพวกเขา) ภาษาคิวรี่ที่เป็นที่นิยม (เช่น SQL) ได้รับแรงบันดาลใจจากตรรกะอยู่แล้วดังนั้นจึงไม่น่าแปลกใจเลยที่ผู้ใช้ฐานข้อมูลจะพิจารณาการใช้ตรรกะที่เข้มงวดยิ่งขึ้น ผู้ใช้ฐานข้อมูลที่ไม่เป็นอันตรายได้พยายามจัดทำแบบสอบถามที่ดำเนินการอย่างรวดเร็วแล้วดังนั้นเราควรคาดหวังว่าภาษาคิวรีที่เข้มงวดกว่านี้จะขัดขวางผู้ใช้ที่เป็นอันตรายเท่านั้น คำถามนี้ได้รับแรงบันดาลใจจากการตัดกันของคำถามสองข้อก่อนหน้านี้: ภาษาโปรแกรมสำหรับการคำนวณที่มีประสิทธิภาพ เพราะเหตุใดฐานข้อมูลเชิงสัมพันธ์จึงใช้งานได้ทั้งหมดเนื่องจากความซับซ้อนเชิงทฤษฎีของการหาคำตอบ (ในขนาดของแบบสอบถาม)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.