ที่นี่คือที่ที่การประชุมของจิตใจกล่าวคือจิตใจของนักพัฒนา (DVs) และ DBAs จะต้องเกิดขึ้นอย่างหลีกเลี่ยงไม่ได้ การทำงานกับ Business Logic (BL) และการจัดเก็บดังกล่าวในฐานข้อมูลสามารถมีผลกระทบที่สามารถเชิดชูหรือทำให้เกิดความน่ากลัวในการนำไปใช้
สำหรับผลิตภัณฑ์ RDBMS บางส่วนนั้นมีไลบรารี่ / เครื่องมือ / API ที่ยอดเยี่ยมสำหรับ Business Logic และ Object Infrastructures ที่หนึ่งสามารถเรียนรู้และใช้งานได้อย่างรวดเร็วในแอปพลิเคชันของพวกเขา สำหรับ RDBMS อื่นไม่มีไลบรารี / เครื่องมือ / API อยู่
ในอดีตแอปเซิร์ฟเวอร์ไคลเอนต์ทำให้บริดจ์เป็น BL ผ่าน Stored Procedure (SP) สำหรับผลิตภัณฑ์เช่น Oracle และ SQL Server สิ่งนี้ทำก่อน เนื่องจากฐานข้อมูลโอเพ่นซอร์สเช่น PostgreSQL และ MySQL กลายเป็นฐานข้อมูลผู้ที่ใช้ฐานข้อมูลเหล่านี้มีความเสี่ยงที่จะแตกฐานใหม่ด้วยกระบวนการจัดเก็บใน BL PostgreSQL นั้นมีการพัฒนาอย่างรวดเร็วเนื่องจากไม่เพียง แต่มีการจัดเก็บขั้นตอนการดำเนินการ แต่ยังสามารถสร้างภาษาของลูกค้าได้ โดยทั่วไปแล้ว MySQL หยุดการพัฒนาในโลกของขั้นตอนการจัดเก็บและมาในรูปแบบของภาษาที่มีข้อ จำกัด มากมาย ดังนั้นเมื่อพูดถึง BL แล้วคุณจะอยู่ในความเมตตาของ MySQL และภาษา Stored Procedure ของมันอย่างสมบูรณ์
มีเพียงคำถามเดียวเท่านั้น: โดยไม่คำนึงถึง RDBMS ควร BL อยู่ทั้งหมดหรือบางส่วนในฐานข้อมูลหรือไม่
คิดว่านักพัฒนา เมื่อสิ่งต่าง ๆ เกิดความผิดพลาดในแอปพลิเคชันกระบวนการดีบั๊กจะมี Developer hop เข้าและออกจากฐานข้อมูลเพื่อติดตาม chanages ข้อมูลที่อาจหรืออาจไม่ถูกต้องเป็นระยะ มันเหมือนกับการเข้ารหัสแอปพลิเคชัน C ++ และเรียกรหัสแอสเซมเบลอร์ที่อยู่ตรงกลาง คุณต้องเปลี่ยนจากซอร์สโค้ดคลาสและ structs เป็นอินเตอร์รัปต์รีจิสเตอร์และออฟเซ็ตและย้อนกลับ !!! การแก้จุดบกพร่องในระดับเดียวกัน
นักพัฒนาอาจสามารถสร้างวิธีความเร็วสูงในการดำเนินการ BL ร่วมกับการกำหนดค่าภาษา (ธงคอมไพเลอร์สำหรับ C ++, การตั้งค่าที่แตกต่างกันสำหรับ PHP / Python, ฯลฯ ) ผ่านวัตถุธุรกิจนั่งอยู่ในหน่วยความจำมากกว่าในฐานข้อมูล บางคนพยายามเชื่อมโยงอุดมการณ์นี้เพื่อให้ได้รหัส runnng ที่เร็วขึ้นลงในฐานข้อมูลโดยการเขียนไลบรารีที่การดีบักกระบวนงานที่เก็บไว้และทริกเกอร์รวมอยู่ในฐานข้อมูลได้ดีและดูเหมือนใช้งานไม่ได้
ดังนั้นผู้พัฒนาจึงถูกท้าทายในการพัฒนาตรวจแก้จุดบกพร่องและบำรุงรักษาซอร์สโค้ดและ BL ในสองภาษา
ตอนนี้คิดถึง DBA DBA ต้องการให้ฐานข้อมูลแบบลีนและมีความหมายมากที่สุดในขอบเขตของขั้นตอนการจัดเก็บ DBA อาจเห็น BL เป็นสิ่งภายนอกฐานข้อมูล ทว่าเมื่อ SQL เรียกร้องให้ใช้ข้อมูลที่จำเป็นสำหรับ BL ความต้องการของ SQL จะน้อยลงและมีค่าเฉลี่ย
ตอนนี้สำหรับการประชุมของจิตใจ !!!
รหัสผู้พัฒนา SP และใช้วิธีการวนซ้ำ DBA ดูที่ SP DBA พิจารณาว่าคำสั่ง SQL เดี่ยวสามารถแทนที่วิธีวนซ้ำที่เขียนโดยนักพัฒนาได้ นักพัฒนาเห็นว่าคำสั่ง SQL ที่แนะนำโดย DBA ต้องการการเรียกรหัสอื่น ๆ ที่เกี่ยวข้องกับ BL หรือ SQL ที่ไม่เป็นไปตามแผนการดำเนินการตามปกติของคำสั่ง SQL
ด้วยเหตุนี้การกำหนดค่าการปรับประสิทธิภาพและการเข้ารหัส SP จะกลายเป็นฟังก์ชันของความลึกและความเข้มข้นของข้อมูลของ BL สำหรับการดึงข้อมูล ยิ่งความลึกและความเข้มข้นของข้อมูลมากขึ้นเท่าใดผู้พัฒนาและ DBA จะต้องอยู่ในหน้าเดียวกันสำหรับปริมาณข้อมูลและพลังการประมวลผลที่มอบให้กับฐานข้อมูล
สรุปผลการศึกษา
ลักษณะของการดึงข้อมูลควรเกี่ยวข้องกับค่ายผู้พัฒนาและค่าย DBA เสมอ สัมปทานจะต้องทำตามสิ่งที่วิธีการเข้ารหัสและกระบวนทัศน์การดึงข้อมูลสามารถทำงานร่วมกันได้ทั้งความเร็วและประสิทธิภาพ หากการเตรียมข้อมูลสำหรับซอร์สโค้ดเพื่อจัดการทำได้เพียงครั้งเดียวก่อนที่โค้ดจะได้รับข้อมูล DBA ควรสั่งการใช้งานลีนและ SQL ที่มีค่าเฉลี่ย หาก BL เป็นสิ่งที่ DBA ไม่สอดคล้องกับการบังเหียนนั้นอยู่ในมือของนักพัฒนา นี่คือเหตุผลที่ DBA ควรเห็นตัวเองและเป็นส่วนหนึ่งของทีมงานและไม่ได้เป็นเกาะของตัวเองในขณะที่ผู้พัฒนาจะต้องให้ DBA ทำการปรับจูน SQL อย่างละเอียดถ้ามันรับประกัน