คำถามติดแท็ก nosql

NoSQL (บางครั้งขยายเป็น "ไม่ใช่เฉพาะ SQL") เป็นระบบการจัดการฐานข้อมูลระดับกว้างที่แตกต่างจากรูปแบบคลาสสิกของระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ในลักษณะที่สำคัญบางประการ

21
เหตุผลที่ดีที่ไม่ใช้ฐานข้อมูลเชิงสัมพันธ์?
คุณช่วยชี้ไปที่เครื่องมือจัดเก็บข้อมูลทางเลือกและให้เหตุผลที่ดีในการใช้งานแทนที่จะใช้ฐานข้อมูลเชิงสัมพันธ์ที่เก่าหรือไม่? ในความคิดของฉันแอพพลิเคชั่นส่วนใหญ่ไม่ค่อยใช้ SQL อย่างเต็มประสิทธิภาพ - มันน่าสนใจที่จะเห็นวิธีการสร้างแอพพลิเคชั่นที่ไม่ใช้ SQL
139 sql  database  nosql 

5
MongoDB / NoSQL: การเก็บประวัติการเปลี่ยนแปลงเอกสาร
ข้อกำหนดทั่วไปในแอปพลิเคชันฐานข้อมูลคือการติดตามการเปลี่ยนแปลงของเอนทิตีเฉพาะอย่างน้อยหนึ่งรายการในฐานข้อมูล ฉันเคยได้ยินสิ่งนี้เรียกว่าการกำหนดเวอร์ชันแถวตารางบันทึกหรือตารางประวัติ (ฉันแน่ใจว่ามีชื่ออื่นอยู่) มีหลายวิธีในการเข้าถึงใน RDBMS - คุณสามารถเขียนการเปลี่ยนแปลงทั้งหมดจากตารางต้นทางทั้งหมดไปยังตารางเดียว (บันทึกเพิ่มเติม) หรือมีตารางประวัติแยกต่างหากสำหรับแต่ละตารางต้นทาง นอกจากนี้คุณยังมีตัวเลือกในการจัดการการล็อกอินรหัสแอปพลิเคชันหรือผ่านทริกเกอร์ฐานข้อมูล ฉันกำลังพยายามคิดว่าวิธีแก้ปัญหาเดียวกันจะเป็นอย่างไรในฐานข้อมูล NoSQL / document (โดยเฉพาะ MongoDB) และจะแก้ไขอย่างไรในลักษณะเดียวกัน มันจะง่ายเหมือนการสร้างหมายเลขเวอร์ชันสำหรับเอกสารและไม่เขียนทับหรือไม่ การสร้างคอลเล็กชันแยกต่างหากสำหรับเอกสาร "ของจริง" กับ "บันทึก" สิ่งนี้จะส่งผลต่อการสืบค้นและประสิทธิภาพอย่างไร อย่างไรก็ตามนี่เป็นสถานการณ์ทั่วไปสำหรับฐานข้อมูล NoSQL และถ้าเป็นเช่นนั้นมีวิธีแก้ปัญหาทั่วไปหรือไม่?
134 mongodb  nosql 

7
ความสอดคล้องในที่สุดในภาษาอังกฤษล้วน
ฉันมักจะได้ยินเกี่ยวกับความสอดคล้องในท้ายที่สุดในสุนทรพจน์ที่แตกต่างกันเกี่ยวกับ NoSQL กริดข้อมูล ฯลฯ ดูเหมือนว่าคำจำกัดความของความสอดคล้องในที่สุดจะแตกต่างกันไปในหลายแหล่ง (และอาจขึ้นอยู่กับการจัดเก็บข้อมูลที่เป็นรูปธรรม) ใครช่วยให้คำอธิบายง่ายๆว่าความสอดคล้องในที่สุดคืออะไรโดยทั่วไปไม่เกี่ยวข้องกับการจัดเก็บข้อมูลที่เป็นรูปธรรม?

6
ความแตกต่างระหว่าง HBase และ Hadoop / HDFS
นี่เป็นคำถามที่ไร้เดียงสา แต่ฉันยังใหม่กับกระบวนทัศน์ NoSQL และไม่รู้มากเกี่ยวกับเรื่องนี้ ดังนั้นหากใครสามารถช่วยให้ฉันเข้าใจความแตกต่างระหว่าง HBase และ Hadoop ได้อย่างชัดเจนหรือให้คำชี้บางอย่างซึ่งอาจช่วยให้ฉันเข้าใจความแตกต่าง จนถึงตอนนี้ฉันได้ทำการค้นคว้าและทำตาม ตามความเข้าใจของฉัน Hadoop จัดเตรียมเฟรมเวิร์กเพื่อทำงานกับกลุ่มข้อมูลดิบ (ไฟล์) ใน HDFS และ HBase เป็นเอ็นจิ้นฐานข้อมูลที่อยู่เหนือ Hadoop ซึ่งโดยทั่วไปจะทำงานกับข้อมูลที่มีโครงสร้างแทนที่จะเป็นข้อมูลดิบ Hbase จัดเตรียมเลเยอร์ตรรกะบน HDFS เช่นเดียวกับ SQL ถูกต้องหรือไม่ กรุณาอย่าลังเลที่จะแก้ไขฉัน ขอบคุณ
130 hadoop  nosql  hbase  hdfs  difference 

3
SQL (MySQL) เทียบกับ NoSQL (CouchDB) [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันอยู่ระหว่างการออกแบบแอปพลิเคชันที่ปรับขนาดได้สูงซึ่งต้องจัดเก็บข้อมูลจำนวนมาก ตัวอย่างเช่นมันจะเก็บข้อมูลเกี่ยวกับผู้ใช้จำนวนมากจากนั้นสิ่งต่างๆเช่นข้อความความคิดเห็น ฯลฯ จำนวนมากฉันเคยใช้ MySQL มาก่อน แต่ตอนนี้ฉันตั้งใจที่จะลองสิ่งใหม่ ๆ เช่น couchdb หรือสิ่งที่คล้ายกันซึ่งไม่ใช่ SQL ใครมีความคิดหรือคำแนะนำเกี่ยวกับเรื่องนี้หรือไม่?
126 mysql  sql  nosql  couchdb 

8
mongodb อยู่ตรงไหนในทฤษฎีบท CAP?
ทุกที่ที่ฉันมองฉันเห็นว่า MongoDB คือ CP แต่เมื่อฉันขุดลงไปฉันเห็นว่ามันสอดคล้องกันในที่สุด CP เมื่อคุณใช้ปลอดภัย = จริงหรือไม่? ถ้าเป็นเช่นนั้นหมายความว่าเมื่อฉันเขียนด้วย safe = true แบบจำลองทั้งหมดจะได้รับการอัปเดตก่อนที่จะได้รับผลลัพธ์หรือไม่


4
คุณติดตามบันทึกความสัมพันธ์ใน NoSQL ได้อย่างไร?
ฉันกำลังพยายามหาคีย์ต่างประเทศและดัชนีที่เทียบเท่าในฐานข้อมูล NoSQL KVP หรือ Document เนื่องจากไม่มีตารางสาระสำคัญ (เพื่อเพิ่มคีย์ที่ทำเครื่องหมายความสัมพันธ์ระหว่างวัตถุสองชิ้น) ฉันนิ่งงันมากว่าคุณจะสามารถดึงข้อมูลด้วยวิธีใดที่จะเป็นประโยชน์สำหรับหน้าเว็บปกติได้ สมมติว่าฉันมีผู้ใช้และผู้ใช้รายนี้แสดงความคิดเห็นมากมายทั่วทั้งไซต์ วิธีเดียวที่ฉันคิดได้ในการติดตามความคิดเห็นของผู้ใช้ก็คือ ฝังไว้ในวัตถุผู้ใช้ (ซึ่งดูเหมือนไม่มีประโยชน์เลย) สร้างและรักษาuser_id:commentsค่าที่มีรายการคีย์ของแต่ละความคิดเห็น [ความคิดเห็น: 34, ความคิดเห็น: 197 ฯลฯ ... ] เพื่อให้ฉันสามารถดึงข้อมูลได้ตามต้องการ อย่างไรก็ตามการทำตามตัวอย่างที่สองคุณจะเจอกำแพงอิฐในไม่ช้าเมื่อคุณใช้เพื่อติดตามสิ่งอื่น ๆ เช่นคีย์ที่เรียกว่า "active_comments" ซึ่งอาจมีรหัส 30 ล้านรหัสอยู่ในนั้น เสียค่าใช้จ่ายตันเพื่อสอบถามแต่ละหน้าเพียงเพื่อให้รู้ว่าที่ผ่านมาบางส่วน ความคิดเห็นที่ใช้งานอยู่ นอกจากนี้ยังมีแนวโน้มที่จะเกิดสภาวะการแข่งขันเนื่องจากหลาย ๆ เพจอาจพยายามอัปเดตพร้อมกัน ฉันจะติดตามความสัมพันธ์ดังต่อไปนี้ในฐานข้อมูล NoSQL ได้อย่างไร ความคิดเห็นทั้งหมดของผู้ใช้ ความคิดเห็นที่ใช้งานอยู่ทั้งหมด โพสต์ทั้งหมดที่ติดแท็ก [คีย์เวิร์ด] นักเรียนทุกคนในชมรม - หรือทุกชมรมที่นักเรียนอยู่ หรือฉันคิดเรื่องนี้ไม่ถูกต้อง?

9
mongodb กำลังทำงานอยู่หรือไม่?
ฉันได้ติดตั้ง mongodb และไดรเวอร์ php บนเซิร์ฟเวอร์ unix ของฉันแล้ว คำถามของฉันคือฉันจะรู้ได้อย่างไรว่า mongodb กำลังทำงานอยู่ มีแบบสอบถามบรรทัดคำสั่งง่ายๆเพื่อตรวจสอบสถานะหรือไม่? ถ้าฉันเริ่มครั้งเดียวจากเชลล์มันจะยังคงทำงานต่อไปถ้าฉันออกจากเชลล์ (ดูเหมือนจะไม่เป็นเช่นนั้น) ฉันจะทำให้การเชื่อมต่อ mongodb ต่อเนื่องและเริ่มอัตโนมัติเมื่อรีบูตเซิร์ฟเวอร์ได้อย่างไร ฉันวิ่งได้: -bash-3.2 $ su รหัสผ่าน: [root @ xxx] # cd / var / lib [root @ xxx] # ./mongodb-linux-i686-1.6.5/bin/mongod ./mongodb-linux-i686-1.6. 5 / bin / mongod - help สำหรับความช่วยเหลือและตัวเลือกการเริ่มต้น พ. 23 ก.พ. 08:06:54 MongoDB เริ่มต้น: …
117 mongodb  unix  database  nosql 

5
การออกแบบฐานข้อมูลแบบไม่สัมพันธ์ [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันสนใจที่จะรับฟังเกี่ยวกับกลยุทธ์การออกแบบที่คุณใช้กับฐานข้อมูล "nosql" ที่ไม่ใช่เชิงสัมพันธ์นั่นคือคลาส (ส่วนใหญ่ใหม่) ของที่เก็บข้อมูลที่ไม่ได้ใช้การออกแบบเชิงสัมพันธ์แบบดั้งเดิมหรือ SQL (เช่น Hypertable, CouchDB, SimpleDB, ที่เก็บข้อมูล Google App Engine, Voldemort, Cassandra, SQL Data Services ฯลฯ ) พวกเขามักเรียกกันว่า "ที่เก็บคีย์ / มูลค่า" และโดยพื้นฐานแล้วจะทำหน้าที่เหมือนตารางแฮชถาวรขนาดยักษ์ โดยเฉพาะฉันต้องการเรียนรู้เกี่ยวกับความแตกต่างในการออกแบบข้อมูลเชิงแนวคิดกับฐานข้อมูลใหม่เหล่านี้ อะไรง่ายกว่ายากกว่าอะไรทำไม่ได้เลย? คุณคิดแบบอื่นที่ทำงานได้ดีกว่าในโลกที่ไม่ใช่เชิงสัมพันธ์หรือไม่? คุณเคยตีหัวกับสิ่งที่ดูเหมือนเป็นไปไม่ได้หรือเปล่า? คุณได้เชื่อมช่องว่างกับรูปแบบการออกแบบเช่นการแปลจากรูปแบบหนึ่งไปเป็นอีกรูปแบบหนึ่งหรือไม่? ตอนนี้คุณทำแบบจำลองข้อมูลที่ชัดเจนหรือไม่ (เช่นใน UML) หรือคุณได้รวบรวมข้อมูลเหล่านี้ทั้งหมดเพื่อสนับสนุนกลุ่มข้อมูลกึ่งโครงสร้าง / เชิงเอกสารหรือไม่? คุณพลาดบริการพิเศษที่สำคัญใด ๆ ที่ RDBMSes …
114 database  nosql 

4
การสนับสนุน Native JSON ใน MYSQL 5.7: ข้อดีข้อเสียของประเภทข้อมูล JSON ใน MYSQL คืออะไร?
ใน MySQL 5.7 มีการเพิ่มประเภทข้อมูลใหม่สำหรับการจัดเก็บข้อมูล JSON ในตารางMySQL เห็นได้ชัดว่าจะเป็นการเปลี่ยนแปลงที่ดีใน MySQL พวกเขาระบุประโยชน์บางอย่าง การตรวจสอบเอกสาร - เฉพาะเอกสาร JSON ที่ถูกต้องเท่านั้นที่สามารถจัดเก็บในคอลัมน์ JSON คุณจึงได้รับการตรวจสอบความถูกต้องของข้อมูลโดยอัตโนมัติ การเข้าถึงที่มีประสิทธิภาพ - ที่สำคัญกว่านั้นคือเมื่อคุณจัดเก็บเอกสาร JSON ในคอลัมน์ JSON เอกสารนั้นจะไม่ถูกจัดเก็บเป็นค่าข้อความธรรมดา แต่จะถูกเก็บไว้ในรูปแบบไบนารีที่ปรับให้เหมาะสมซึ่งช่วยให้สามารถเข้าถึงสมาชิกวัตถุและองค์ประกอบอาร์เรย์ได้เร็วขึ้น ประสิทธิภาพ - ปรับปรุงประสิทธิภาพการสืบค้นของคุณโดยการสร้างดัชนีสำหรับค่าภายในคอลัมน์ JSON สามารถทำได้ด้วย“ ดัชนีการทำงาน” ในคอลัมน์เสมือน ความสะดวก - ไวยากรณ์แบบอินไลน์เพิ่มเติมสำหรับคอลัมน์ JSON ทำให้การรวมคิวรีเอกสารภายใน SQL ของคุณเป็นเรื่องปกติมาก ตัวอย่างเช่น (features.feature คือคอลัมน์ JSON):SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = …


3
วิธีใดที่ดีที่สุดในการจัดโครงสร้างข้อมูลบน Firebase
ฉันเพิ่งเริ่มใช้ firebase และฉันต้องการทราบว่าวิธีใดเป็นวิธีที่ดีที่สุดในการจัดโครงสร้างข้อมูล ฉันมีตัวอย่างง่ายๆ: มีผู้สมัครและใบสมัครในโครงการของฉัน ผู้สมัคร 1 คนสามารถสมัครได้หลายใบ ฉันจะเชื่อมโยง 2 ออบเจ็กต์นี้กับ firebase ได้อย่างไร มันทำงานเหมือนฐานข้อมูลเชิงสัมพันธ์หรือไม่? หรือแนวทางต้องแตกต่างกันอย่างสิ้นเชิงในแง่ของการออกแบบข้อมูล?

7
Redis ทำอะไรเมื่อหน่วยความจำไม่เพียงพอ
นี่อาจเป็นคำถามที่ง่าย แต่ฉันมีปัญหาในการหาคำตอบ Redis 2.0 จัดการกับหน่วยความจำที่จัดสรรสูงสุดหมดอย่างไร จะตัดสินใจได้อย่างไรว่าจะลบข้อมูลใดหรือเก็บข้อมูลใดไว้ในหน่วยความจำ
111 nosql  redis 

6
วิธีที่แนะนำในการลบรายการจำนวนมากจาก DynamoDB คืออะไร?
ฉันกำลังเขียนบริการบันทึกอย่างง่ายใน DynamoDB ฉันมีตารางบันทึกที่คีย์โดยแฮช user_id และช่วงเวลา (Unix epoch int) เมื่อผู้ใช้บริการยุติบัญชีของตนฉันจำเป็นต้องลบรายการทั้งหมดในตารางโดยไม่คำนึงถึงค่าช่วง วิธีที่แนะนำในการดำเนินการประเภทนี้คืออะไร (โปรดทราบว่าอาจมีรายการหลายล้านรายการให้ลบ) ตัวเลือกของฉันเท่าที่ฉันเห็นคือ: ตอบ: ดำเนินการสแกนโดยเรียกลบรายการที่ส่งคืนแต่ละรายการจนกว่าจะไม่เหลือรายการใด ๆ B: ดำเนินการ BatchGet อีกครั้งเรียกลบในแต่ละรายการจนกว่าจะไม่มีเหลือ ทั้งสองอย่างนี้ดูแย่สำหรับฉันเพราะจะใช้เวลานาน สิ่งที่ฉันอยากทำคือโทร LogTable.DeleteItem (user_id) - โดยไม่ต้องระบุช่วงและให้มันลบทุกอย่างให้ฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.