คำถามติดแท็ก graph-databases

1
เมื่อใดที่คุณควรใช้ฐานข้อมูลเทียบกับเอกสารเทียบกับกราฟ? [ปิด]
สำหรับวัตถุประสงค์ของการสนทนาลองพิจารณาสถานการณ์จำลองของ FourSquare สถานการณ์ หน่วยงาน: ผู้ใช้ สถานที่ ความสัมพันธ์: Checkins: ผู้ใช้ <-> สถานที่หลายแห่งไปมาก เพื่อน: ผู้ใช้ <-> ผู้ใช้หลายต่อหลายคน การออกแบบฐานข้อมูล สิ่งเหล่านี้มักจะมีข้อผิดพลาดโปรดชี้ให้พวกเขาเห็น RDBMS โต๊ะ: ผู้ใช้ สถานที่ เช็คอิน (แยก) เพื่อน (แยก) ข้อดี: CAP: ความสอดคล้องความพร้อมใช้งาน จุดด้อย: CAP: ความอดทนต่อการแบ่งพาร์ทิชัน schemes = โครงสร้างที่ไม่ยืดหยุ่น การจำลองแบบไม่ดี? กราฟ วัตถุที่: ผู้ใช้ สถานที่ ขอบ: เพื่อน: ผู้ใช้ <-> ผู้ใช้ เช็คอิน: ผู้ใช้ -> สถานที่ มีการประทับเวลา ข้อดี: …

2
ทำไมฉันถึงต้องใช้ ElasticSearch ถ้าฉันใช้ฐานข้อมูลกราฟอยู่แล้ว?
ฉันไม่พบคำอธิบายเชิงลึกใด ๆ บนเว็บเกี่ยวกับการเปรียบเทียบระหว่างElasticSearchกับฐานข้อมูลกราฟ ทั้งสองได้รับการปรับให้เหมาะกับข้อมูลการสำรวจ ดูเหมือนว่า ElasticSearch จะได้รับการปรับให้เหมาะกับการวิเคราะห์ อย่างไรก็ตาม Neo4j ยังใช้ Lucene ในการจัดการดัชนีและคุณสมบัติ fulltext ทำไมฉันถึงต้องใช้ ElasticSearch ถ้าฉันใช้ฐานข้อมูลกราฟอยู่แล้ว? ในกรณีของฉันฉันใช้Neo4jเพื่อสร้างเครือข่ายสังคม ElasticSearch อาจนำประโยชน์อะไรมาให้จริง อัพเดท ---------- ฉันเพิ่งพบย่อหน้านี้: มีหลายกรณีที่ elasticsearch เป็นประโยชน์ กรณีการใช้งานบางอย่างเรียกร้องให้ชัดเจนกว่ากรณีอื่น ๆ รายการด้านล่างนี้เป็นงานบางส่วนที่ใช้งานการค้นหาด้วยยาง ค้นหาคำอธิบายผลิตภัณฑ์จำนวนมากเพื่อหาคู่ที่ดีที่สุดสำหรับวลีที่เฉพาะเจาะจง (พูดว่า "มีดเชฟ") และส่งคืนผลลัพธ์ที่ดีที่สุด จากตัวอย่างก่อนหน้านี้ทำลายแผนกต่างๆที่มี“ มีดเชฟ” ปรากฏขึ้น (ดูการเผชิญหน้าในภายหลังในหนังสือเล่มนี้) ค้นหาข้อความสำหรับคำที่ดูเหมือน "ฤดู" เติมคำในช่องค้นหาโดยอัตโนมัติตามคำที่พิมพ์บางส่วนโดยอ้างอิงจากการค้นหาที่ออกมาก่อนหน้าในขณะที่คิดคำสะกดผิด การจัดเก็บข้อมูล semi-Structured (JSON) จำนวนมากในรูปแบบที่กระจายด้วยระดับความซ้ำซ้อนที่ระบุในคลัสเตอร์ของเครื่องจักร อย่างไรก็ตามควรสังเกตว่าในขณะที่อีลาสติครีทรีทเป็นผู้แก้ปัญหาดังกล่าวได้ดีก็ไม่ใช่ทางเลือกที่ดีที่สุดสำหรับผู้อื่น มันไม่ดีเป็นพิเศษในการแก้ปัญหาซึ่งฐานข้อมูลเชิงสัมพันธ์ได้รับการปรับปรุง ปัญหาเช่นที่ระบุไว้ด้านล่าง การคำนวณจำนวนสินค้าที่เหลืออยู่ในสินค้าคงคลัง การหาผลรวมของรายการโฆษณาทั้งหมดในใบแจ้งหนี้ทั้งหมดที่ส่งออกในเดือนที่กำหนด การดำเนินการการดำเนินการสองรายการด้วยการสนับสนุนการย้อนกลับ การสร้างบันทึกที่รับประกันว่าจะไม่ซ้ำกันในหลาย …

1
อัลกอริทึมในการสร้างขอบและจุดยอดออกไปด้านนอกจากจุดเริ่มต้นที่มีหลายหลากสูงสุดเท่ากับ 3
ฉันกำลังสร้างเกม 2d สำหรับเว็บไซต์ที่มีขนาดใหญ่มาก (โดยทั่วไปมีขนาดใหญ่มาก) เริ่มแรกจักรวาลประกอบด้วยดาว 6 ดวงที่อยู่ห่างจากจุดกำเนิดเท่ากัน (0, 0) งานของฉันคือการสร้างดาวให้มากขึ้นซึ่งจะมี "เส้นทาง" (ขอบ) ที่เชื่อมต่อซึ่งกันและกัน ฉันจะออกแบบอัลกอริทึมที่ตรงตามข้อ จำกัด เหล่านี้ได้อย่างไร: ดวงดาวถูกสร้างแบบสุ่มออกไปด้านนอก (เช่น (x, y) พิกัดสำหรับดาวดวงใหม่จะค่อยๆออกไปด้านนอกจาก (0, 0) ในทุกทิศทางโดยเฉพาะในรูปแบบเกลียว ขอบจะไม่ข้าม แม้ว่าจะมีความแตกต่างบ้าง แต่ดาวดวงใหม่ไม่ควรอยู่ไกลหรืออยู่ใกล้ดาวดวงอื่นมากเกินไป (เช่นต้องมีรัศมีต่ำสุด) ไม่มีดาว / จุดควรมีหลายหลากมากกว่า 3 ระบุว่าทั้งหมดนี้จะถูกเก็บไว้ในฐานข้อมูลอัลกอริทึมไม่สามารถมีราคาแพงเกินไป กล่าวอีกนัยหนึ่งฉันชอบที่จะได้รับสิ่งที่ซับซ้อน O (n) (ฉันไม่รู้ว่าสิ่งนี้เป็นไปได้หรือไม่) โดยพื้นฐานแล้วสิ่งที่ฉันกำลังมองหาคือกาแลคซีที่มีลักษณะเป็นดาวหางโดยที่ดวงดาวเป็นจุดบนกราฟและการเดินทางระหว่างดวงดาวจะถูกแสดงด้วยขอบระหว่างดาวเหล่านั้น ขั้นตอนเฉพาะที่ฉันต้องแก้ไขคือ: สร้างจุดในบริเวณใกล้เคียงกับดวงดาวอื่นที่ยังไม่ได้เป็น 3 เท่า ค้นหาดาวดวงแรกที่ยังไม่มีพหุคูณเท่ากับ 3 ซึ่งจะไม่สร้างความขัดแย้งให้กับขอบ หากดาวอยู่ห่างจากหน่วย x อย่างน้อยที่สุดให้สร้างขอบระหว่างจุดสองจุด ฉันพยายามหาวิธีแก้ปัญหา แต่ทักษะคณิตศาสตร์ของฉัน …

7
เอนทิตีที่ซ้อนกันและการคำนวณเกี่ยวกับคุณสมบัติของเอนทิตีใบไม้ - วิธี SQL หรือ NoSQL
ฉันกำลังทำงานในโครงการงานอดิเรกที่เรียกว่าการจัดการเมนู / สูตร นี่คือลักษณะที่หน่วยงานของฉันและความสัมพันธ์ของพวกเขามีลักษณะ NutrientมีคุณสมบัติCodeและValue IngredientมีคอลเลกชันของNutrients A Recipeมีคอลเล็กชันIngredientsและบางครั้งสามารถมีคอลเล็กชันอื่นได้recipes A Mealได้รวบรวมRecipesและIngredients A Menuมีคอลเล็กชันของMeals ความสัมพันธ์สามารถอธิบายได้ว่า ในหน้าใดหน้าหนึ่งสำหรับเมนูที่เลือกฉันจำเป็นต้องแสดงข้อมูลสารอาหารที่มีประสิทธิภาพซึ่งคำนวณจากส่วนประกอบ (อาหารสูตรอาหารส่วนผสมและสารอาหารที่เกี่ยวข้อง) ณ ตอนนี้ฉันกำลังใช้ SQL Server เพื่อจัดเก็บข้อมูลและฉันกำลังนำทางลูกโซ่จากรหัส C # ของฉันเริ่มจากอาหารแต่ละมื้อของเมนูแล้วรวบรวมค่าสารอาหาร ฉันคิดว่านี่ไม่ใช่วิธีที่มีประสิทธิภาพเนื่องจากการคำนวณนี้กำลังทำทุกครั้งที่มีการร้องขอหน้าเว็บและมีการเปลี่ยนแปลงองค์ประกอบในบางครั้ง ฉันคิดเกี่ยวกับการให้บริการพื้นหลังที่รักษาตารางที่เรียกว่า MenuNutrients ( {MenuId, NutrientId, Value}) และจะเติม / อัปเดตตารางนี้ด้วยสารอาหารที่มีประสิทธิภาพเมื่อมีองค์ประกอบใด ๆ (Meal, Recipe, Ingredient) เปลี่ยนแปลง ฉันรู้สึกว่า GraphDB เหมาะสำหรับความต้องการนี้ แต่การได้รับ NoSQL ของฉันมี จำกัด ฉันต้องการที่จะรู้ว่าสิ่งที่เป็นทางเลือกวิธีการแก้ปัญหา / แนวทางในการแสดงสารอาหารของเมนูที่กำหนด หวังว่าคำอธิบายของฉันเกี่ยวกับสถานการณ์จะชัดเจน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.