สภาพแวดล้อมการจัดเตรียมฐานข้อมูลสำหรับบุคลากรที่ไม่ใช่ด้านไอที


10

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

  1. ฉันมีสิทธิ์ฐานข้อมูลบางขั้นพื้นฐานในสภาพแวดล้อมฐานข้อมูลอยู่ของเรา ( create table, create viewฯลฯ ) ฉันจะทำให้การเปลี่ยนแปลงสคีมาประมาณสัปดาห์ละครั้ง แต่ดูเหมือนว่าบ้าสำหรับผมที่จะทดสอบและดำเนินการเปลี่ยนแปลงเหล่านี้ในสภาพแวดล้อมที่อยู่ มีการอ้างอิงที่นับไม่ถ้วนในฐานข้อมูลดังนั้นหากมีสิ่งใดผิดพลาดอาจเป็นหายนะ ฉันค่อนข้างจะทดสอบสิ่งต่าง ๆ ล่วงหน้าในสภาพแวดล้อมที่แยกต่างหาก
  2. ฉันไม่มีสิทธิ์พิเศษขั้นสูงบางอย่างเช่นcreate triggerหรือcreate functionในฐานข้อมูลสด นี่เป็นเรื่องปกติ แต่ฉันมีปัญหาเล็กน้อยที่สามารถแก้ไขได้โดยทริกเกอร์และ / หรือฟังก์ชั่น ฉันวางแผนที่จะเสนอว่าฉันจะได้รับอนุญาตเหล่านี้ในสภาพแวดล้อมการจัดเตรียมเพื่อให้ฉันสามารถพัฒนาและทดสอบความคิดบางอย่างและถ้าพวกเขาทำงานให้เสนอว่าไอทีจะนำไปใช้ในสภาพแวดล้อมจริง
  3. โดยทั่วไปแผนกไอทีของฉันไม่มีเวลาหรือทรัพยากรในการพัฒนาโซลูชันสำหรับฉัน มันง่ายจริงๆ ดังนั้นถ้าฉันสามารถทำงานได้ด้วยตัวเองปัญหาของฉันก็มีแนวโน้มที่จะได้รับการแก้ไข

'สภาพแวดล้อมการจัดเตรียมสำหรับบุคลากรที่ไม่ใช่ด้านไอที' ดูเหมือนจะเป็นวิธีที่ดีพอสำหรับฉัน แต่โดยความจริงแล้วฉันเพิ่งคิดขึ้นมา ฉันไม่มีความคิดว่ามันจะเกิดขึ้นได้อย่างไรในโลกไอที / ฐานข้อมูล

มีการฝึกฝนด้านไอที / ฐานข้อมูลใด ๆ ที่เหมาะสมกับสถานการณ์นี้หรือไม่? (ฉันอยู่ในแนวทางที่ถูกต้องเมื่อเสนอสภาพแวดล้อมการจัดเตรียมฐานข้อมูลสำหรับบุคลากรที่ไม่ใช่ด้านไอทีหรือไม่)


1
มีข้อมูลที่ละเอียดอ่อนมากในฐานข้อมูลที่คุณไม่ควรเข้าถึงหรือไม่? ดูเหมือนว่าการทำงานง่าย ๆ คือให้พวกเขาส่งข้อมูลสำรองของฐานข้อมูลให้คุณเพื่อกู้คืนบนคอมพิวเตอร์ส่วนบุคคลของคุณที่คุณสามารถเล่นได้โดยไม่ต้องกลัวว่าจะทำลายการผลิต สิ่งนี้จะไม่ต้องการทรัพยากรเพิ่มเติมใด ๆ และสิ่งที่พวกเขาต้องทำคือจัดส่งข้อมูลสำรองให้คุณ สิ่งนี้ขึ้นอยู่กับความต้องการด้านความปลอดภัยของสภาพแวดล้อมของคุณเป็นหลัก
Shaulinator

1
ถ้าอย่างนั้นฉันคิดว่าการสำรองและกู้คืนเพื่อใช้ในสภาพแวดล้อมของคุณนั้นเป็นวิธีแก้ปัญหาที่ง่ายและราคาไม่แพง แม้ว่าจะเป็นการดีที่คุณควรมีสภาพแวดล้อมที่หลากหลายในระดับของพลังการประมวลผลที่เลียนแบบซึ่งกันและกันและเมื่อคุณทำการเปลี่ยนแปลงคุณจะค่อยๆเปลี่ยนสภาพแวดล้อมเหล่านั้นไปตามสภาพแวดล้อม เรามีผู้เล่นคนหนึ่งที่จะเล่นและเปลี่ยนแปลงส่งเสริมการทดสอบว่าสิ่งใดที่จะได้รับ QA จากนั้นสภาพแวดล้อมอื่นที่เกือบจะเป็น 1: 1 ของ Prod สำหรับฮาร์ดแวร์และจากนั้น Prod ที่จะมีชีวิตอยู่ เห็นได้ชัดว่ามีค่าใช้จ่ายสูง การมีฐานข้อมูลอื่นบนเซิร์ฟเวอร์ที่คล้ายคลึงกันเป็นแนวคิดอื่น
Shaulinator

1
ฉันชอบที่จะแยกสภาพแวดล้อมออกจากกันโดยสิ้นเชิงทำให้มีโอกาสที่จะก่อให้เกิดปัญหาน้อยที่สุดในกรณีที่คุณมีคำถามแบบไม่อยู่
Shaulinator

1
Oracle Express Express Edition เป็นทางเลือกที่ง่ายสำหรับคุณ ติดตั้งบนเครื่องของคุณตั้งค่าตารางเป็นบนฐานข้อมูลหลักของคุณ โหลดด้วยข้อมูลตัวแทนและคุณสามารถพัฒนา / ทดสอบได้มากเท่าที่คุณต้องการ เมื่อคุณพร้อมคุณสามารถส่งการเปลี่ยนแปลงเพื่อทดสอบ / ประเมินผล
ราชา

1
@Raj ปัญหาของ Express Edition นั้นแทบจะไม่มีฟังก์ชั่นการใช้งานใด ๆ เลย Wilson เนื่องจากคุณสมบัติจริงๆของ Oracle มาพร้อมกับ Enterprise Edition เท่านั้นการออกใบอนุญาตของออราเคิลน่าจะเป็นหนึ่งในอุปสรรคที่ใหญ่ที่สุดที่คุณยังไม่ได้พิจารณาแม้ว่า Shaulinator จะสัมผัสกับมันในระดับหนึ่ง Oracle ไม่ได้เสนอสิทธิ์การใช้งานที่ถูกกว่าสำหรับตัวเลือกสภาพแวดล้อมที่ไม่ใช่การผลิตที่ฉันทราบดังนั้นคุณจึงมีอุปสรรค์ที่แพงในการออกใบอนุญาตเพียงอย่างเดียว คลาวด์อาจเป็นตัวเลือกที่ดีสำหรับคุณอย่างหมดจดเนื่องจากปัญหาด้านงบประมาณ
John Eisbrener

คำตอบ:


2

ฉันเห็นด้วยกับ @Marcin Gminiski ว่าคุณต้องการมีสภาพแวดล้อมที่เลียนแบบการทำงานที่มีอยู่ในสภาพแวดล้อมการผลิตของคุณ แม้ว่า 2 เซ็นต์ของฉันในเรื่องทั้งหมดลงมาที่ "คุณสามารถจ่ายอะไรบ้าง" ข้อ จำกัด งบประมาณมักจะเป็นกระบวนการที่ดีดังนั้นสิ่งที่คุณสามารถจ่ายได้จะกำหนดความซับซ้อน / ความสง่างามของโซลูชันสุดท้ายของคุณ

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

มีตัวเลือกระบบคลาวด์ทุกรูปแบบให้เลือก แต่ฉันจะนำคุณไปสู่อินสแตนซ์ของ Oracle RDS บน AWSเพียงอย่างเดียวเพราะพวกเขามีตัวเลือกรวมใบอนุญาตและคุณสามารถปิดได้เมื่อคุณไม่ได้ใช้งานเพื่อลดค่าใช้จ่ายเพิ่มเติม อาจเทียบเท่ากับผู้ให้บริการคลาวด์อื่น ๆ แต่ผู้ให้บริการคลาวด์จำนวนมากที่ฉันคุ้นเคยต้องให้คุณนำใบอนุญาตของคุณเอง (BYOL) สำหรับโซลูชั่นที่ใช้ Oracle แทนการเสนอใบอนุญาตแบบรวม

หมายเหตุสุดท้ายที่นี่อินสแตนซ์ AWS RDS เป็นเพียงฐานข้อมูลดังนั้นโครงสร้างพื้นฐานของแอปเซิร์ฟเวอร์ใด ๆ ที่คุณต้องการจะต้องนำมาพิจารณาเพิ่มเติมด้วย คลาวด์เป็นตัวเลือกที่ยอดเยี่ยมหากคุณต้องการสภาพแวดล้อมที่รวดเร็วเพื่อทดสอบฟังก์ชันการทำงานทั้งหมดนี้เป็นวิธีที่คุ้มค่า เพียงให้แน่ใจว่าคุณอยู่ด้านบนของมันและปิดสิ่งต่าง ๆ เพื่อให้คุณไม่ต้องจ่ายสำหรับเซิร์ฟเวอร์ที่ไม่ได้ใช้งาน


3

โดยปกติสภาพแวดล้อมที่เหมาะสมจะทำอย่างน้อย DEV -> TEST -> PRE-PROD -> PROD โดยปกติการพัฒนาจะสามารถเข้าถึงการพัฒนาใน DEV การทดสอบการยอมรับในการทดสอบและไอทีเพื่อปล่อยใน PRE และ PROD หากคุณใช้การควบคุมแหล่งที่มาคุณจะหลีกเลี่ยงปัญหาเกี่ยวกับการแก้ไขรหัสชิ้นเดียวกันโดย devs ที่แตกต่างกันในเวลาเดียวกัน

ในทางเทคนิคคุณต้องการเพียงสคีมาเท่านั้นเช่นเดียวกับใน prod และไม่ต้องการข้อมูลการผลิตด้านล่าง pre-prod แต่ถ้าคุณโอเคที่มีข้อมูล prod นอกสภาพแวดล้อมของ prod คุณสามารถคืนค่าอัตโนมัติให้เป็น dev / test ฉันทำงานที่คล้ายกันกับ Visual Cron และทำงานได้มหัศจรรย์

ในการที่จะอยู่กับบุคลากรด้านไอทีที่เป็นไปตามข้อกำหนดจะต้องปล่อยการเปลี่ยนแปลงไปสู่ ​​pre และ prod ดังนั้นเพื่อให้ง่ายและยืดหยุ่นมากขึ้นคุณสามารถลงเส้นทางการปรับใช้อัตโนมัติ


2

นี่คือประสบการณ์ของฉัน:

simserverแต่เดิมเรามีการพัฒนาสภาพแวดล้อมกลางเรียกว่า นักพัฒนาจะทดสอบสิ่งพร้อมกันและมันก็ยุ่ง

ตอนนี้ผู้พัฒนาแต่ละคนมีท้องถิ่นsimserverที่พวกเขาปรับใช้สำหรับการทดสอบ quality assurance (QA) environmentเมื่อพวกเขาบอกว่ามันพร้อมที่จะได้รับการผลักดันไป เรามีjiraกรณีทดสอบสำหรับสิ่งที่ต้องตรวจสอบรวมถึงเราทดสอบสิ่งที่เพิ่มใหม่อีกครั้ง (เรามีเจ้าหน้าที่ QA เฉพาะที่ไม่ได้ทำการพัฒนาเพียงแค่ QA)

จากนั้นจะได้รับการถ่ายทอดสด

ทำให้ท้องถิ่นsimserverเป็นตรรกะและใช้งานง่าย เมื่อคุณได้รับVMแม่แบบพร้อมนักพัฒนาเพียงปรับใช้พวกเขาบนคอมพิวเตอร์ส่วนบุคคลของพวกเขา


1
ฉันคิดว่าสำหรับ simserver เขาหมายถึงสภาพแวดล้อม SQL ที่โฮสต์แบบโลคัลซึ่งมีการทำมิรเรอร์ (การสำรองข้อมูลอย่างง่าย? จิราคือการจัดการโครงการและแพลตฟอร์มการติดตามปัญหาที่ช่วยให้นักพัฒนาและควบคุมคุณภาพสามารถติดตามการเปลี่ยนแปลง ฉันคิดว่าเขากำลังระบุว่าการเปลี่ยนแปลงที่เสนอที่กระทำบนอินสแตนซ์ในท้องถิ่นได้รับการโพสต์ไปที่ jira สำหรับผู้พัฒนา ทบทวน VM เป็นเครื่องเสมือน
Wes
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.