คุณจะตัดสินใจใช้ฐานข้อมูลชนิดใด


31

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

สมมติฐานบางประการที่ฉันต้องการทำ (และขอให้คุณทำ):

  1. สมมติว่าคุณมีความสามารถในการจ้างวิศวกรที่ยอดเยี่ยมจำนวนมากที่มีประสบการณ์เท่าเทียมกันกับทุกเทคโนโลยีฐานข้อมูลที่มีอยู่
  2. สมมติว่าคุณมีโครงสร้างพื้นฐานทางเทคนิคเพื่อสนับสนุนฐานข้อมูลที่กำหนด (รวมถึงเซิร์ฟเวอร์และ sysadmins ที่สามารถรองรับฐานข้อมูลดังกล่าว)
  3. สมมติว่าแต่ละฐานข้อมูลมีการสนับสนุนที่ดีที่สุดเท่าที่จะเป็นไปได้ฟรี
  4. สมมติว่าคุณมีบายอิน 100% จากการจัดการ
  5. สมมติว่าคุณมีเงินจำนวนไม่ จำกัด ที่จะทำให้เกิดปัญหา

ตอนนี้ฉันรู้ว่าสมมติฐานข้างต้นกำจัดข้อควรพิจารณาที่ถูกต้องจำนวนมากที่เกี่ยวข้องกับการเลือกฐานข้อมูล แต่ฉันให้ความสำคัญกับการหาฐานข้อมูลที่ดีที่สุดสำหรับงานในระดับเทคนิคอย่างแท้จริง ดังนั้นจากสมมติฐานข้างต้นคำถามคืองานใดที่แต่ละฐานข้อมูล (รวมทั้ง SQL และ NoSQL) เป็นเครื่องมือที่ดีที่สุดและทำไม?


โอกาสใดที่คุณสามารถเลือกสองตัวอย่างของฐานข้อมูลเหล่านี้และสิ่งที่ประเภทของพวกเขาจะเป็นอย่างไร
JeffO

คำตอบ:


6

ฐานข้อมูลเชิงสัมพันธ์ (SQL) นั้นยอดเยี่ยมสำหรับข้อมูลที่โมเดลพื้นฐานยังคงมีเสถียรภาพ การใช้งานจำนวนมากได้รับรอบระยะเวลา (Oracle, DB2, SqlServer) และมีเสถียรภาพและปลอดภัย นอกจากนี้ยังเป็นเรื่องง่ายมากที่จะหาคนที่มีประสบการณ์ในการดูแลพวกเขา - และผู้ดูแลระบบฐานข้อมูลเป็นสิ่งจำเป็น โปรแกรมเมอร์ไม่ควรจัดการกับสิทธิ์การตั้งค่าและการปรับแต่ง พวกเขาควรจะมีสมาธิในการเขียนโปรแกรมและให้ผู้ดูแลระบบกังวลเกี่ยวกับการรักษาฐานข้อมูล ฐานข้อมูลเชิงสัมพันธ์นั้นค่อนข้างง่ายต่อการสืบค้นและมีเครื่องมือมากมายที่จะช่วยในการค้นหาข้อมูลจากพวกเขา


5

SQL

วัตถุเชิงสัมพันธ์ เซิร์ฟเวอร์ที่เสถียรพร้อมการควบคุมเกรนละเอียด

NoSQL

การจัดเก็บข้อมูลที่ยืดหยุ่น ความยืดหยุ่นสูงและความสามารถในการแบ่งส่วน


1

มีบางข้อมูลที่ดีมากเกี่ยวกับเรื่องนี้ในบทความนี้: Cassandra vs MongoDB กับ CouchDB เทียบกับ Redis vs Riak เทียบกับ HBase เทียบกับ Membase vs Neo4j เปรียบเทียบ :

ในขณะที่ฐานข้อมูล SQL เป็นเครื่องมือที่มีประโยชน์อย่างไม่น่าเชื่อการผูกขาดของพวกเขาประมาณ 15 ปีกำลังจะสิ้นสุดลง และมันเป็นเวลา: ฉันไม่สามารถนับสิ่งที่ถูกบังคับให้เป็นฐานข้อมูลเชิงสัมพันธ์ได้
แต่ความแตกต่างระหว่างฐานข้อมูล NoSQL นั้นใหญ่กว่าที่เคยเป็นมาระหว่างฐานข้อมูล SQL หนึ่งกับอีกฐานข้อมูลหนึ่ง ซึ่งหมายความว่ามันเป็นความรับผิดชอบที่ใหญ่กว่าของสถาปนิกซอฟต์แวร์ในการเลือกสิ่งที่เหมาะสมสำหรับโครงการในตอนแรก
ในแง่นี้นี่เป็นการเปรียบเทียบ Cassandra, Mongodb, CouchDB, Redis, Riak, Membase, Neo4j และ HBase [... ]


-3

ฉันเดาว่านี่ไม่ใช่คำถามที่ดีตัวอย่างเช่นยานพาหนะประเภทไหนดี? Bugatti, BWM, รถยนต์, เครื่องจักรขนาดเล็ก, รถไฟ, หัวรถจักร, เครื่องบิน?
มันขึ้นอยู่กับสถานการณ์ของคุณ

สำหรับงานเล็ก ๆ ที่ไม่มีข้อมูลมาก sqlight อาจดี
สำหรับ บริษัท ที่ใช้ผลิตภัณฑ์ของ Microsoft นั้น MSSQL นั้นดี
สำหรับการพัฒนาเว็บไซต์ MySql นั้นใช้งานง่ายมาก
สำหรับธนาคาร Oracle หรือ couchbase (หากจัดการกับปัญหาการทำธุรกรรม)
สำหรับงานเล็ก ๆ ที่มีข้อมูลจำนวนมาก MongoDB ก็ดี
สำหรับ บริษัท ที่มีข้อมูลขนาดใหญ่และมีเพียงโต๊ะเดียว Cassandra
สำหรับ บริษัท ที่มีข้อมูลขนาดใหญ่ Couchbase
สำหรับระบบนิเวศน์แบบฮาโบป HBase
สำหรับกราฟภาพในหน่วยความจำ ...


5
ฉันอยากรู้ว่าทำไมคุณถึงแนะนำ MySQL สำหรับร้านค้า Microsoft ผ่านเซิร์ฟเวอร์ SQL
Becuzz

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