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

5
ทำไมคลัสเตอร์ของ RDBM ไม่สามารถทำแบบที่ NoSQL ทำได้
หนึ่งใน plusses ขนาดใหญ่สำหรับ nosql DBMS คือพวกเขาสามารถจัดกลุ่มได้ง่ายขึ้น สมมุติว่าด้วย NoSQL คุณสามารถสร้างเครื่องจักรราคาถูกนับร้อยที่เก็บข้อมูลต่าง ๆ และทำการค้นหาทั้งหมดในครั้งเดียว คำถามของฉันคือสิ่งนี้ทำไม DBMS เชิงสัมพันธ์ไม่สามารถทำเช่นเซิร์ฟเวอร์ mysql หรือ sql ได้ ผู้ค้าไม่ได้หาวิธีทางเทคนิคในการทำสิ่งนี้กับผลิตภัณฑ์ที่มีอยู่ของพวกเขาหรือมีปัญหากับตัวแบบเชิงสัมพันธ์ที่ป้องกันไม่ให้เกิดความเป็นไปได้หรือไม่? มีอะไรที่ยอดเยี่ยมเกี่ยวกับวิธี NoSQL ในการจัดเก็บและเข้าถึงข้อมูล (คีย์ / ค่าเอกสาร ฯลฯ ) ที่ทำให้การจัดกลุ่มง่ายขึ้นหากเป็นจริงทั้งหมด

6
มีการ จำกัด จำนวนฐานข้อมูลที่คุณสามารถวางบนเซิร์ฟเวอร์ SQL เครื่องเดียวหรือไม่?
ฉันกำลังตั้งค่าระบบ SaaS ที่เราวางแผนที่จะให้ฐานข้อมูลลูกค้าของพวกเขาแต่ละคน ระบบได้รับการตั้งค่าไว้แล้วเพื่อให้เราสามารถขยายไปยังเซิร์ฟเวอร์เพิ่มเติมได้อย่างง่ายดายหากโหลดมากเกินไป เราหวังว่าจะมีลูกค้าเป็นพันหรือเป็นหมื่น คำถาม มีข้อ จำกัด ในทางปฏิบัติเกี่ยวกับจำนวนฐานข้อมูลขนาดเล็กที่คุณสามารถ / ควรมีใน SQL Server เดียวหรือไม่? มันมีผลต่อประสิทธิภาพของเซิร์ฟเวอร์หรือไม่ มันจะดีกว่าหรือถ้ามี 10,000 ฐานข้อมูลละ 100 MB หรือหนึ่งฐานข้อมูล 1 TB ข้อมูลเพิ่มเติม เมื่อฉันพูดว่า "ฐานข้อมูลไมโคร" ฉันไม่ได้หมายถึง "ไมโคร" ฉันแค่หมายถึงว่าเรากำลังตั้งเป้าให้ลูกค้าหลายพันรายดังนั้นแต่ละฐานข้อมูลจะเป็นหนึ่งในพันหรือน้อยกว่าของพื้นที่จัดเก็บข้อมูลทั้งหมด ในความเป็นจริงแต่ละฐานข้อมูลจะอยู่ที่ประมาณ 100MB โดยขึ้นอยู่กับจำนวนการใช้งานที่ได้รับ เหตุผลหลักในการใช้ 10,000 ฐานข้อมูลเพื่อความยืดหยุ่น ความจริงก็คือ V1 ของระบบมีฐานข้อมูลเดียวและเรามีช่วงเวลาที่อึดอัดเมื่อฐานข้อมูลกำลังถูกบีบให้โหลด มันกำลังทำให้เครียด CPU, หน่วยความจำ, I / O - ทั้งหมดข้างต้น แม้ว่าเราจะแก้ไขปัญหาเหล่านั้นพวกเขาก็ทำให้เราตระหนักว่าในบางจุดแม้จะมีการจัดทำดัชนีที่ดีที่สุดในโลกหากเราประสบความสำเร็จอย่างที่เราหวังว่าจะเป็นเราก็ไม่สามารถใส่ข้อมูลทั้งหมดของเราได้ ฐานข้อมูล ดังนั้นสำหรับ V2 …

1
ข้อ จำกัด การปรับขนาดของ PostgreSQL และ MySQL
ฉันได้ยินมาว่าประสิทธิภาพของฐานข้อมูลเชิงสัมพันธ์ที่ไม่มีส่วนแบ่งเช่น MySQL หรือ PostgreSQL "แตก" เกินกว่า 10 TB ฉันสงสัยว่าข้อ จำกัด ดังกล่าวมีอยู่เนื่องจากไม่มีใครมากับ Netezza, Greenplum หรือ Vertica ฯลฯ อย่างไรก็ตามฉันอยากจะถามว่าใครที่นี่มีการอ้างอิงถึงรายงานการวิจัยหรือกรณีศึกษาอย่างเป็นทางการที่มีการ จำกัด ปริมาณเหล่านี้หรือไม่

3
การขยายตามแนวนอนหมายถึงอะไร
ในบริบทของฐานข้อมูลฉันเจอกับความสามารถในการขยายแนวนอนซึ่งเป็นหนึ่งในข้อดีของฐานข้อมูล NOSQL คำนี้หมายถึงอะไร CouchDB บนวิกิพีเดีย NoSQL บน Wikipedia มันจะเปรียบเทียบกับการขยายในแนวตั้งได้อย่างไร

3
ทำไมฐานข้อมูลเชิงสัมพันธ์ไม่สามารถตอบสนองความต้องการของ Big Data ได้?
บ่อยครั้งที่ปัญหาซ้ำซ้อนของข้อมูลขนาดใหญ่คือฐานข้อมูลเชิงสัมพันธ์ไม่สามารถปรับขนาดเพื่อประมวลผลข้อมูลจำนวนมหาศาลที่ถูกสร้างขึ้นในขณะนี้ แต่ข้อ จำกัด ด้านความสามารถในการปรับขยายเหล่านี้ที่โซลูชั่น Big Data อย่าง Hadoop ไม่ได้ผูกมัดไว้คืออะไร ทำไม Oracle RAC หรือ MySQL sharding หรือ MPP RDBMS เช่น Teradata (ฯลฯ ) ไม่สามารถบรรลุผลสำเร็จเหล่านี้ได้ ฉันสนใจข้อ จำกัด ทางเทคนิค - ฉันทราบว่าค่าใช้จ่ายทางการเงินของการจัดกลุ่ม RDBMS สามารถถูกห้ามได้

3
PostgreSQL ความพร้อมใช้งาน / ความสามารถในการปรับขนาดสูงโดยใช้ HAProxy และ PGBouncer
ฉันมีเซิร์ฟเวอร์ PostgreSQL หลายเครื่องสำหรับเว็บแอปพลิเคชัน โดยทั่วไปแล้วจะเป็นทาสหลักและทาสหลายคนในโหมดฮอตสแตนบาย (การจำลองการส่งกระแสข้อมูลแบบอะซิงโครนัส) ฉันใช้ PGBouncer สำหรับการรวมการเชื่อมต่อ: หนึ่งอินสแตนซ์ที่ติดตั้งบนเซิร์ฟเวอร์ PG แต่ละตัว (พอร์ต 6432) เชื่อมต่อกับฐานข้อมูลบน localhost ฉันใช้โหมดกลุ่มธุรกรรม ในการโหลดการเชื่อมต่อแบบอ่านอย่างเดียวของฉันกับทาสฉันใช้ HAProxy (v1.5) กับ conf มากกว่าหรือน้อยกว่าเช่นนี้ listen pgsql_pool 0.0.0.0:10001 mode tcp option pgsql-check user ha balance roundrobin server master 10.0.0.1:6432 check backup server slave1 10.0.0.2:6432 check server slave2 10.0.0.3:6432 check server slave3 10.0.0.4:6432 check …

2
มาตราส่วน PostgreSQL TRIGGER
Postgres กระตุ้นกลไกการปรับขนาดอย่างไร เรามีการติดตั้ง PostgreSQL ขนาดใหญ่และเราพยายามที่จะใช้ระบบที่อิงเหตุการณ์โดยใช้ตารางบันทึกและ TRIGGER โดยทั่วไปเราต้องการสร้าง TRIGGER สำหรับแต่ละตารางที่เราต้องการรับการแจ้งเตือนสำหรับการดำเนินการ UPDATE / INSERT / DELETE เมื่อทริกเกอร์นี้เริ่มทำงานมันจะเรียกใช้ฟังก์ชั่นที่จะเพิ่มแถวใหม่ (เข้ารหัสเหตุการณ์) ลงในตารางบันทึกที่เราจะสำรวจจากบริการภายนอก ก่อนที่จะเข้าร่วมกับ Postgres TRIGGER (s) เราต้องการทราบวิธีการปรับขนาด: เราสามารถสร้างทริกเกอร์จำนวนเท่าใดในการติดตั้ง Postgres เดียว ส่งผลกระทบต่อประสิทธิภาพการค้นหาหรือไม่ ใครเคยลองสิ่งนี้บ้างไหม?

3
การทดสอบความสามารถในการปรับขนาดของกระบวนงานที่เก็บไว้
ฉันมีแอปพลิเคชันอีเมลที่จะถูกส่งต่อไปยัง UI จำนวนข้อความใหม่สำหรับผู้ใช้ที่ระบุในการโหลดหน้าเว็บแต่ละหน้า ฉันมีหลายรูปแบบของสิ่งที่ฉันกำลังทดสอบในระดับ DB แต่ทั้งหมดจะถูกสรุปโดยการเรียก proc ที่เก็บไว้ ฉันพยายามกดฐานข้อมูลเพื่อดูว่าจุดแตกหัก (# ของคำขอต่อวินาที) จะเป็นอย่างไร โดยสรุปฉันมีตารางเช่น userId นี้ newMsgCount พร้อมกับดัชนีคลัสเตอร์บน userId SQL ควรสามารถตอบสนองต่อเซิร์ฟเวอร์เหล่านี้หลายร้อยหรือหลายพันต่อวินาที ฉันคิดว่าคนเกียจคร้านเป็นแอป. NET ของฉัน ฉันจะทำให้การทดสอบนี้เป็นผลการทดสอบที่ดีโดยใช้ประสิทธิภาพของ SQL ได้อย่างไร มีเครื่องมือสำหรับสิ่งนี้ที่ฉันสามารถให้ชื่อ proc ที่เก็บไว้และ param เพื่อให้ pund DB ของฉันหรือไม่ ฉันต้องการดูว่า DB สามารถส่งคืนนาทีได้หรือไม่ จาก 250 คำตอบต่อวินาที

4
มันจะเป็นการดีกว่าหรือที่จะแยกเคียวรีใหญ่ออกเป็นเคียวรีเล็ก ๆ หลายรายการ?
มีสถานการณ์ที่ต้องมีแบบสอบถามที่ใหญ่มากเข้าร่วมหลายตารางพร้อมกับคำสั่งย่อยเลือกในพวกเขาเพื่อสร้างผลลัพธ์ที่ต้องการ คำถามของฉันคือเราควรพิจารณาใช้การสืบค้นที่เล็กกว่าหลายข้อและนำการดำเนินการทางตรรกะไปสู่ชั้นแอปพลิเคชันโดยการสอบถาม DB ในการโทรมากกว่าหนึ่งครั้ง ตัวอย่างเช่นพิจารณาแบบสอบถามต่อไปนี้: SELECT * FROM `users` WHERE `user_id` IN (SELECT f2.`friend_user_id` FROM `friends` AS f1 INNER JOIN `friends` AS f2 ON f1.`friend_user_id` = f2.`user_id` WHERE f2.`is_page` = 0 AND f1.`user_id` = "%1$d" AND f2.`friend_user_id` != "%1$d" AND f2.`friend_user_id` NOT IN (SELECT `friend_user_id` FROM `friends` WHERE `user_id` = …

3
ระบบหลายผู้เช่าที่ควรใช้ SQL Server 2016, Shard หรือแยกผู้เช่าผ่านฐานข้อมูลแยกต่างหากต่อผู้เช่าหรือไม่?
รับกรณีการใช้งาน: ข้อมูลผู้เช่าไม่ควรพูดคุยข้าม, ผู้เช่ารายหนึ่งไม่ต้องการข้อมูลของผู้เช่ารายอื่น ผู้เช่าแต่ละรายอาจมีปริมาณข้อมูลประวัติขนาดใหญ่ได้ SQL Server โฮสต์อยู่ในอินสแตนซ์ของ AWS EC2 ผู้เช่าแต่ละรายอยู่ห่างจากพื้นที่ทางภูมิศาสตร์ มีความตั้งใจที่จะใช้เครื่องมือสร้างภาพข้อมูลบุคคลที่สามเช่น PowerBI Embedded คาดว่าปริมาณข้อมูลจะเพิ่มขึ้นเมื่อเวลาผ่านไป ค่าใช้จ่ายของระบบถูก จำกัด การแก้ปัญหาจะต้องสามารถบำรุงรักษาได้โดยไม่ต้องมี DBA ผลิต 24/7 การแก้ปัญหาควรจะสามารถปรับขนาดในแนวนอน จำนวนผู้เช่าทั้งหมดน้อยกว่า 50 สิ่งที่จะเป็นสถาปัตยกรรมที่แนะนำมีการใช้งานอ้างอิงสำหรับกรณีการใช้งานนี้หรือไม่? ฉันเชื่อว่าหลายคนอาจประสบปัญหานี้แล้วสำหรับการพัฒนาซอฟต์แวร์ระดับองค์กร ผมคิดว่านี่เป็นสถานการณ์ที่แตกต่างจากการจัดการตัวเลขการเติบโตของผู้เช่าในหลายลูกสถาปัตยกรรมฐานข้อมูล กรณีการใช้ที่กล่าวถึงในคำถามนั้นเกี่ยวข้องกับผู้เช่าจำนวนมากซึ่งแตกต่างจากการมีผู้เช่ารายใหญ่น้อยมาก (50) คน สถาปัตยกรรมที่กล่าวถึงอาจเป็นวิธีแก้ปัญหาที่นี่ซึ่งเป็นสิ่งที่ฉันต้องการทราบเพิ่มเติมเกี่ยวกับ

3
ข้อเสนอแนะฐานข้อมูลสำหรับเครือข่ายสังคม / ชุมชนฐานความรู้?
ฉันกำลังมองหาฐานข้อมูลประเภทต่างๆและ DBMS สำหรับโครงการใหม่ที่ฉันต้องการเริ่มในช่วงฤดูร้อน ฉันได้สร้างระบบใน MySQL และ postgreSQL ตอนนี้ฉันต้องการที่จะขยายความรู้และประสบการณ์ของฉันในฐานข้อมูล โครงการของฉันจะเป็นประเภทของเครือข่ายโซเชียล / รวมความรู้ (ยังไม่ได้พัฒนาคำเพื่ออธิบายยัง) ฉันได้ดูที่: คาสซานดรา (ใช้ภาษาคิวรีของตัวเอง); ดูเหมือนว่าจะดีสำหรับเนื้อหาที่มีคุณลักษณะหลากหลายและให้การดำเนินการค้นหาที่มีประสิทธิภาพสูง อย่างไรก็ตามฉันไม่ได้กระตือรือร้นกับมันมากเกินไปเพราะมันต้องการสภาพแวดล้อมแบบจาวาเพื่อทำงานต่อและฉันก็อยากจะไม่มีอะไรเกี่ยวข้องกับออราเคิล MongoDB (noSQL ประเภทของ DBMS); ความสามารถในการขยายที่ยอดเยี่ยม แต่คุณสูญเสียความสามารถทั้งหมดที่มีอยู่แล้วในภาษา SQL ที่พิสูจน์แล้วเช่นแบบสอบถามข้อมูลธุรกิจ ข้อกำหนดของระบบ: ข้อความข้อมูล , วันที่, เวลา, xml, ints ขนาดเล็ก, หยด โครงสร้าง / พฤติกรรม : ปกติ 3NF, ไม่ใช่เรียลไทม์, สัมพันธ์, ปรับขนาดได้, แข็งแกร่ง สภาพแวดล้อม: unix / linux, ไม่มี JAVA!, …

1
อะไรคือข้อ จำกัด ในทางปฏิบัติเกี่ยวกับตระกูลคอลัมน์ในคาสซานดรา
ในคาสซานดราไม่แนะนำให้มีครอบครัวคอลัมน์มากกว่าสองพันครอบครัวสมมุติว่า 2,000 ครอบครัวเพื่อการโต้แย้ง ในกรณีที่จำเป็นต้องเก็บรักษาข้อมูลมากกว่า 2,000 ประเภทวิธีหนึ่งคือการหักล้างข้อมูลที่ไม่เกี่ยวข้องหลายประเภทลงในแต่ละคอลัมน์ตระกูล ตัวอย่างเช่น CF เดียวสามารถมีคำสั่งซื้อใบแจ้งหนี้และลูกค้าหากคีย์แถวของพวกเขาแตกต่างกัน (เช่นนำหน้าด้วยประเภทวัตถุเช่นคีย์ของ CF เดียวอาจรวมทั้งOrder|1234และCustomer|1234) CF ตัวที่สองอาจประกอบด้วยที่อยู่พูด LineItems และ OrderTypes ด้วยความเป็นไปได้ขั้นพื้นฐานของวิธีการนี้ข้อ จำกัด ในทางปฏิบัติของมันคืออะไร? ตัวอย่างเช่นจะเกิดอะไรขึ้นถ้าใส่วัตถุ 10,000 ชนิดลงใน CF เดียว เท่าที่ฉันสามารถบอกได้จากวิกิพีเดียคาสซานดราไม่มีการ จำกัด ขนาดของ CF อย่างหนัก

2
Postgres ด้วยสถาปัตยกรรม pgpool
ด้านล่างนี้เป็นตัวอย่างสถาปัตยกรรม pgpool: นี่หมายความว่าคุณจะต้องมี pgpool บนเซิร์ฟเวอร์เดียว จริงหรือ เมื่อฉันมองไปที่การตั้งค่าที่ผมยังเห็นว่าคุณกำหนดค่าแบ็กเอนด์ภายในpgpool.conf; ดังนั้นมันจึงมีความหมายเพิ่มเติม แต่มันไม่ได้อธิบายว่าทำไมฉันจึงเห็น pgpool บนเซิร์ฟเวอร์ส่วนหลังด้วย เมื่อดูเอกสารฉันเห็นด้วย: หากคุณใช้ PostgreSQL 8.0 หรือใหม่กว่าแนะนำให้ติดตั้งฟังก์ชั่น pgpool_regclass ใน PostgreSQL ทั้งหมดเพื่อให้เข้าถึงได้โดย pgpool-II ขอแนะนำอย่างยิ่งเนื่องจากจะใช้ภายในโดย pgpool-II ดังนั้นฉันไม่แน่ใจว่าจะคิดอย่างไร หากเป็นวิธีที่ดีที่สุดที่จะมี pgpool ในแบ็กเอนด์ทั้งหมดหรือเพียงเซิร์ฟเวอร์เฉพาะ?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.