คำถามติดแท็ก connection-pooling

16
ตัวเลือกการรวมการเชื่อมต่อกับ JDBC: DBCP กับ C3P0
ไลบรารีการเชื่อมต่อพูลที่ดีที่สุดสำหรับ Java / JDBC คืออะไร ฉันกำลังพิจารณาผู้สมัครหลัก 2 คน (ฟรี / โอเพ่นซอร์ส): Apache DBCP - http://commons.apache.org/dbcp/ C3P0 - http://sourceforge.net/projects/c3p0 ฉันได้อ่านเกี่ยวกับพวกเขามากมายในบล็อกและฟอรัมอื่น ๆ แต่ไม่สามารถตัดสินใจได้ มีทางเลือกที่เกี่ยวข้องกับสองสิ่งนี้หรือไม่?

11
ฉันจะจัดการการเชื่อมต่อ MongoDB ในเว็บแอปพลิเคชัน Node.js ได้อย่างไร
ฉันใช้ไดรเวอร์node-mongodb-nativeกับ MongoDB เพื่อเขียนเว็บไซต์ ฉันมีคำถามบางอย่างเกี่ยวกับวิธีจัดการการเชื่อมต่อ: มีการใช้การเชื่อมต่อ MongoDB เพียงครั้งเดียวสำหรับคำขอทั้งหมดหรือไม่ มีปัญหาเรื่องประสิทธิภาพหรือไม่ ถ้าไม่ฉันสามารถตั้งค่าการเชื่อมต่อทั่วโลกเพื่อใช้ในแอปพลิเคชันทั้งหมดได้หรือไม่ หากไม่เป็นเช่นนั้นจะดีหรือไม่ถ้าฉันเปิดการเชื่อมต่อใหม่เมื่อมีคำขอมาถึงและปิดเมื่อจัดการคำขอ การเปิดและปิดการเชื่อมต่อมีราคาแพงหรือไม่ ฉันควรใช้พูลการเชื่อมต่อส่วนกลางหรือไม่ ฉันได้ยินว่าคนขับมีพูลการเชื่อมต่อดั้งเดิม มันเป็นทางเลือกที่ดีหรือไม่? หากฉันใช้พูลการเชื่อมต่อควรใช้การเชื่อมต่อจำนวนเท่าใด มีสิ่งอื่นใดอีกที่ฉันควรสังเกต

4
Entity Framework และ Connection Pooling
ฉันเพิ่งเริ่มใช้ Entity Framework 4.0 ในแอปพลิเคชัน. NET 4.0 ของฉันและอยากรู้เกี่ยวกับบางสิ่งที่เกี่ยวข้องกับการรวมกำไรกัน การเชื่อมต่อร่วมกันอย่างที่ฉันรู้ได้รับการจัดการโดยผู้ให้บริการข้อมูล ADO.NET ในกรณีของเซิร์ฟเวอร์ MS SQL สิ่งนี้มีผลบังคับใช้เมื่อคุณสร้างอินสแตนซ์บริบทใหม่ ( ObjectContext) เช่นไม่มีพารามิเตอร์new MyDatabaseModelEntities()หรือไม่ อะไรคือข้อดีและข้อเสียของ a) การสร้างบริบทเอนทิตีระดับโลกสำหรับแอปพลิเคชัน (เช่นอินสแตนซ์แบบคงที่หนึ่ง) หรือ b) การสร้างและเปิดเผยบริบทเอนทิตีสำหรับแต่ละการดำเนินการ / วิธีที่usingกำหนด คำแนะนำอื่น ๆ แนวปฏิบัติที่ดีที่สุดหรือแนวทางทั่วไปสำหรับบางสถานการณ์ที่ฉันควรรู้

13
แบบสอบถามการทดสอบ SQL ที่มีประสิทธิภาพหรือแบบสอบถามการตรวจสอบที่จะทำงานในฐานข้อมูล (หรือส่วนใหญ่) ทั้งหมด
ไลบรารีการรวมการเชื่อมต่อฐานข้อมูลจำนวนมากให้ความสามารถในการทดสอบการเชื่อมต่อ SQL ของพวกเขาเพื่อความเกียจคร้าน ตัวอย่างเช่น JDBC pooling library c3p0มีคุณสมบัติที่เรียกว่าpreferredTestQueryซึ่งถูกเรียกใช้งานบนการเชื่อมต่อตามช่วงเวลาที่กำหนดไว้ ในทำนองเดียวกัน Apache Commons DBCP validationQueryมี แบบสอบถามตัวอย่าง จำนวนมากที่ฉันเห็นนั้นใช้สำหรับ MySQL และแนะนำให้ใช้เป็นค่าสำหรับแบบสอบถามทดสอบ อย่างไรก็ตามแบบสอบถามนี้ใช้ไม่ได้กับบางฐานข้อมูล (เช่น HSQLDB ซึ่งคาดว่าจะมีส่วนคำสั่ง)SELECT 1;SELECT 1FROM มีแบบสอบถามแบบไม่เชื่อเรื่องพระเจ้าที่มีประสิทธิภาพเท่าเทียมกัน แต่จะใช้ได้กับฐานข้อมูล SQL ทั้งหมดหรือไม่ แก้ไข: หากไม่มี (ซึ่งน่าจะเป็นกรณีนี้) ใครสามารถแนะนำชุดของแบบสอบถาม SQL ที่จะทำงานกับผู้ให้บริการฐานข้อมูลต่างๆได้หรือไม่ ความตั้งใจของฉันคือการกำหนดโปรแกรมที่ฉันสามารถใช้ตามการกำหนดค่าผู้ให้บริการฐานข้อมูลของฉันโดยทางโปรแกรม


13
จะสร้างพูลการเชื่อมต่อใน JDBC ได้อย่างไร?
ใครสามารถให้ตัวอย่างหรือลิงค์เกี่ยวกับวิธีการสร้างพูลการเชื่อมต่อ JDBC จากการค้นหาใน google ฉันเห็นวิธีการต่างๆมากมายและค่อนข้างสับสน ในที่สุดฉันต้องการรหัสเพื่อส่งคืนjava.sql.Connectionวัตถุ แต่ฉันมีปัญหาในการเริ่มต้น ... ยินดีรับข้อเสนอแนะใด ๆ อัปเดต: ไม่มีjavax.sqlหรือjava.sqlมีการใช้งานการเชื่อมต่อร่วมกัน? เหตุใดจึงไม่ควรใช้สิ่งเหล่านี้ให้ดีที่สุด

3
การปิดการเชื่อมต่อ JDBC ในพูล
ส่วนรหัสมาตรฐานของเราสำหรับการใช้ JDBC คือ ... Connection conn = getConnection(...); Statement stmt = conn.conn.createStatement (ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rset = stmt.executeQuery (sqlQuery); // do stuff with rset rset.close(); stmt.close(); conn.close(); คำถาม 1: เมื่อใช้ Connection Pool ควรปิด Connection เมื่อสิ้นสุดหรือไม่? ถ้าเป็นเช่นนั้นจุดประสงค์ของการรวมกลุ่มจะไม่สูญหายไปหรือ? และถ้าไม่แหล่งข้อมูลจะรู้ได้อย่างไรว่าเมื่อใดที่อินสแตนซ์ของการเชื่อมต่อว่างขึ้นและสามารถนำกลับมาใช้ใหม่ได้ ฉันสับสนเล็กน้อยเกี่ยวกับเรื่องนี้คำแนะนำใด ๆ ที่ชื่นชม คำถามที่ 2: วิธีการต่อไปนี้ใกล้เคียงกับมาตรฐานหรือไม่? ดูเหมือนจะพยายามรับการเชื่อมต่อจากพูลและหากไม่สามารถสร้างแหล่งข้อมูลได้ให้ใช้ DriverManager แบบเก่า เราไม่แน่ใจด้วยซ้ำว่าส่วนใดถูกเรียกใช้ในรันไทม์ ถามคำถามข้างบนซ้ำเราควรปิด Connection ที่มาจากวิธีดังกล่าวหรือไม่? …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.