longish ดูสรุปที่ด้านล่าง
RDBMS
RDBMS หมายถึงระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ มันเป็นระบบในการจัดการฐานข้อมูลเชิงสัมพันธ์ ข้อมูลถูกเก็บไว้ที่นั่น ข้อมูล. ไม่ได้พูดถึงตรรกะทางธุรกิจ
กระบวนการทางธุรกิจ
ตรรกะทางธุรกิจหมายถึงอะไรจริงเหรอ? สำหรับฉันมันเป็นคำอธิบายของกระบวนการทางธุรกิจในแง่ตรรกะ
กระบวนการคือกิจกรรมทางธุรกิจที่เกิดขึ้นเป็นประจำเพียงพอที่จะไม่เกิดขึ้นอีกต่อไป สิ่งเหล่านี้แตกต่างกันไปในทุกธุรกิจ
ให้ฉันสวมหมวกธุรกิจและอธิบายว่าธุรกิจมีความหมายที่นี่ สำหรับบางคนนี่อาจเป็นเรื่องที่น่าประหลาดใจ
ธุรกิจ
ธุรกิจคือผลรวมของกิจกรรมที่ดำเนินการเพื่อให้เกิดการสร้างมูลค่าและมูลค่าที่เฉพาะเจาะจงมากขึ้นที่สามารถซื้อขายได้ นี่อาจหมายถึงการสร้างเครื่องเกี่ยวนวดแบบรวมแซนด์วิชทูน่าหรือการให้บริการด้านธนาคาร ในประเทศส่วนใหญ่ของโลกแม้แต่ผู้ที่อยู่ในระบบที่ไม่ใช่ระบบทุนนิยมคนต้องการได้รับคุณค่ามากที่สุดสำหรับเงินของพวกเขาและดังนั้นจึงมีการแข่งขันระหว่างผู้ให้บริการที่แตกต่างกันของสินค้าและบริการที่มีค่าเหล่านี้ การแข่งขันโดยทั่วไปขึ้นอยู่กับราคาคุณภาพและความพร้อมใช้งาน
ทางอ้อมอย่างรวดเร็ว: คุณต้องการ 40 ล้านหมุดใน 2 วันคุณจะไม่ได้รับคำสั่งจากคนในอินเทอร์เน็ตด้วยบัญชี paypal ไม่ว่าราคาของเขาจะถูกกว่าผู้ขายปกติของคุณเท่าใด
ความรู้กระบวนการ
อย่างที่คุณสามารถจินตนาการได้กระบวนการที่เกี่ยวข้องกับการทำให้ "คุณค่า" นี้ส่วนใหญ่อาศัยอยู่ในหัวหน้าผู้บริหาร สิ่งเหล่านี้ถูกเขียนลงบนกระดาษและใช้เป็นนโยบายและขั้นตอนของ บริษัท บางส่วนนั้นอาศัยอยู่ในหัวหน้าที่ปรึกษาขององค์กร จำนวนมากอาศัยอยู่ในหัวของผู้คนที่ทำงานในแผนกแผนกทีมและผู้ที่ใช้เครื่องลงทะเบียนเงินสดเตาอบรถบรรทุก ชุดย่อยขนาดเล็กที่ทำให้ความต้องการทางธุรกิจของซอฟต์แวร์ลดลงและชุดย่อยที่มีขนาดเล็กลงนั้นถูกต้องตามเวลาที่ใช้ในระบบคอมพิวเตอร์
ในที่สุดตรรกะทางธุรกิจที่คุณเห็นในรหัสไม่ใช่สิ่งที่ดำเนินธุรกิจมันเป็นสิ่งที่เรียกใช้โปรแกรมประยุกต์สำหรับธุรกิจ สมองที่เกิดขึ้นจริงในคนที่เกิดขึ้นจริงถือกระบวนการทางธุรกิจจริงและพวกเขาไม่มีปัญหาเข้าใจว่ากระบวนการในสมองของพวกเขามีความแม่นยำมากขึ้นกว่ากระบวนการในคอมพิวเตอร์ นอกจากนี้คุณอาจไม่สามารถดำเนินธุรกิจได้หากทั้งหมดที่คุณมีคือนโยบายและขั้นตอนของ บริษัท ส่วนใหญ่ บ่อยครั้งที่สิ่งเหล่านี้ไม่ถูกต้องอย่างไม่มีการลดหย่อนแม้จะพยายามอย่างหนัก
ดังนั้นในที่สุดมันเป็นตรรกะของแอปพลิเคชันที่เข้ารหัสลงในซอฟต์แวร์ และคนต้องการที่จะใส่ลงในฐานข้อมูลเพราะผู้ขายระบบการจัดการฐานข้อมูลได้เรียกร้องยิ่งใหญ่
แอปพลิเคชันลอจิก
ฉันบอกว่าไม่. ฉันว่าตรรกะของแอปพลิเคชันยังคงอยู่ภายในแอปพลิเคชัน ข้อมูลไปในฐานข้อมูลด้วยวิธีที่เป็นมาตรฐานมากจากนั้นนำ ETL ไปยังคลังข้อมูลสำหรับการรายงานและการขุดเจาะและการหมุนและการหมุนและการหมุน
ข้อมูล
ฉันยังกล่าวด้วยว่าข้อมูลนั้นมีประสิทธิภาพมากกว่าแอปพลิเคชันดังนั้นความพยายามในการทำให้มาตรฐานของข้อมูลไม่ควรใช้เฉพาะแอพพลิเคชั่นและไม่ใช่แม้แต่เฉพาะธุรกิจ แต่ควรเป็นเรื่องทั่วไป คุณเก็บรหัสรัฐหรือไม่ คุณควรใช้ INCITS 38: 2009 (http://www.census.gov/geo/www/ansi/statetables.html) เนื่องจากเป็นแบบพกพาข้ามธุรกิจ นอกจากนี้ยังช่วยให้แอปพลิเคชันหลายตัวจัดการข้อมูลได้ง่ายขึ้น
NoSQL?
หากคุณถือว่าฐานข้อมูลเป็นส่วนหนึ่งของรหัสแอปพลิเคชันจากเลย์เอาต์ของตารางไปยังทริกเกอร์โพรซีเดอร์ที่จัดเก็บและรูปแบบข้อมูลคุณจะใช้ฐานข้อมูลองค์กรเป็น BerkleyDB ที่น่ายกย่องซึ่งเป็นโครงสร้างไฟล์แบนที่สวยงาม ซึ่งจริงๆแล้วเป็นเพียงรายการยืนยัน นี่คือสิ่งที่ NoSQL กำลังทำอยู่: กลับไปที่รูท แต่ทำในหลาย ๆ กระบวนการคงอยู่และทนต่อความล้มเหลว
รหัสจริง
ไม่คุณต้องถือว่าฐานข้อมูลเป็นที่เก็บข้อมูลทั่วไปสำหรับหลายแอปพลิเคชันทั้งในปัจจุบันและอนาคต ตอนนี้เรามาถึงปมการโต้แย้งของฉัน กระบวนการทางธุรกิจเปลี่ยนแปลงไปด้วยความหลากหลายของตลาดการเมืองและแฟชั่น บ่อยครั้งที่พวกเขาเปลี่ยนเร็วกว่าตัวแปลงสัญญาณที่สามารถจัดการได้ด้วยภาษาคอมพิวเตอร์ระดับวิทยาศาสตร์ (Java, C #, C ++ ฯลฯ ) และจบลงด้วยการเขียนใน VBA ใน excel spreadsheets ในแผนกบัญชีหรือการตลาด (และเฉพาะในกรณีที่ไม่สามารถแสดงใน vlookups แฟนซี ... )
การย่อยสลายฐานข้อมูล
ข้อมูลไม่เปลี่ยนแปลงมากนักหากมีการจัดระเบียบที่ดี ตรรกะทางธุรกิจเปลี่ยนไปอย่างรวดเร็วมาก ด้วยการใส่ตรรกะทางธุรกิจลงในฐานข้อมูลคุณจะทำให้ฐานข้อมูลมีค่าน้อยลงเพราะจะล้าสมัยและไม่ถูกต้องเร็วขึ้น
สรุป
ข้อมูลต้องอยู่ได้นานกว่าแอปพลิเคชันเนื่องจากกระบวนการทางธุรกิจอาศัยอยู่ในแอปพลิเคชันและกระบวนการทางธุรกิจเปลี่ยนแปลงบ่อยกว่า การรวมตรรกะทางธุรกิจในฐานข้อมูลนั้นไม่ดีสำหรับอายุการใช้งานและมูลค่าโดยรวม
ข้อแม้
ฉันแชร์ dba-ing เรียบร้อยแล้วและฉันได้อ่านคำตอบที่ dba.se แต่จริงๆแล้วสิ่งที่พวกเขากำลังพูดถึงก็คือเรื่องความถูกต้องของข้อมูลและปัญหาด้านประสิทธิภาพ ฉันเห็นด้วยอย่างสมบูรณ์ว่าผู้ที่สัมผัสข้อมูลองค์กรควรรู้ว่าพวกเขากำลังทำอะไรไม่ว่าจะเป็น dba หรือโปรแกรมเมอร์หรือนักวิเคราะห์อาวุโสของ SAS ที่มีสิทธิ์เข้าถึงแบบอ่าน / เขียน
ฉันยังกล่าวว่าพวกเขาแนะนำให้รู้จัก coders รู้ SQL ฉันเห็นด้วย. เป็นภาษาเขียนโปรแกรมคอมพิวเตอร์ดังนั้นฉันจึงไม่เห็นว่าทำไมโปรแกรมเมอร์คอมพิวเตอร์จึงไม่ต้องการที่จะรู้
ต่อมาหลังจากคิดเกี่ยวกับมัน
ฉันคิดว่าจุดเริ่มต้นคือการสร้าง API และให้ API นั้นจัดการการไหลของข้อมูลไปๆมาๆ หากคุณไม่อนุญาตให้แอปเชื่อมต่อกับตารางโดยตรงอย่างน้อยคุณสามารถทำให้กลไกการเข้าถึงเป็นภาษาที่ทันสมัย