ข้อเสนอแนะฐานข้อมูลสำหรับเครือข่ายสังคม / ชุมชนฐานความรู้?


12

ฉันกำลังมองหาฐานข้อมูลประเภทต่างๆและ DBMS สำหรับโครงการใหม่ที่ฉันต้องการเริ่มในช่วงฤดูร้อน

ฉันได้สร้างระบบใน MySQL และ postgreSQL ตอนนี้ฉันต้องการที่จะขยายความรู้และประสบการณ์ของฉันในฐานข้อมูล

โครงการของฉันจะเป็นประเภทของเครือข่ายโซเชียล / รวมความรู้ (ยังไม่ได้พัฒนาคำเพื่ออธิบายยัง)

ฉันได้ดูที่:

  • คาสซานดรา (ใช้ภาษาคิวรีของตัวเอง); ดูเหมือนว่าจะดีสำหรับเนื้อหาที่มีคุณลักษณะหลากหลายและให้การดำเนินการค้นหาที่มีประสิทธิภาพสูง อย่างไรก็ตามฉันไม่ได้กระตือรือร้นกับมันมากเกินไปเพราะมันต้องการสภาพแวดล้อมแบบจาวาเพื่อทำงานต่อและฉันก็อยากจะไม่มีอะไรเกี่ยวข้องกับออราเคิล
  • MongoDB (noSQL ประเภทของ DBMS); ความสามารถในการขยายที่ยอดเยี่ยม แต่คุณสูญเสียความสามารถทั้งหมดที่มีอยู่แล้วในภาษา SQL ที่พิสูจน์แล้วเช่นแบบสอบถามข้อมูลธุรกิจ

ข้อกำหนดของระบบ:

  • ข้อความข้อมูล , วันที่, เวลา, xml, ints ขนาดเล็ก, หยด
  • โครงสร้าง / พฤติกรรม : ปกติ 3NF, ไม่ใช่เรียลไทม์, สัมพันธ์, ปรับขนาดได้, แข็งแกร่ง
  • สภาพแวดล้อม: unix / linux, ไม่มี JAVA!, ควรรันบน C

ฉันสงสัยว่าถ้าคุณสามารถชี้ให้ฉันไปที่ระบบฐานข้อมูลอื่น ๆ ที่ฉันควรทำการวิจัย

ฉันยังได้ดูฐานข้อมูล Object Relational ฉันค่อนข้างชอบความคิดของพวกเขาที่ทำงานกับวัตถุ PHP (PDO's) แต่ประสิทธิภาพของพวกเขาดูเหมือนจะแย่ไปหน่อย

เนื่องจากจะมี DBA อยู่ที่นี่ความคิดเห็นใด ๆ เกี่ยวกับระบบเหล่านี้ที่คุณดำเนินการจะได้รับการชื่นชม

ขอบคุณ


3
หากคุณต้องการ 3nf ปกติคุณต้องทำร้านค้าสัมพันธ์ ระยะเวลา
JNK

2
ฉันจะไม่เคาะ Java เพราะมันเป็น "Oracle" ใช้เครื่องมือที่เหมาะสมสำหรับงาน หาก Java เป็นเครื่องมือที่ดีที่สุดฉันจะใช้มัน ถ้า C เป็นงานที่ถูกต้องให้ใช้ มุ่งเน้นไปที่สิ่งที่แต่ละเครื่องมือช่วยให้คุณข้อดีและข้อเสีย ตัดสินใจอย่างมีการศึกษาในเรื่องนั้น (เช่นเดียวกับด้าน DB) แทนที่จะใช้ความรู้สึก
Chris Aldrich

คำตอบ:


4

ข้อกำหนดนามธรรมของคุณกรีดร้อง "PostgreSQL" ถึงฉัน อย่างไรก็ตามฉันคิดว่ามันคุ้มค่าที่จะอยู่เคียงข้างกับสิ่งที่ชนชั้นกลางมีอยู่ดังนั้นนี่คือรายการของสิ่งต่าง ๆ ที่คุณอาจต้องการตรวจสอบ

ของฟรี

  • CouchDB - หนึ่งในฐานข้อมูล NoSQL แรกแผนที่ที่มีประสิทธิภาพ / ลดระบบการสืบค้นกระจายอย่างสูงและทนต่อความผิดพลาด หนึ่งในผู้แข่งขัน NoSQL ที่ดีกว่า
  • Hyperdex - ตารางแฮชแบบกระจายที่ใหม่พร้อมความสามารถในการค้นหา
  • Riak - ตารางแฮชแบบกระจายที่ควรค่าแก่การเคารพ

ของฟรีแปลก ๆ

  • Metakit - ฐานข้อมูลแบบฝังตัวเช่นSQLiteแต่ไม่ใช่ฐานข้อมูลSQL ดังนั้นจึงมีขั้นตอนเพิ่มเติม
  • FramerD - เหมือนกับฐานข้อมูล "เครือข่าย" แบบคลาสสิกที่มีตัวชี้เป็นศูนย์กลาง อาจจะตายเหรอ?
  • Magma - OODBMS Smalltalk เท่ห์ แต่ไม่ได้บันทึกไว้อย่างดี

สิ่งที่ไม่ใช่ฟรี

  • AllegroGraph - ฐานข้อมูล RDF (กราฟ) รองรับ SPARQL เสียงกระเพื่อมรส
  • Caché - ฐานข้อมูลเชิงสัมพันธ์แบบไฮบริด / OO ซึ่งมีพื้นฐานมาจาก MUMPS (IIRC)
  • ความเที่ยงธรรม - หนึ่งในไม่กี่ OODB ที่มีขนาดใหญ่ในช่วงสุดท้าย ทรงพลังมากน่าประทับใจและมีราคาแพง
  • VoltDB - ฐานข้อมูลเชิงสัมพันธ์ส่วนใหญ่ปรับขนาดได้สูง รองรับ SQL ส่วนใหญ่ ใหม่มาก ฉันเดาว่าพวกเขามีเวอร์ชันชุมชนด้วย

ข้อสรุป

ฉันไม่ได้ใช้สิ่งเหล่านี้อย่างกว้างขวาง ฉันได้เล่นกับพวกเขาส่วนใหญ่เล็กน้อยและมักจะกลับมาพร้อมกับ PostgreSQL ดูที่ความต้องการของคุณ PostgreSQL เพียงอันเดียวที่ไม่สามารถตอบสนองได้คือความสามารถในการปรับขนาด ในทางตรงกันข้ามสำหรับจุดประสงค์ของฉันมันง่ายกว่ามากที่จะโยนฮาร์ดแวร์ $ 4,000 ไปยังเครื่องฐานข้อมูลเดียวโดยเฉพาะแทนที่จะโยนคลาวด์โหนด $ 4,000 หรือเครื่องต่ำสุดที่ปัญหานี้ และมีวิธีการในการบรรลุความยืดหยุ่นกับ PostgreSQL เช่นกับEnterpriseDB

มันสนุกมากที่ได้เล่นกับสิ่งเหล่านี้ที่ด้านข้าง แต่เมื่อถึงเวลาต้องใส่ข้อมูลที่มีคุณค่าและไม่สามารถผลิตได้ให้กลายเป็นสิ่งที่น่าเบื่ออย่างเช่นความน่าเชื่อถือความมั่นคงและความมีชีวิตในระยะยาว

การทดลองทางความคิดสำหรับคุณ

พิจารณาสิ่งนี้. ลองนึกภาพว่าคุณคือ Mark Zuckerberg และคุณต้องเลือกที่จะยอมแพ้ codebase หรือข้อมูลของคุณ คุณสามารถรักษาพนักงานพัฒนาของคุณไว้ได้ แต่คุณต้องทิ้งรหัสทั้งหมดของคุณ - ทุกบรรทัดพูดแม้กระทั่งความทรงจำของนักพัฒนาทั้งหมดเกี่ยวกับวิธีที่พวกเขาใช้งานทุกอย่างหายไป - แต่คุณจะต้องรักษาบัญชีผู้ใช้ทั้งหมดของคุณ data และทุกอย่างหรือคุณสามารถยกเลิกข้อมูลทั้งหมดได้ เก็บโครงสร้างและเซิร์ฟเวอร์และการกำหนดค่าทั้งหมดตั้งค่า แต่สูญเสียทุกแถวในทุกตารางในทุกฐานข้อมูล

ควรชัดเจนว่ามันจะแย่กว่าที่จะสูญเสียข้อมูล เหตุใดผู้ใช้ทั้งหมดของคุณจะสร้างข้อมูลทั้งหมดอีกครั้ง ลองคิดถึงข้อมูลการตลาดทั้งหมดที่หายไปซึ่งเป็นวิธีการที่ Facebook ทำเงินได้จริง และมีผู้ประกอบการมากมายที่เปิดโอกาสให้ผู้ใช้โคลนนิ่ง Facebook ของพวกเขาตอนนี้ผู้ใช้ Facebook ที่ไม่ได้รับสิทธิ์ทั้งหมดจะออกมาพิจารณาทางเลือกอื่น ในทางกลับกันถ้าพวกเขาสูญเสีย codebase พวกเขาสามารถสร้างมันขึ้นมาใหม่อาจจะดีกว่าตอนนี้ แต่พวกเขาสามารถมีบางสิ่งออนไลน์ในลำดับที่สั้นมาก เฮค - พวกเขาอาจจะซื้อFacebook โคลน codebase ของคนอื่นและโหลดด้วยข้อมูลจริง แต่คุณไม่สามารถคัดลอกข้อมูลของพวกเขาได้ หาก Facebook ยังคงมีข้อมูลสำคัญของทุกคนบนเซิร์ฟเวอร์ของพวกเขา ยังไม่ดี แต่ก็น้อยกว่ามาก น่าแปลกที่น้อยกว่าดังนั้น

ประชดคือว่ามันเป็นมากง่ายต่อการสูญเสียข้อมูลของคุณทั้งหมดในอุบัติเหตุกว่าที่จะสูญเสียรหัสของคุณทั้งหมด สำหรับ บริษัท อินเทอร์เน็ตส่วนใหญ่แล้วข้อมูลคือบริษัท มันเป็นทรัพย์สินที่มีค่าที่สุดของคุณ และนี่คือเหตุผลที่ดีในการพิจารณาใช้ฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิมที่ผ่านการทดสอบเวลาล้าสมัยและไม่ปลอดภัย


สรุปกระทู้ความคิดเห็นแบบยาวถูกลบจากที่นี่: "มันไม่ยุติธรรมที่จะบอกเป็นนัยว่าร้านค้า NOSQL กำลังจะทำให้มีแนวโน้มว่าคุณจะสูญเสียข้อมูลมากขึ้น"
แจ็คบอกว่าลอง topanswers.xyz

สิ่งที่ฉันพูดจะเกี่ยวกับอายุและการใช้งานที่กว้างไม่ใช่การออกแบบของเครื่องมือจัดเก็บข้อมูล
Daniel Lyons

6

พิจารณาด้วยว่าไม่มีเหตุผลใดที่คุณไม่สามารถใช้ฐานข้อมูลเชิงสัมพันธ์สำหรับบางสิ่งและฐานข้อมูล nosql สำหรับสิ่งอื่น ๆ


0

เมื่อพูดถึง nosql ฉันมีเพียง 1 สิ่งที่จะเพิ่มเกี่ยวกับการอ้างอิง Facebook:

หากคุณวางแผนที่จะขยายขนาดใหญ่มากฉันขอแนะนำให้คุณใช้เครื่องมือดูแลระบบฐานข้อมูลที่เป็นมิตรกับเพื่อนที่เป็นมิตร

ออกจากผู้พัฒนาที่เป็นมิตรและรวดเร็วมาก MongoDB ซึ่งไม่สามารถขยายการกระจายทางภูมิศาสตร์และไม่มีวิธีการสำรองข้อมูลอย่างมีประสิทธิภาพและง่ายดาย แม้ว่าที่นี่เราใช้ MongoDB แต่ดูเหมือนว่า Riak หรือ CouchDB ดูดีกว่าในรายละเอียดสำหรับ sysadmins (ฉันไม่มีประสบการณ์กับ Riak หรือ CouchDB)


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