ทำไมคุณถึงใช้ฐานข้อมูล Oracle [ปิด]


97

ฉันสงสัยในเหตุผลทางเทคนิคว่าทำไมคุณถึงเลือกฐานข้อมูล Oracle เทียบกับรสชาติล่าสุดของ:
1) Microsoft SQL Server
2) MySQL
3) PostgreSQL

คุณลักษณะหรือฟังก์ชันใดบ้างที่แสดงให้เห็นถึงค่าใช้จ่ายเพิ่มเติม ฉันสนใจข้อโต้แย้งทางเทคนิคไม่ใช่สงครามศาสนา มีเพื่อนคนหนึ่งถามฉันและฉันก็ใช้หนึ่งใน 3 ที่ระบุไว้เสมอ ฉันไม่ทราบเกี่ยวกับฐานข้อมูล Oracle มากพอที่จะเสนอความคิดเห็น

ขอบคุณ.

คำตอบ:


49

ดูเหมือนจะไม่มีใครพูดถึงต้นทุนของเวลาที่นักพัฒนาทำงานกับ Oracle นักพัฒนาส่วนใหญ่ที่รู้จัก db อื่น ๆ เกลียด Oracle ผู้ที่ไม่คิดว่าโค้ด DB และ / หรือเครื่องมือ ORM ทั้งหมดใช้ยาก

ถ้าฉันเริ่มต้นธุรกิจที่ฉันเชื่อว่าจะปรับขนาดตามสัดส่วนของ Amazon ฉันอาจพิจารณาโซลูชัน NoSQL มิฉะนั้นฉันจะเลือก PostgreSQL, SQL Server (หรือแม้แต่ Sybase ในตอนนี้) เหนือ Oracle ทุกครั้ง ฉันบอกว่าสิ่งนี้ได้ทำงาน (ในฐานะ dev) กับ Oracle เป็นเวลา 2 ปี - มันแย่มากที่จะทำงานด้วย!


3
ฉันไม่เห็นด้วย! Oracle เป็นหนึ่งในการใช้งาน RDBMS ที่ดีที่สุด จัดการหน่วยความจำได้อย่างมีประสิทธิภาพและสามารถจัดการกับการดำเนินการ JOIN ที่ซับซ้อนซึ่งทำให้ MySQL และ MsSQL ทำให้พิการได้ง่าย Oracle มีสถาปัตยกรรมที่ยอดเยี่ยมทำให้มันแข็งแกร่งเพราะมันง่ายมากที่จะจัดระเบียบข้อมูลแอพพลิเคชั่นต่างๆได้เป็นอย่างดี ฉันคิดว่าข้อดีที่ดีที่สุดสำหรับฉันคือ SQL Engine ที่ Oracle มีมันล้ำหน้ามากทำให้เป็นฐานข้อมูลเดียวที่ใช้งานคลังข้อมูล! การเรียกใช้คำค้นหาที่ซับซ้อนบน Oracle เป็นเรื่องง่ายคุณสมบัติอื่น ๆ เช่น Materialized Views, PL / SQL และอื่น ๆ ทำให้ Oracle มีความคุ้มค่า
Muzaaya Joshua

8
ฉันเห็นด้วยเช่นกัน - จากการทำงานกับทั้ง Oracle 11gR2 และ SQL Server 2008 R2 ในช่วงหลายปีที่ผ่านมามันไร้สาระมากที่ฉันเจอกับโมเดลการรักษาความปลอดภัยที่ใช้งานไม่ได้ของ Oracle กี่ครั้งเครื่องมือปรับแต่งประสิทธิภาพที่ไม่ได้ตั้งใจและเครื่องมือเพิ่มประสิทธิภาพที่จู้จี้จุกจิก ไม่ว่าคุณจะประหยัดได้มากแค่ไหนจากการได้รับสิทธิ์การใช้งาน MS Win Server ก่อนหน้านี้จะถูกใช้หมดไปทันทีจากประสิทธิภาพการทำงานที่หายไป
engil

4
ในฐานะผู้ใช้หลักของ SQL Server และได้พัฒนาฐานข้อมูลโดยใช้ Oracle: Oracle เป็นความเจ็บปวดใน a * se เช่นเดียวกับที่ @ จัสมินกล่าวถึงมัน จำกัด เฉพาะสิ่งที่คุณทำได้ ฉันเกลียดการทำงานของตัวแปรเป็นพิเศษและคุณต้องสร้างทริกเกอร์และลำดับสำหรับ ID ที่เพิ่มขึ้นอัตโนมัติ SQL Server คือคำจำกัดความของวิธีการทำงานของฐานข้อมูล Heck แม้ MySQL จะดีกว่า Oracle แน่นอนว่าฐานข้อมูลทั้งสองมีข้อ จำกัด แต่ไม่มีอะไรเทียบกับ Oracle มี
RoyalSwish

4
นอกจากนี้ PLSQL ยังเป็นก้อนและน่ารำคาญ
RoyalSwish

1
Oracle มีการสนับสนุน Sharding แบบ จำกัด การรองรับการปรับขนาดที่ จำกัด คุณสมบัติการดูแลระบบที่ จำกัด ความช่วยเหลือที่ จำกัด การสนับสนุนการทำคลัสเตอร์ที่ค่อนข้าง จำกัด (ไม่มีการจัดส่งบันทึกหลัก) และการล็อกผู้จำหน่ายจำนวนมาก ตอนนี้พวกเขาพยายามตามจับ แต่ฉันไม่เคยเห็นจุดบกพร่องมากมายขนาดนี้ ฉันได้ทำงานกับรุ่นอัลฟ่ารุ่นเบต้าและระบบที่ประกาศว่าไม่เหมาะและไม่เสถียร ฉันยังไม่เคยเห็นข้อบกพร่องที่ชัดเจนมากมายที่ควรจะชัดเจนก่อนที่จะปล่อยหรือบางครั้งก่อนที่จะรวบรวม
jbo5112

33

มีเพียง SQLServer ของ Oracle และ Microsoft เท่านั้นที่เป็นแหล่งปิดและเมื่อมีสิ่งผิดปกติเกิดขึ้นและคุณมีปัญหาคำตอบก็เพียงแค่โทรหาเรา (และรับเงินสดหากแน่นอน) อย่างไรก็ตาม MySQL และ PostGre มีบริการให้คำปรึกษาสำหรับองค์กรหลายแห่ง แต่ในที่สุดที่ปรึกษาเหล่านี้ก็ไม่สามารถตอบสนองต่อผลิตภัณฑ์ได้จริงเนื่องจากผลิตภัณฑ์เป็นของทุกคน ซึ่งดีมากเพราะคุณสามารถเข้าไปแก้ไขโค้ดได้หากคุณถนัด C และการเขียนโปรแกรมระดับค่อนข้างต่ำ แต่ถ้าคุณไม่พบวิธีแก้ปัญหาอาจกลายเป็นการไล่ล่าห่านป่า

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

ตกลงตอนนี้ความแตกต่างที่สำคัญที่สุดคือระหว่าง SQLServer และ Oracle และความแตกต่างนั้นคือระบบปฏิบัติการคนส่วนใหญ่ที่ใช้ Windows จะยึดติดกับคุณเดาได้ว่า SQLServer แต่ถ้าคุณใช้ Unix Oracle เป็นโซลูชันปิดซอร์สของคุณ อย่างไรก็ตามฉันใช้ Oracle บน Solaris แต่ถ้าเป้าหมายของเราคือ Windows ฉันอาจจะใช้ SQLServer เนื่องจากผลิตภัณฑ์ทั้งสองมีความแข็งแกร่ง แต่ฉันเชื่อว่า Microsoft มีเทคนิคพิเศษบางอย่างภายใต้ประทุนเพื่อให้ได้ประสิทธิภาพที่ดีที่สุดบน windows


6
+1. คำตอบที่ดี. ฉันมักจะใช้คำขวัญที่ว่า "ฉันชอบพันธุ์ที่ดีที่สุด แต่ฟรีก็เจ๋งมาก" ฉันพยายามหาจุดสมดุลเสมอเมื่อเลือกวิธีแก้ปัญหา สำหรับงานประจำวันของฉันฉันใช้ SQL Server เกี่ยวกับ MySQL ของตัวเองในตอนนี้
BuddyJoe

3

คำถามที่แท้จริงคือจะนำแอปพลิเคชันประเภทใดมาใช้ประโยชน์จาก RDMS คุณไม่จำเป็นต้องใช้ oracle สำหรับบล็อก wordpress หรือ twitter clone ของคุณอย่างแน่นอน แต่ถ้าคุณต้องการทำธุรกิจอัจฉริยะที่หนักหน่วง Oracle อาจมีคุณสมบัติบางอย่างที่สามารถช่วยให้ทำสิ่งนั้นได้อย่างมีประสิทธิภาพมากกว่าคุณสมบัติอื่น ๆ

เซิร์ฟเวอร์ Ms sql ก็ดีมากเช่นกันมีคุณสมบัติมากมาย หากคุณหลงไหลใน linux และคุณต้องการฐานข้อมูลที่มีคุณสมบัติตามที่ ms sql นำเสนอดังนั้น Oracle จะเป็นตัวเลือกที่ดี


3

เพียงเพื่อชื่อไม่กี่:

  • Oracle Real Application Cluster - มีคุณสมบัติการทำคลัสเตอร์ขั้นสูง
  • Oracle Data Guard - เรียกสั้น ๆ ว่ามีคุณสมบัติสแตนด์บายทางกายภาพและเชิงตรรกะ
  • Oracle Exadata - ดำเนินการจัดเก็บข้อมูลฐานข้อมูลที่รับรู้ (ซึ่งสามารถทำการกรองเพรดิเคตการกรองการฉายคอลัมน์การเข้าร่วมการประมวลผลเร่งการสร้างพื้นที่ตาราง) โซลูชันนี้มาพร้อมกับเซิร์ฟเวอร์ HP การรับประกันตลอด 24 ชั่วโมงทุกวันไม่เว้นวันหยุดและสิ่งดีๆอื่น ๆ ค่อนข้างดีสำหรับแอปพลิเคชันที่มีการโหลดข้อมูลที่เข้มข้นสูง (เช่นด้วยการสร้างพื้นที่ตารางอิสระ)
  • Oracle Virtualization

และแน่นอนความมหัศจรรย์ของแบรนด์;)

และเมื่อต้องเลือก RDBMS? โดยปกติตัวเลือกนั้นค่อนข้างชัดเจน - Oracle หรือส่วนที่เหลือของโลก หลังจากนั้นคุณสามารถ จำกัด ตัวเลือกให้แคบลงโดย:

  • แพลตฟอร์ม (เฉพาะ Windows หรือไม่)
  • น้ำหนัก (sqlite, MySQL, PostgreSQL, ... )
  • งบประมาณ (ค่าใบอนุญาตเริ่มต้นค่าบำรุงรักษา + ค่าสนับสนุน)
  • มุมมองวิวัฒนาการเช่น:
    • Oracle Express -> Oracle
    • SQL Server Express -> MSSQL
  • มุมมองทางธุรกิจ - "ผลิตภัณฑ์ที่ปลอดภัยและเป็นที่รู้จักกันดี" หรือผลิตภัณฑ์โอเพ่นซอร์ส (โปรดคำนึงถึงคำพูดของวลีแรก) โพสต์อื่น ๆ มักจะมองลึกลงไปในแง่มุมนี้

14
คงจะดีไม่น้อยหากคุณสามารถเพิ่มคุณสมบัติเหล่านี้ได้เล็กน้อย ... สำหรับพวกเราที่ไม่รู้จักมันก็ฟังดูคล้ายกับ Buzzword bingo ;)
Nik Reiman

6
ไม่เพียงแค่นั้น แต่สิ่งเหล่านี้จำนวนมากไม่จำเป็นสำหรับธุรกิจขนาดเล็กและขนาดกลางและแน่นอนว่าไม่สมเหตุสมผล (สำหรับพวกเขา) ต้นทุนที่มาก
Dave Markle

1
คุณจ่ายสำหรับสิ่งที่คุณใช้ ... ตัวอย่างที่ฉันให้ไว้น่าสนใจสำหรับองค์กรที่ค่อนข้างใหญ่ และอย่างที่บอกไปว่าตัวเลือกแรกมักจะต้องตัดสินใจว่าจะใช้ Oracle หรืออย่างอื่น
ไม่ระบุชื่อ

Oracle RAC ไม่ใช่การทำคลัสเตอร์ขั้นสูง (และไม่ใช่ในปี 2009) แต่เป็นการทำคลัสเตอร์แบบครบวงจร เนื่องจากต้องใช้พื้นที่เก็บข้อมูลร่วมกันจึงไม่ปรับขนาด IO มันจะไม่ปรับขนาดเป็นระดับคลาวด์ในปี 2009 และในช่วงทศวรรษที่ผ่านมาสิ่งต่างๆก็แย่ลงสำหรับ Oracle
jbo5112

3

ฉันคิดว่าเป็นเพราะOracleเป็น RDMS ตัวแรกที่รองรับ " sharding "


2
-1 นี่หมายความว่าอย่างไร? * จำเป็นต้องอ้างอิง * มีหลายวิธีในการใช้งาน Sharding ซึ่งรวมถึง แต่ไม่ จำกัด เพียงการใช้งาน Sharding ใน Application Layer
Jeeyoung Kim

Oracle ไม่มีการชาร์ดแบบเนทีฟจนถึงวันที่ 12.2 (2016/2017) IIRC, MySQL เอาชนะพวกเขามากว่าทศวรรษ (เครื่องมือจัดเก็บข้อมูลที่แตกต่างกัน)
jbo5112

1

ค่าใช้จ่ายของ SQL Server และ Oracle นั้นไม่ได้ห่างกันเท่าไหร่

ในความเป็นจริงสำหรับระบบขนาดเล็กต้นทุนของ Oracle เทียบกับฐานข้อมูลฟรีที่คุณชื่นชอบอยู่ระหว่างศูนย์ (Oracle Express Edition) และไม่ใหญ่มาก (โปรเซสเซอร์ 5,800 เหรียญต่อปีสำหรับ Standard Edition One)

นี่คือการเชื่อมโยงไปยังความสามารถของรุ่นต่างๆใน 11g: http://www.oracle.com/database/product_editions.html

ราคาปลีกมีให้สำหรับทุกพื้นที่ที่http://store.oracle.com - โดยทั่วไปแล้ว บริษัท ขนาดใหญ่จะไม่จ่ายเงินให้กับร้านค้าปลีกแน่นอน)


2
ค่าใช้จ่ายของ Postgres / MySQL และ Oracle นั้น ... (ไม่ใช่ว่าฉันจะยืนตามข้อใดข้อหนึ่งโดยเฉพาะ)
annakata

+1 David คุณช่วยขยายคำตอบว่าอาจรวมถึงข้อ จำกัด บางประการของ Express Edition ได้หรือไม่
BuddyJoe

@ annakata - XE ฟรี SE1 ราคาถูกมาก
David Aldridge

2
ข้อ จำกัด หลัก af Express (XE) คือข้อมูล 4 GB, RAM 1 GB, 1 CPU
Gary Myers

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