Sự khác biệt chính giữa Quản trị viên Cơ sở dữ liệu và Kỹ sư phần mềm là gì? Kỹ sư phần mềm nên biết chi tiết về cơ sở dữ liệu cơ bản đến mức độ nào? Đâu là ranh giới giữa hai ngành nghề này?
Sự khác biệt chính giữa Quản trị viên Cơ sở dữ liệu và Kỹ sư phần mềm là gì? Kỹ sư phần mềm nên biết chi tiết về cơ sở dữ liệu cơ bản đến mức độ nào? Đâu là ranh giới giữa hai ngành nghề này?
Câu trả lời:
Môn Toán. Tôi muốn để nó ở đó, nhưng tôi biết mà không có lời giải thích, tôi sẽ bị đốt cháy, vì vậy hãy đi.
Theo kinh nghiệm của tôi, toán DBA khác với toán kỹ sư.
Toán DBA liên quan đến tác động đến năng lực mà một triển khai sẽ có. Ví dụ: chúng tôi với tư cách là các DBA kiểm tra việc triển khai một bảng bằng bao nhiêu không gian trên một triệu hàng mà nó sẽ tiêu thụ trên đĩa, những truy vấn tối ưu nào để chạy với nó, lập chiến lược lập chỉ mục, v.v.
Kỹ sư toán học sẽ được ký hiệu Big-O. Một kỹ sư sẽ xem xét các thuật toán và cách tối ưu hóa chúng. Tác động hạ nguồn (kế hoạch năng lực) là mối quan tâm thứ yếu đối với hiệu quả của ứng dụng. Tuy nhiên, nếu năng lực được đưa ra một yêu cầu trả trước, thì nó sẽ có được sự xem xét thích hợp.
Một số người trong chúng tôi đóng cả hai vai trò và do đó chúng tôi đã tạo ra một phân khúc thích hợp là một nhà phát triển ứng dụng dba của công ty.
BTW: làm ơn lấy cái này với một hạt muối vì đó chỉ là ý kiến của tôi.
Nó hoàn toàn phụ thuộc vào sự phân chia công việc tại một tổ chức và trách nhiệm của mỗi người. Nhưng chúng chỉ là nhãn hiệu; ai đó có tiêu đề 'kỹ sư phần mềm' tại một công ty có thể là 'lập trình viên / nhà phân tích' tại một công ty khác hoặc thậm chí là 'lập trình viên hệ thống', v.v. Không có ranh giới cứng giữa hai công ty.
Ở nơi tôi làm việc, 'kỹ sư phần mềm' có xu hướng là người thực hiện cả thiết kế và triển khai thực tế và chúng tôi không có ai có tiêu đề 'DBA'; Các tác vụ loại bảo trì thường là DBA sẽ quay trở lại với 'quản trị viên hệ thống' chung, dựa trên hướng dẫn mà 'kỹ sư phần mềm' đã đưa ra cho họ.
Trong những gì cá nhân tôi nghĩ là một trường hợp tốt nhất, bạn sẽ chia thiết kế thành nhiều phần:
Và sau đó là các nhiệm vụ loại bảo trì:
Đối với hầu hết những điều này, chúng không phải được thực hiện bởi một DBA; nó có thể được thực hiện bởi một kỹ sư phần mềm hoặc trong trường hợp một số nhiệm vụ bảo trì, một quản trị viên hệ thống.
Nếu bạn có người ở cả hai vai trò, bạn có thể yêu cầu họ hợp tác và thiết kế và điều chỉnh (cái mà họ gọi là xây dựng 'thiết kế xây dựng') hoặc nếu đó là một công việc gấp rút, bạn có thể giao các nhiệm vụ khác nhau giữa hai. Bạn cũng có thể có những người khác tham gia: một 'kiến trúc sư phần mềm', 'kiến trúc sư dữ liệu', một nhà lưu trữ, các lập trình viên khác nhau, quản trị viên hệ thống, quản trị mạng, bảo mật, v.v.